Brevet FR2086108A1 — publié le 19711231

La présente invention concerne un nouveau registre à décalage et des dispositifs de commande pour obtenir une mémoire tampon pour canal trôs efficace. Chaque étage de cette mémoire tampon possède un indicateur signalant la condition "vide" ou "pleine" de cet étage. Chacun des étages comporte une 5 bascule de type à maintien de polarité, c'est-à-dire, la bascule d'un type qui comporte une ligne d'entrée de données et un dispositif d'enclenchement/ restauration qui, lorsqu'il est enclenché, entraîne le passage des données à travers l'étage comme si l'étage était un amplificateur ou un circuit logique, et qui, lorsqu'il est restauré, entraîne l'enclenchement de la bascule à la 10 valeur binaire qui existe à la ligne d'entrée des données à l'instant où se produit la restauration ou la condition de maintien. Ainsi, si plusieurs bascules sont connectées comme registres à décalage et si des données sont emmagasinées dans le premier étage Cet par conséquent apparaît à sa sortie), ces données circuleront à travers tous les étages successifs à bascules si 15 toutes sont dans l'état d'enclenchement. Pour transférer les données d'un premier étage à un étage suivant quelconque, il est seulement nécessaire d'appliquer, à l'étage choisi, une impulsion de restauration puisque les données sont déjà appliquées à l'entrée et en fait l'oblige à avoir un état logique correspondant à l'état d'entrée des données de cet étage. Cependant, 20 il n'est pas possible de transférer les données d'un étage à l'étage suivant si un étage suivant est plein, c'est-à-dire, s'il possède des données emmagasinées. Les données ne peuvent pas être transférées dans un étage à partir d'un étage précédent qu'au cours du cycle suivant le cycle qui l'a vidé. Avec ce registre à décalage amélioré, utilisé comme mémoire tampon, 25 et avec l'application des dispositifs de commande adéquats, on pourra atteindre des vitesses maximum de données entre les dispositifs E/S rapides (par exemple des mémoires à disques) et la mémoire principale du processeur» Des données reçues d'un dispositif E/S devant être transférées à la mémoire principale peuvent être acceptées dans le premier étage de la mémoire 30 tampon avant que le processeur ait déterminé l'adresse dans laquelle cette donnée doit être emmagasinée. Ceci est particulièrement utile pour améliorer l'efficacité des opérations de chaînage de données. Pendant les opérations de chhaînage de données, la mémoire tampon améliorée peut être compartimentée c'est-à-dire, divisée en deux moitiés, de sorte que la dernière partie des 35 données qui doivent être transférées à la mémoire puisse être maintenue dans les derniers étages de la mémoire tampon tandis que la première partie des données qui doivent être envoyées à une adresse complètement différents qui n'est pas connue, peut être reçue dans les étages précédents de la mémoire tampon et maintenue à ces endroits jusqu'à ce que le processeur soit 40 prêt à transférer les nouvelles données de la mémoire tampon à la mémoire 71 13020 2 2086108 principale. Les dispositifs à canaux simples sont bien connus dans l'art antérieur [par exemple dans le brevet américain n° 3 411 144 déposé le 26.4.66 par la demanderesse)et seront décrits seulement très brièvemebt. Les opérations des 5 canaux simples sont réalisées par l'intermédiaire de circuits à canaux simples,, les circuits CPU et des routines de micro-programmes. Dans la réalisation préférée, il y a quatre canaux simples et les mêmes routines de micro-programmas à canaux simples sont utilisées dans les quatre canaux simples. Par exemple, une routine unique "départ du micro-programme E/S" est utilisée par les quatre 10 canaux simples. L'adresse du canal précisée par l'instruction"départ de E/S" détermine le canal auquel s'applique la routine. De même, lorsqu'une fonction de chaînage de données ou de chaînage de commandes est réalisée, le canal qui demande la fonction est celui commandé par le micro-programme ds chaînage. A chaque panai est alloué quatre mots de la mémoire locale pour l'em-15 magasinage de l'information de l'opération en cours. Par exemple, le canal simple 2 possède quatre registres de mots de mémoire locale G2D, G2C, G2M, G2W qui lui sont alloués. De plus, à chaque canal 1 est attribué un mot de mémoire locale pour l'information de liaison à l'emplacement 3F et les canaux 2, 3, et 4 partagent un mot commun à l'emplacement 3E (non représenté) pour leur 20 information de liaison. L'information de liaison du canal simple est retenue dans la mémoire locale pendant une interruption du déroulement du chaînage de commandes ou du chaînage ae données. Parce que les canaux 2,3 et 4 partagent un mot commun pour l'information de liaison, seul un de ces canaux peut exécuter une inter-25 ruption de déroulement à la fois. Lorsqu'une opération d'interruption E/S est demandée par un canal simple, la demande est envoyée au CPU et est réalisée seulement à la fin de l'exécution de l'instruction en cours. L'ordre de priorité du traitement des interruptions E/S est le canal 1, le canal 2, le canal 3, puis le canal 4. Le traite-30 ment de l'interruption E/S entraîne l'emmagasinage du CSM (mot état du canal) et le chargement du nouveau PSW E/S (mot état du programme). Un ou plusieurs CCW (mot de commande de canal) établissent le programme du canal qui dirige les opérations de canal. Chaque CCW renferme le code de commande, l'adresse des données, un compte et des bits drapeaux. 35 Des cycles partagés du canal simple sont utilisés pour le transfert des données. Les fonctions réalisées pendant un cycle partagé sont commandées par un des quatre mots de mémoire de commande à micro-programme qui sont réalisés par circuits plutôt que dans la mémoire de commande. Une opération de mot d'emmagasinage à cycle partagé est mise en route par une demande par le canal 40 qui demande un service. Le CPU exécute la demande à un moment autre que pendant 71 13020 3 2086108 la premier cycle d'un met d'smœagasinaga, Les quatre mots d'emmagasinage à cycles partagés simples fournissent les fonctions suivantes : 1/ (Saut) - le compte du CCW en cours est décrémenté de un i l'adresse n'est pas modifiée ; et aucune donnée n'est transférée dans 5 ou à partir de la mémoire principale. £2J signai d'entrée - marche inverse -le compte du CCW en cours «x c décrémenté par le nombre d'octets qui sont transférés et l'adresse du CCW an cours est décrémentée d'une valeur égale au nombre d'octets transféras pour chaque cycle partagé, d'entrée marche inverse. Le nombre choisi a'cctets entre un et quatre est placé dans la mémoire 10 à l'emplacement précisé par l'adresse du CCW en cours avant que la mise à jour de l'adresse ne soit réalisée.(3]- signal d'entrée mardis directe-le compte du CCW en cours est décrémenté et l'adresse du CCW en cours est incré-mentie par une valeur correspondant au nombre a'octets transférés et les octets de données sont transférés dans la mémoire principale à l'emplacement 15 précisé par l'adresse du CCW en cours avant la mise à jour de l'adresse. (4) signal de sortie - le compte du CCW en cours est décrémenté et l'adresse du CCW en cours incrémentée d'une valeur correspondant au nombre d'octets transférés et les octets de donnée sont transférés de mémoire principale précisée par l'adresse du CCW en cours avant la mise à jour de l'adresse. 20 La mémoire tampon de mot pour canaux simples, est telle qu'elle demande moins d'accès à la mémoire principale pendant les opérations de transfert de données par canaux simples. Ainsi, l'engorgement des accès à la mémoire principale entre les opérations £/S et celles du CPU diminue. Cette caractéristique est particulièrement evsntageuse dans des systèmes où deux CPU ont 25 accès à la même zone de la mémoire principale. Il est cependant très utile d'améliorer aussi les performances des systèmes n'ayant qu'un seul CPU. Le passage classique ;: Par exemple, on supposera que l'octet zéro (l'octet d'ordre supérieur, et les octets 1, 2 et 3 du mot ont été reçus à partir de l'interface E/S et décalés respectivement dans les positions B3-B0 inclus de la mémoire tampon 367. Un cycle partagé est mis en route pour emmagasiner ce mot, le contenu 40 de B3-BÛ est envoyé dans l'assembleur marche directe-inverse qui redispose 71 13Q2Ô 4 2086108 les octets de sorte que les données se présentent sur 1s bus SDBT 4% l'unité â'emmagasinage 1 dans l'ordre correct. Pendant les cycles partagés d'entrée marche inverse, les données dans les étages B3- BO sont dans l'ordre correct et en conséquence ne sont pas réorganisés pour se présenter sur les lignes 5 SDBI. Pendant les opérations de sortie E/S, les données sont transférées de la mémoire principale dans les positions GR, B6, B5 et B4 de la mémoire tampon par une opération à cycles partagés. Les données sont alors décalées vers la droite (figure 1) à travers les circuits de la mémoire tampun. Chaque 10 octet qui est accepté par le registre de sortie GO «st transféré à 2'interface E/S pour être transmis au dispositif périphéï iqva choisi et un neuve; octet est décalé dans GO à partir de l'étage BQ. La mémoire tampon pour canaux simples et ses circuits de commande associés sont représentés ds façon schématique sur la figure 1 st sont reoré-15 sentés en détails sur les figures 2s - 2j. Se référant d'abord à la représentation schématique de la figure 1, on verra que la mémoire tampon 367r associée au canal 1, comprend huit étages, le premier étage étant GR et les étages suivants étant B6 - BO respectivement. La sortie du dernier étage BO est connectée auregistre GO 366 dont la sortie est constituée par le bus de sortie 20 CH1BQ du canal simple 1. Les données reçues des dispositifs périphériques sur le bus CH1BI de 1'interface E/S sont appliquées à l'étage d'entrée GR. Le bus transmet un octet à la fois et l'étage GR (et tous les autres étages) possèdent par conséquent 6 bits de donnée et un bit de parité. L'assembleur 368 traitant quatre octets (un mot) à la fois est représenté 25 avec ses entrées connectées aux étages B3, B2, 31 et BO respectivement. Sa sortie est connectée à l'assembleur externe. L'opération E/S d'entrée entraîne par conséquent le transfert des données dans GR, octet par octet un décalage an série à travers la mémoire tampon 367 vers les étagns B3- BO et un transfert ultérieur en parallèle à la mémoire principale par l'intermédiaire de l'assem-30 bleur 368. Les opérations ds sortie E/S entraînent las transferts de données de la mémoire principale aux étages GR, 36, B5 et 34 par l'intermédiaire de lignes da bus d'entrée axterne EBIQ - EBÎ3, inclus. Les données sont alors décalées à travers les étages ultérieurs da la mémoire tampon 367 et finalement 35 transmises 5 l'interface E/S par 1'intermédiaire d'un registre de sortie GO un octet à la fois. La mémoire tampon 367 est caractérisés par les points suivants ; (1) Elis sst composés de bascules d'une façon telle qu'un octet de données peut êtrs transféré à l'étags suivant, où altsrnativemsnt à l'étags 40 qui suit l'étage suivant ou, alternativement, peut ne pas être transféré du 71 13020 5 2086108 tout, selon l'état plein ou vide des étages suivants au moment où se produit le décalage ou ls transfert, permettant des vitesse maximum d'entrée et de sortie de données. (2) Avec cette conception particulière du registre à décalage, des données 5 peuvent être justifiées à droite dans les étages de la mémoire tampon de sortie B3, B2, B1 et BO j c'est-à-dire que l'octet 0 du mot à quatre octets à transférer du dispositif E/S dans la mémoire principale peut être décalé et maintenu dans la position de la mémoire tampon BO. jusqu'à un certain temps ultérieur, l'octet 1 de ce mot peut être décalé et maintenu dans l'étage 10 B1, et à un temps ultérieur, l'octet 2 dans l'étage B2, et finalement l'octet 3 dans l'étage B3. C'est seulement lorsque tous les octets à transférer pendant un cycle partagé sont finalement rassemblés dans les étages B3 à BO, que se produit un cycle partagé simple pour transférer le mot à la mémoire principale. 15 (3) La possibilité du registre pour ne pas décaler des données ou autre ment pour décaler les données d'une place ou de deux places à droite pendant un cycle donné comme décrit ci-dessus en (1) et la possibilité de justifier à droite comme décrit dans (2) ci-dessus, fournit les vitesses maximum d'entrée de données. 20 (4) Oes moyens sont aussi prévus pour compartimenter la mémoire tampon pendant les opérations de chaînage de données pour obtenir une meilleure efficacité ds l'opération. Plus particulièrement, pendant chaque opération de chaînage de données, lorsque le dernier octet de données demandé par le mot de commande de canal est appliqué à l'étage de la mémoire tampon d'entrée 25 GR, des circuits de commande (décrits ci-dessous) empêchent d'autres octets de données d'être reçus par la mémoire tampon 367 même si le dispositif connecté au canal est prêt à envoyer des octets supplémentaires. Dès que le dernier octet de données pour le mot de commande de cours en cours est placé dans la position correcte dans les étages B3-B0, la mémoire tampon 367 est 30 compartimentée, c'est-à-dire, que le dispositif E/S qui est connecté au canal est à nouveau libre pour transmettre des données aux étages GR - B4, inclus ; mais jusqu'à ce qu'il se produise un fait nouveau, aucune donnée nouvelle ne peut être transférée aux étages B3 - BO inclus. Cette donnée peut être reçue dans les étages GR - B4 inclus, même si l'adresse pour les nouvelles données 35 n'est pas encore connue, grâce à quoi on obtient des performances améliorées. Cette caractéristique n'était pas possible dans les dispositifs pour canaux antérieurement connus possédant des mémoires tampons. Lorsque toutes les données du premier mot de commande de canal ont été transférées à la mémoire, que le mot de commande de canal suivant est prêt et que le processeur est 40 prêt à transférer les nouvelles données, on supprime la compartimentation per 71 13020 6 2086108 mettant aux données dans les étages GR-B4 de la mémoire tampon de se dâsaler dans les étages B3 - BO pour être transférée à la mémoire principale. Certains des circuits de commande associés à la mémoire tampon 367 seront maintenant décrits en détails en se référant directement à la représentation 5 schématique de la figure 1. Chacun des étages de la mémoire tampon GR - BO inclus a respectivement une bascule GRF à BFO inclus, associée qui indique si l'étage associé est vide ou plein, c'est-à-dire s'il y a ou non des données emmagasinées dans l'étage. Lorsqu'un étage particulier est plein sa bascule GRF - BFO associée sera enclenchée à son état logique 1. 10 Une seconde bascule GRP - BPQ est associée à chacune des bascules "plei nes" GRF - BFO, inclus. Les bascules BP, associées au circuit logique adéquat, déterminent les positions auxquelles les données peuvent être transférées dans la mémoire tampon et aussi quelles sont les bascules qui doivent être enclenchées à leurs états logique 1. 15 Les portes d'emmagasinage de données SD6 - SDO sont associées aux bas cules "pleines" BF6 - BFO et sont commandées pendant le temps d'enclenchement BF pour entraîner le verrouillage des nouvelles données dans l'étage correspondant de la mémoire tampon 367. Cette nouvelle donnée sera maintenue seulement si la bascule BF correspondante est commutée pendant le temps 20 BF à son état logique 1. Avant d'expliquer avec plus de détails, le décalage des données à travers la mémoire tampon d'un étage à l'autre, on examinera le fait que les bascules à maintien de polarité sont utilisées pour emmagasiner chaque bit de donnée dans chaque étage. Comme indiqué précédemment, la bascule à maintien 25 de polarité possède la caractéristique que, dans son état de maintien, l'état 1 ou 0 logique de la bascule est fixé mais que, dans son état suivant, la bascule agit comme un amplificateur transmettant les données de l'entrée à la sortie. Par conséquent, si on suppose que les étages B6, B5 et B4 sont vides, c'est-à-dire qu'ils ne contiennent aucune donnée, chacune des bascules 30 utilisées pour emmagasiner un bit de donnée dans chacun des étages B6 à B4 servira dans l'état suivant, d'amplificateur pour faire passer des données de l'entrée à la sortie. Ainsi, si des données sont emmagasinées dans l'étage GR, ces données apparaissant à son bus de sortie s'écouleront vers le bas de la mémoire tampon 367 à travers les étages B6, B5 et B4 et par conséquent 35 apparaîtront à l'entrée de l'étage B3. Si, à n'importe quel moment, une impulsion de maintien est appliquée à l'étage B6, elle bloquera l'étage B6 avec les mêmes données que celles apparaissant à la sortie de l'étage GR. De même, un des autres étages B5 B4 ou B3, placé dans la condition de maintien, provoquera l'emmagasinage des données qui seraient les mêmes que celles 40 apparaissant à la sortie de l'étage GR. 71 13020 7 2086108 C'aat ratiti possibi" ' ::s îJç is ras suis se iyps à rasirriisn de polarité utilisée dans un registre, à décalage qui permet le transfert des données d'un étage donné à tout étage suivant (en tenant compte des limitations de temps) conformément à t plan prédéterniné. Ainsi» un décalage maximum de 5 un, deux, trois etc.,. cJ -.-.jes pendant un oysla à déealags sst possible' à l'intérieur des limitatif :s des vitssss am circuits et du tsmps de cycle alloué au décalage, Dans la réalisation préférés, un dscalaga n\a::imurn de deux étages est possible. On devra se r-appuis cependant, que le décalage peut se produire 10 seulement iursque l'étag," suivant est vide et que le décalage de deux étages est possiule seulement le:sque les deux étages suivants sont vides. Lorsque l'étage suivant est plei.;,- aucun décalage n'est possible. Les figures 4 et 5 représentent le mouvement des données à travers la mémoire tampon 367. L'oscillateur 36 commande le dispositif logique pour produire les im-15 pulsions BF et BP utiiisés-i pour effectuer le transfert des données entre les positions de la mémoire tonpon comme représenté dans les figures 3 et 7. Les impulsions à décalag-s 3F et BP se répètent lors de chaque cycle d'oscillateur de 9Q ns et le temps nécessaire pour déplacer un octet de donnée à travers les huit positions de la mémoire tampon n'est que de quatre impul-20 sions d'oscillateur, comme représenté dans la figure 4. En partant à la seconde impulsion, plus d'un octcc peu-5- être déplacé comme représenté dans la figure 5. Les bascules de bit T' sent enclenchées pendant la période d'enclenchement de BF, Chaque bascula BF oossède sa bascule BP correspondante qui est enclenchée au niveau de i; oas-cule BF à la fin du temps "Enclencher BP" juste 25 avant le commencement de An période d'enclenchement de BF. C'est le signal de sortie des bascules SP ~ui cétemine le nombre d'étages,s*il y en a dans lesquels les données doiv; :it être décalées. Il détermine aussi si oui ou non les bascules BF respective- seront enclenchées. Comme on le verra par la suite, des données peuvent avancer de deux étages si la seconde position 30 précéoant l'étage de destiiation possède sa bascule BP enclenchée à sa condition logique 1 (sa bascul; BF est enclenchée et son étage de la mémoire tampon est plein), et qu;L la Pois l'étage de destination et son étage précédant ont leurs bascules 5r restaurées 1étages videsUne avance d'un étage est réalisée si les basculas E:- de 1!étage précédent at de l'étage suivant 35 sont enclenchées. Une ba^ile est restaurée lorsque sa bascule respective BP est enclenchée et que la bascule BP suivante est restaurée indiquant que les données peuvent se déplacer d'une position. Des circuits supplémentaires sont prévus pour le contrôle des états logiques ou des bascules GRF à BFO inclus de la mémoire tampon. 40 Pendant une opération E/S de sortie, les bascules mémoires tampon GRF. 71 13020 8 2086108 BPS, BF5 et BF4 sont commandeas conformément aux bits drapa»jx de la râmoire 0-3 provenant des circuits logiques 1000 qui déterminent lequel des octets doit être transféré de la mémoire principale dans les étages de la mémoire tampon GR, B6, B5 st B4. 5 Pour une opération E/S d'entrée, la bascule mémoire-tampon GRF est enclenchée par un signal de service (qui sera décrit par la suite] lorsque l'octet de donnée d'entrée est lu dans GR. Les bascules mémoire-tamcon BF2, BF1 et BFO sont enclenchées conformément aux deux bits d'adresses d'ordre inférieur M3, 6, 7 de l'adresse de destination de la mémoire principale lors-10 que moins d'un transfert de mot complet doit être effectué. Les symboles telles que f13. 6,7 sont utilisées dans un but de simplicité, ce symbole représentant les bits 6-7 de l'octet 3 de la sortie du registre 11. Ces deux bits d'adresse d'ordre inférieur sont introduits de force dans un registre sxter-ne GDL par l'intermédiaire de EBI 3.6,7 et appliqués aux circuits de décodage 15 1001, 1002 et 1003. Les bascules mémoire tampon BF2, BF1 et BFO sont sélectivement mises de force à leur état logique 1 lorsqu'on désire empêcher les octets de données d'être décalés dans une ou plusieurs des positions de mémoire tampon correspondantes B2, 81 et B0. De plus, le transfert réel des octets des étages de la mémoire tampon d'ordre inférieur B3-B0 à la mémoire 20 principale est commandé par les bits drapeaux provenant du circuit 1000 même si les données ont été introduites dans les étages de la mémoire tampon B3-B0. Par conséquent, les signaux de sortie des circuits logiques 90 sont aussi appliqués aux circuits de sélection d'octet (non représentés) de la mémoire principale 1b pour déterminer lequel des quatre octets sera emmagasiné pendant 25 l'opération d'écriture. Un registre de compte d'octets GB de la mémoire tampon emmagasine une valeur binaire égale au nombre d'octets de données dans les étages de la mémoire tampon GR- B4. Le compte de la mémoire tampon est utilisé seulement pour les opérations d'entrée, lorsque le nombre d'octets dans la mémoire 30 tampon est fonction d'une condition de compte nul j c'est-à-dire lorsque le dernier octet de données à introduire dans la mémoire utilisant le même mot de commande de canal a été introduit dans l'étage GR de la mémoire tampon 3R7. Chaque fois que les étages d'ordre inférieur B3 - BC de la mémoire tampon 367 ont leurs données transférées à la mémoire principale par l'in-35 termédiaire de l'assembleur 368, les bits de sortie GRF, BF6, BF5 et BF4 sont envoyés dans 18 registre GB, le nombre d'octets de donnée emmagasinés dans les étages de la mémoire tampon correspondante GR, B6, B5, constituant le compte. Puisque les données dans les étages B3-B0 ont déjà été transférées, ils ne pénètrent pas dans le compte. Ultérieurement à l'entrée de ce compte 40 initial dans le registre GB, le circuit incrémenteur 94, dont les entrées sont 71 13020 9 2086108 connectées à la sortie du regitre GB ajoute 1 au compte dans le registre GB et renvoie le compte incrémenté au registre GB chaque fois qu'un octet est introduit dans l'étage de la mémoire tampon GR. De cette façon, le registre GB tient un compte continu du nombre d'octets dans les étages de la mémoire tampon 5 GR - BO j et lorsque ce compte égale le compte d'octets CCW, l'étage GR ne peut plus accepter de données supplémentaires. Plus particulièrement, on introduit dans un registre externe GCL (par l'intermédiaire de EBI2, 3) le compte correspondant au nombre d'octets qui doivent encore être reçus pendant l'exécution de l'opération E/S avec le même 10 mot de commande de canal, c'est-à-dire, le compte d'octets indiqué par le CCW. Cependant,puisque seulement huit étages sont prévus dans la mémoire tampon 367, la valeur la plus élevée que le registre GCL a besoin d'emmagasiner est la valeur binaire 1000 (8 décimal]. Le compte dans le registre GCL est comparé au compte dans le registre GB et lorsqu'un circuit de comparaison 195 15 indique une égalité, la transmission de données supplémentaires dans la mémoire tampon 367 est empêchée. Les détails concernant la mémoire tampon 367 pour le canal 1 et ses circuits de commande seront maintenant décrits avec plus de détail sur les figures 2a - 2j. Les figures 2h et 21 représentent la mémoire tampon 367, le 20 registre de sortie 366 et l'assembleur marche directe-inverse 368. Le transfert des données de la mémoire principale dans les étages de la mémoire tampon B4, B5, B6 et GR se fait par l'intermédiaire des câbles externes de bus entrée EBIQ, EBI1, EB12 et EB13 des circuits ET 68, 61, 62, 63 respectivement, et des circuits OU 64, 25-27 respectivement. 25 Les données reçues sur le canal CH1BI du bus d'entrée sont appliquées à un receveur de ligne 40 dont le signai de sortie est envoyé à l'étage GR par l'intermédiaire d'un circuit ET 30 et d'un circuit OU 27. (En fait le circuit ET 63 et les autres parties de la mémoire tampon représentent 9 de ces circuits, un pour chaque bit de donnée, et un pour le bit de parité}. 30 Les données dans l'étage GR sont envoyées dans l'étage B6 par les circuits ET 69. Les données provenant de l'étage B 6 et des étages suivants sont transférés dans leurs étages suivants par l'intermédiaire des circuits ET 32-37 inclus. Les étages GR - BO inclus comportent aussi des circuits ET 41-48 inclus 35 qui sont utilisés pour les parcoursreliant la sortie à l'entrée de chaque étage. Ces mêmes circuits ET, 41-48 inclus sont aussi utilisés pour restaurer les bascules de chaque étage. Les bus de porte dans GR des lignes de signaux de porte complémentaires et le bus de porte dans GR sont connectés respectivement aux entrées des circuits ET 63 et 30 pour déterminer lequel des 40 deux bus CH1BI ou EBI3 sera conditionné dans l'étage GR. L'enclenchement et 71 13020 10 2086108 la restauration de l'étage GR est réalisé par l'intermédiaire des circuits ET 50 et 51 et d'un circuit OU 52. Les entrées du circuit ET 50 sont constituées par la ligne "octet 3 de destination externe" provenant des bascules d'octets de destination externe (non représentées) et par les lignes X et Y 5 provenant des circuits d'adresse des registres externes qui choisissent l'étage de la mémoire tampon GR pour les transferts de données par l'intermédiaire de EBI3. Une entrée. - enclencher le bus dans GR. au circuit ET 51. a aussi un signal qui lui est appliqué lorsque les données doivent être transférées de EBI3 à l'étage GR. Un circuit inverseur 53 transmet le signal 10 de sortie du circuit OU 52 aux entrées des circuits ET 63 permettant d'établir un retard de temps entre l'application aux entrées des circuits ET 41 de l'impulsion de restauration provenant de la sortie du circuit OU 52 et la suppression de l'impulsion d'enclenchement aux circuits ET 63 et 30 provenant de la sortie du circuit inverseur 53. 15 Pendant les cycles de sortie partagés, la ligne "SX1 partagé. 2" et la ligne "2T" sont appliquées au circuit ET 60. Une des lignes de sortie du circuit ET 60 transmet un "signal lecture à partir de la mémoire" qui est appliqué aux entrées des circuits ET 62. 61 et 66 pour transmettre des signaux de porte aux circuits ET lorsque les données sont prêtes sur le bus 20 EBI dans le second cycle de l'opération à cycles partagés. De façon à placer les données de EBI2, EBI1 ou EBIQ dans les étages B6. B5 et B4. il est aussi nécessaire d'appliquer des signaux de zéro logique aux lignes respectives-enclencher B6 -enclencher B5 et - enclencher B4. Ces signaux zéro logique sont inversés par des circuits inverseurs 65. 66 et 67 respectivement, et appliqués 25 dans leur condition logique 1 aux circuits ET 69, 32 et 33. Ces signaux logiques 1 provenant des circuits inverseurs 65, 66 et 67 sont aussi appliqués aux circuits ET 62, 61 et 66 par lesquels ils sont utilisés pour envoyer les données dans les étages B6, B5 et B4 de l'a mémoire tampon alternativement par l'intermédiaire des câbles de bus d'entrée externes EBI2, EBI1 st EBIO ou 30 par une série de décalage d'un étage à l'autre à travers le registre pendant les opérations d'entrée des données. Lorsque des données doivent être transférées par l'intermédiaire des câbles de bus d'entrée externes EBI2, EBI1 et EBIO, le signal de sortie complémentaire "inhiber le décalage" provenant du circuit ET 60 est appliqué aux circuits 69, 32 ou 33 pour empêcher tout 35 transfert de données d'un étage à l'étage suivant. Les signaux de sortie des étages B0 - B3 de la mémoire tampon 367 sont amenés respectivement à l'assembleur 368 par l'intermédiaire des câbles 70 -73 respectivement. Le câble 70 est connecté aux circuits ET 74 et 81 de l'assembleur 366. Les câbles 71, 72 et 73 sont connectés respectivement aux 40 circuits ET 76, 79 et 77, 78 et 75, 80 respectivement. Lorsqu'un transfert 71 13020 11 2086108 rie donnée* cans le sens direct doit êtra effectue vars ia .-rémoire, un signal de porte est appliqué sur la ligne SX1 antrée directe entraînant l'application des signaux se trouvant sur les câbles 70 - 73, respectivement sur les câbles de l'assembleur SX1 0-3 c'j bus 363 par l'intermédiaire des circuits ET 74, 5 76,78 et 80 respectivement ; et des circuits OU 82, 83, 84 et 85 respectivement. Lorsque ces données doivent être transférées à la mémoire principale dans le sens en inverse, un signal de perte est appliqué sur la ligne "SX1 entrée inverse" les signaux des câbles 70, 71, 72 et 73 sur le bus 369 par les câbles de l'assembleur SX 3-0 par l'intermédiaire des circuits ET 81, 79,77 et 75 10 respectivement et de leurs, circuits OU associés 85, 84, 83 et 82. Les figures 3e, 3f ai 3g représentent, en détail, les bascules GRF et BPS à BFO et leurs circuits correspondants. Chacune des bascules GRF, BF6, BF5 et BF4 ont des lignes respectives de sortie positiveset négatives qui, dans un but de compréhension de la présente application, sont appelées GR -15 GR, BF6, - BF6, BF5, - BF5, BF4, - BF4. Seulement les signaux de sortie positifs (ou 1 logique) sont nécessaires pour les bascules BF3, BF2, BF1 et BFO. Les signaux de sortis positifs des bascules de mémoire tampon BF6 - BFO inclus sont couplés (1) aux entrées de leurs circuits DU respectifs SD6 à SD0, (2) à leurs bascules respectives BP6 à BPO et aux circuits d'entrée du re-20 gistre GB illustrés de façon plus approfondie sur la figure 2c, Les signaux d8 sortie négatifs - BF6, - BF5, - BF4 et - GR sont aussi connectés aux circuits d'entrée du registre GB. Chacune des bascules GRP à BPO inclus, émettent des signaux de sortie positifs et négatifs identifiés par GRP,- GRP et, BP6 - BP6, BPO, - BPO. Les 25 signaux de sortie positifs et négatifs des bascules GRP à BPO inclus sont connectés aux circuits logiques appropriés des étages précédant et suivant l'étage avec lequel ils sc-nt associés pour commander l'enclenchement de leurs bascules "pleines?. Toutes les lignes d'interconnexion entre les sorties des bascules GRP à BPO n'ont pas été connectées à leurs circuits logiques respec-30 tifs parce que cela créerait une complexité inutile. Il est simplement nécessaire de se référer aux entrées des différents circuits logiques pour déterminer de quelle bascula elles proviennent. Une description détaillée de l'un des étages B5 sera maintenant décrite en détail. Les autres étages fonctionnent essentiellement de la même façon. 35 Les bascules BF5 et S?5 et le circuit OU SD5 sont associés à l'étage 35. La bascule BF5 comporte les circuits ET 1Q1a - 101c et un circuit OU 101d. Les circuits logiques 100 et 102 sont utilisés pour enclencher BF5 à son état logique 1 et le restaurer respectivement. Le circuit logique 100 comporte des circuits ET 100a et 100b et un circuit OU 100c. Le circuit ET 100a 40 sera commandé pour enclencher la bascule BF5 si l'étage précédent B6 est 71 13020 12 2086108 "plein" [BPS « 1] et l'étage suivant B4 est "plein" (BP4 » 1), Ainsi» les signaux de sortie réels (BP4, BP6) des bascules BP4. BP8 sont appliqués aux entrées du circuit ET 100a. En supposant que les deux conditions soient rencontrées, le circuit OU 100c applique un signal à une entrée du circuit ET 101b. 5 Au moment de l'impulsion d'avancement, un signal est appliqué à la ligne "Enclencher BF" qui commute le circuit ET 101b de la bascule BF5 à son état logique 1. De même, BF5 sera enclenché à son état logique 1 si au moment de l'impulsion d'avancement, les conditions du circuit ET 100b sont satisfaites ; c'est-à-dire que l'étage GR est "plein" (GRP =1), l'étage B5 est "vide" 10 t- BP5 * 1) et l'étage BB est "vide" (-BP6 «1). Cas trois signaux d'entrée du circuit ET 100b enclenchant la bascula BF5 à son état logique 1 lorsque l'impulsion d'avancement suivante est appliquée à la ligne "Enclencher BF". La bascule BF5 est restaurée par les circuits du canal 1 lorsque le signal logique 1 disparaît de la ligne "canal ou restauration chaînage". 15 La bascule BF5 est aussi restaurée lorsque les conditions d'entrée au circuit ET 102 sont satisfaites, c'est-à-dire lorsque l'impulsion d'avancement est appliquée à la ligne "Enclencher BF", l'étage B4 est"vide"(-BF4 = 1) et l'étage B5 est "plein" (BPS * 1). SI l'étage B5 est "plein" et l'étage B4 est "vid8" au moment où l'impulsion d'avancement est appliquée, les données sont 20 transférées et par conséquent l'étage B5 devient "vide". Les autres étages B6-B0 sont généralement identiques à l'étage B5 et n'ont pas besoin d'être décrits en détail. Cependant les étages B4 et B3 demandent une explication supplémentaire due à leur compartimentation. La ligne complémentaire-Compartimentation est efficace lorsqu'une compartimen-25 tation de la mémoire tampon est nécessaire pour empêcher l'enclenchement de la bascule BF3 par l'intermédiaire des circuits ET 105 et 106. Elle empêche aussi l'enclenchement de la bascule BF2 lorsque l'étage B4 est plein (BP4 = 1) et que les étages B2 et B3 sont vides (-BP3 ■ 1, - BP2 = 1) par l'intermédiaire du circuit ET 105. 30 Plus particulièrement, la ligne - compartimentation ■ 0 lorsqu'une com partimentation est nécessaire. Son signal d'entrée aux circuits ET 105 et 106 bloque les circuits ET. Les sorties positives 107 et 108 des circuits ET 105 et 106 sont égaux au 0 logique bloquant ainsi les circuits ET d'entrée 110a, 110b de la bascule BF3. La ligne 107 bloque le circuit ET 111b des 35 circuits logiques d'entrée pour enclencher la bascule BF2, ce circuit 111b est celui qui provoque l'enclenchement de la bascule BF2 lorsque les entrées BF4 et - compartimentation au circuit ET 105 sont à leurs états logiques 1 et les entrées -BP3 et -BP2 au circuit ET 111b sont à leurs états logiques 1. La compartimentation utilise un circuit OU 112 et un circuit ET 113a pour 40 enclencher la bascule BF4 lorsque l'étage B5 est plein (BP5 » 1) même si 71 13020 13 2086108 l'âtage B3 est vide (BP3 ■ 0). Elle utilise un circuit OU 112 et un circuit inverseur ET 114 pour restaurer BF4 seulement lorsque à la fois l'étage B3 est vide (BP3 3 0) et lorsqu'il n'existe pas de compartimentation. Le signal ds sortie positif 115 du circuit OU 112 constitue un signal d'entrée au 5 circuit ET 113a st le signal de sortie négatif 107 constitue un signal d'entrés au circuit inverseur ET 114. Chacune des bascules BF6 - BF4 est aussi enclenchée par l'intermédiaire des circuits ET 120a, 101a et 121a, lorsque les données sont transférées dans les étages GR, B6 et B4 si leurs lignes d'entrée "Bit-Drapeau de Mémoire 2,1 10 et 0" sont à leurs états logiques 1. Les lignes "Enclencher BF" et le signal "Temps 225-270" constituent la seconde et troisième entrées des circuits ET 120a, 101a et 121a. Une quatrième entrée au circuit ET 120a, 101a et 121a reçoit le signal de sortie du circuit ET 122, dont les signaux d'entrée sont les lignes "cyele 2 de mémoire" et " sortie SX1." 15 Un circuit ET 123b enclenche la bascule pleine GRF de façon identique, ses signaux d'entrée étant "Enclenchsr temps BF", "temps 225-270", "enclencher bit drapeau mémoire 3", et la ligne "Enclencher GR plein" qui est le signal de sortie négative d'une bascule 124. La bascule 124 est enclenchée par les lignes de commande du canal 1 20 "signal service" et "entrée" et la ligneje sortie complémentaire "-GRP" de la bascule GRP. Lorsque la bascule 124 est enclenchée, alors elle utilise un circuit ET 123a pour enclencher la bascule pleine GRF et les données provenant de l'interface E/S (non représentées) sont bloquées dans l'étage GR. La bascule 124 est restaurée lorsque la bascule GRF est restaurée après 25 que les données aient été transférées à partir ds cette bascule. Les impulsions "Enclencher BF" et "-Enclencher BP" sont produites par l'intermédiaire des circuits ET 130, 131 et du circuit OU 132 de la figure 2f et du circuit à retard 133 (figure 2c), des inverseurs 134 et 135 et des circuits ET 136 et 137. 30 Lorsque la ligne OSC devient négative, elle est inversée par 135 et, jusqu'à 30 nanosecondes après, les deux entrées positives du circuit 137 produisent un signal de sortie positif sur la ligne "- Enclencher BF" (figure 3) et un signal négatif sur la ligne "Enclencher BF". Lorsque la ligne OSC devient positive, le circuit ET 136 produit un si-35 gnal de sortie positif sur la ligne - enclencher BP (et un signal de sortie négatif sur la ligne enclencher BP) pendant 30 nanosecondes, à ce moment le signal de sortie du circuit 134 devient négatif. Le registre GCL comporte quatre bascules 150 qui sont utilisées pour représenter les quatre bits d'ordre inférieur de la valeur du compte du CCW 40 du canal 1 placés dans la position 29 de la mémoire locale. Les bascules GCL 71 13020 14 2086108 sont enclenchées à leur valeur initiale à partir des lignes de bus d'entrée externe EB1 2.0-7 et EBÏ3. 0-7 lorsque la valeur du compte est destinée à la mémoire locale. L'entrée de la bascule GCL est mise à jour pendant chaque cycle partagé à partir des octets 2 et 3 d'un registre appelé registre Z 5 (voir figure 6b). La valeur du compte dans les bascules GCL n'est pas considérée dans le fonctionnement jusqu'à ce que sa valeur soit inférieure à 9. Pour s'assurer que les bitsd'ordre supérieur du compte ont été réduits pendant l'échantillonnage du registre GCL, tout bit d'ordre supérieur présent dans le compte dans la mémoire locale (ou dans le registre Z pendant la mise 10 à jour] introduit de force un coopte de 12 dans le registre GCL. Ainsi, comme on le voit eniétail sur la figure 2d des bits Z2.0-3 sont appliqués à un circuit OU 151. dont le signal de sortie est appliqué aux circuits OU 154 et 155 pour produire des signaux logiques 1 dans les deux bitsà'ordre supérieur 0 et 1 dans le registre GCL 150 lorsque n'importe quel 15 signal d'entrée Z2.0-3 est appliqué. Ces deux bitsd'ordre supérieur représentent un 8 binaire et un 4 binaire par lesquels une valeur ds 12 est introduite de force dans le registre GCL. De même, des bits 4-7 de l'octet Z-2 sont appliqués à un circuit OU 152 dont le signal de sortie est envoyé aux deux circuits OU 154 et 155 pour introduire 20 de force un compte de 12 dans le registre GCL lorsque n'importe lequel des bits 4-7 est dans son état logique 1. De même, les bits 0-3 de l'octet Z-3 sont envoyés aux entrées d'un circuit OU 153, dont la sortie est connectée aux circuits OU 154 et 155, pour introduire de force une valeur de 12 dans le registre GCL lorsque l'un quelconque des bits 0-3 est dans son état logique 25 1. Le bit 4 de l'octet Zr3 est appliqué seulement au circuit OU 154 par lequel une valeur de 8 sera introduite de force dans le registre GCL lorsque le bit 4 de l'octet Z3 est dans son état logique 1. Le bit 6 de l'octet Z-3 et le bit 7 de l'octet Z-3 sont appliqués directement aux entrées du registre GCL pour introduire de force les valeurs binaires de 2 et de 1 respectivement, dans 30 le registre, lorsqu'ils sont dans leurs états logiques 1. Les lignes de bit 6 de l'octet Z-3 et de bit 7 de l'octet Z-3 sont aussi envoyées comme signaux d'entrée à un circuit OU 156 et les signaux de sortie des circuits OU 154 et 155 constituent aussi des signaux d'entrée au circuit OU 156. Le signal de sortie d'un circuit OU 156 est appliqué à une bascule 157 pour indiquer un 35 compte égal à zéro lorsque le dernier mot ds donnée à transférer par un CCW a été en fait transféré. Le signal de sortie du circuit OU 156 est appliqué à la bascule 157 par l'intermédiaire d'un circuit ET 158 qui est rendu efficace au temps 2-3 pendant une opération de sortie 1 pour canal simple et un cycle 2 partagé. 40 Comme indiqué précédemment, l'autre entrée du registre GCL 150 provient 71 13020 15 2086108 des octets 2 st 3 d*entrée du bus externe.Ainsi les cita E8Ï2.Q-3 sont transmis par un circuit OU 160 à un circuit OU 163 st à un second circuit OU 164 pour transmettre des signaux aux positions de bit d'ordre supérieur 0 et 1 dans le registre GCL correspondant à une valeur de compte de 12. Les bits 5 EBI2.4-7 sont appliqués à un circuit OU 161* dont le signal de sortie est appliqué à un circuit OU 163 et 164 permettant d'introduire un compte 12 dans le registre GCL. Les bits EBI-3.0-3 sont appliqués à un circuit OU 162 dont les signaux de sortie sent appliqués aux entrées des circuits OU 163 et 164 pour provoquer l'introduction d'un compte de 12 dans le registre GCL. Le bit 10 4 de EBI 3 est appliqué au-circuit OU 163 pour provoquer l'enclenchement d'une valeur 0 dans le registre GCL lorsqu'il est dans son état logique 1. Le bit 5 de EBI 3 est appliqué au circuit OU 164 pour permettre l'introduction d'une valeur de 2 dans le registre GCL lorsqu'il est dans son état logique 1. Les bits 6 et -7 de EBI3 sont appliqués directement aux entrées du registre 15 GCL pour placer respectivement les valeurs de 2 et 1 dans le registre GCL lorsqu'ils sont dans leur état logique 1. Ainsi, le registre GCL pour son chargement initial aura une valeur binaire emmagasinée jusqu'à un maximum de 12 qui est égal à la valeur binaire des bits 0-7 de EBI2 et dBS bits 0-7 inclus de EBI3. Pendant chaque cycle 20 partagé ultérieur, le registre GCL sera mis à jour lorsque le compte dans le mot de commande de canal de la mémoire locale est mis à jour par l'intermédiaire des bus Z2 et Z3. Les bus de sortie, vrai et complémentaire, à quatre bits, GCL 0-3 Bt - GCL 0-3, auront une valeur (allant jusqu'à un maximum de 12) égale à la valeur binaire des bus Z-2, Z-3 quand ils transmettent en fait 25 le compte de mot. L'enclenchement/restauration de GCL est prévu par un circuit ET 165 et un inverseur 166. Le signal de sortie du registre GCL est comparé au signal de sortie du compteur d'octets de la mémoire tampon GB dans un circuit de comparaison 95 30 comportant des circuits OU Exclusif 170-173, inclus, dont les sorties sont connectées à un circuit Eï 174. Pendant les opérations d'entrée, ce circuit de comparaison est utilisé pour déterminer la condition réelle de compte 0 en produisant un signal ce sortie provenant du circuit ET 175, Les bits de sortie du registre GCL sont envoyés au circuit logique de 35 décodage des circuits de drapeaux de mémoire 90 (figures 2a, 2b) pour chaque cycle partagé. Lorsque les deux bitsd'ordre supérieur sont égaux à 0, les bits drapeaux de mémoire en partie commandent les octets des données transférées entre la mémoire tampon 367 et la mémoire principale et ainsi commandent les mises à jour du compte et des adresses des données. 40 Le registre GDL de la figure 2d comporte deux bascules qui représentent 71 13020 16 2086108 les deux positions de bits d'ordre inférieur de l'adresse de données du CCW pour le canal 1, placée dans le registre de la mémoire locale à l'emplacement 28. Les bascules GDL sont enclenchées par les lignes de bus d'entrée externes EBI3.6.7 lorsque l'adresse des données est destinée à la mémoire locale. Les 5 lignes de décodage X. Y externes, la ligne "Enclencher GDL", le circuit ET 180 et le circuit inverseur 181 fournissent la fonction d'enclenchement/restauration. Après le premier cycle partagé transférant des données de la mémoire principale à un circuit E/S, les bits dans le registre GDL seront placés 10 à une frontière de mots dans presque tous les cas, parce que, après le premier cycle partagé, les données devant être transférées seront sur adresse de frontière de mots. Ainsi, pendant la plupart des opérations entrée directs, la valeur dans le registre GDL sera 00 (une frontière de roots), pendant les opérations entrée inverse 11 (une frontière de mots) et pour les opérations 15 de sortie 00 (une frontière de mots). Les bits positifs et négatifs de GDL, £DL0, GDL1, - GDLO, et - GDL1 sont appliqués aux circuits de drapeaux de mémoire 90 (figure 2b) et sont appliqués aux circuits logiques 91, 92 et 93 (figures 2f, 2g) par l'intermédiaire des circuits de pré-décodage 183-184 et du câble 185. Ces bits GDL et les 20 bits entrée inverse et entrée directe entraînent l'enclenchement sélectif des bascules BF2-BF0 à leurs états "plein" par les circuits 91-93 lorsque moins de 4 octets complets doivent être transférés de la mémoire tampon 367 à la mémoire principale. Pendant chaque cycle partagé, les signaux de sortie de registre GDL 25 sont envoyés au circuit logique de décodage des circuits de drapeaux de la mémoire 90. Les bits drapeaux permettent de commander les octets transférés et les mises à jourd'adresses de données et du compte. Les circuits 90 des figures 2a et 2b comportent un registre ayant quatre bascules à maintien de polarité 200-203 inclus. Les signaux de sortie des 30 bascules 200-203 sont connectés respectivement aux entrées des bascules pleines BF4-GRF inclus. Un circuit ET 204 et des inverseurs 205-208 permettent la réalisation de la fonction enclenchement/restauration des bascules 200-203. L'enclenchement des bascules 200-2Q3 est réalisé par l'intermédiaire des circuits de décodage 210-213 respectivement, pour enclencher les bits 35 drapeaux comme représenté sur la figure 42. Certains des signaux d'entrée des circuits de décodage 210-213 proviennent des bits de sortie du registre GCL par l'intermédiaire d'un ensemble de circuits ET de pré-décodage 215-218 et des assembleurs 220-222. Les assembleurs 220-222 et les circuits de décodage 210-213 ainsi que les bascules 40 200-203 sont communs à tous les canaux simples. 71 13020 17 2086108 Les bits GCL positifs et négatifs sont décodés par des circuits ET 215-217 et appliqués aux entrées des assembleurs 220-222. Les signaux de sortie -CNT1, CNT1, -CNT2, CNT2, -CNT3 et CNT3 des assembleurs 220-222 sont couplés aux entrées des circuits des décodage 210-213 par l'intermédiaire 5 d'un câble 223. Les signaux d'entrée aux circuits 210-213 proviennent aussi des assembleurs 230-232 qui sont communs à tous les canaux simples et comprennent pour chacun des canaux des signaux de sortie du registre GDL respectif aussi bien que la ligne de commande entrée inverse. Ainsi, les assembleurs 230-232 10 reçoivent des signaux d'entrée GOLO, GOL1 st entrés inverse. Leurs signaux de sortis GOLO, - GOLO, GDL1, -GDL1, entrée inverse, - entrée inverse sont couplés aux entrées choisies des circuits 210-213 par l'intermédiaire do.. câble 223. Les bascules 200-203 sont enclenchées pour indiquer le nombre d'octets 15 concernant le transfert particulier de données de la mémoirs principale à la mémoire tampon 367 et vics-versa. Une bascule représente chaque octet du mot de données à transférer. Un seul ensemble de bascules fonctionne pour tous les quatrecanaux comme indiqué précédemment. Les bits de commande associés au canal actif sont envoyés dans le réseau de décodage décrit ci-dessus 20 pour enclencher les bascules 200-203 pour le cycle partagé en cours. Les bits drapeaux commandent les enclenchements des basculss pleines de mémoire tampon pour une opération de sortie et commandent le conditionnement des octets d'entrée de la mémoire pour des opérations d'entrée. Les bits drapeaux commandent aussi les mises à jour de compte et d'adresse de données pour 25 à la fois les opérations d'entrée et de sortie. Un décodage logique du signal de sortie du registre GOL renfermant les deux bits de compte d'ordre inférieur et le registre GDL renfermant les deux bitsd'adresse ds donnée d'ordre, inférieur déterminsnt las basculss drapeaux à enclencher. Le décodage normal et la commutation s'appuient sur le fait 30 que ces deux registres ne possèdent pas de bits enclenchés à la fois. L'exception se produit lorsque la valeur du compte de CCW initial est inférieur à 4 et elle est prise sn considération avec un conditionnement particulier (non représenté). Le compteur d'octets de la mémoire tampon et le registre GB ainsi que 35 leurs dispositifs de commande associés sont illustrés sur la figure 2c. Le registre GB comporte cinq basculss, une pour chacun des quatre bits de donnée et uns pour ls bit ds parité. Chaque bascule comporte trois circuits ET tels que 250-252 dont les signaux de sortis constituent des signaux d'entrée à un circuit OU 253. 40 Lss circuits ET tsls que 250 snclsnchent ls registre GB conformément 71 13020 18 2086108 à la valeur incrémentée de mise à jour. Les circuits ET tels que 251 enclenchent le registre GB conformément à la valeur initiale provenant des bascules mémoire tampon pleines GRF-BF4 chaque fois que des données sont transférées de la mémoire tampon 367 à la mémoire principale. Les circuits ET 252 5 permettent les fonctions de basculement. La fonction.enclenchement/restauration est réalisée par un circuit logique 254 qui reçoit le signal d'entrée "Restaurer BFO, 1,2,3, le signal "Temps BF" et le signal "Enclencher la bascule GR pleine". Le signal de sortie du circuit logique 254 est envoyé directement au circuit ET 252 et est envoyé 10 au circuit ET 251 par l'intermédiaire d'un inverseur 255. Les bits de sortie de la bascule mémoire tampon pleine (provenant des figures 2e-g) sont appliqués au circuit ET 251 par l'intermédiaire des circuits de pré-décodage 260, le circuit de décodagB 262, d'un câble 261 interconnectant les circuits 260 au circuits 262 et un câble 263 connectant les sorties des 15 circuits de décodage 262 aux entrées du circuit ET 251. Les circuits de pré-décodage 260 comportent un circuit ET 265 dont les entrées sont - GR plein et -BF 6. Un circuit ET 266 possède des signaux d'entrée -BF5 et -BF4. Deux circuits ET 267 et 268 ont des signaux de sortie qui constituent les signaux d'entrée d'un circuit OU 269. Les signaux d'entrée du 20 circuit ET 267 sont -GR plein et BF6. Les signaux d'entrée du circuit ET 268 sont GR plein et -BF6. Un circuit ET 270 comporte des signaux d'entrée BF6 et GR plein. Deux circuits ET 271 et 272 ont leurs signaux de sortie appliqués comme signaux d'entrée au circuit OU 273. Les signaux d'entrée au circuit ET 271 sont -BF 5 et BF4. Les signaux d'entrée au circuit ET 272 sont BF5 et 25 -BF4. Un circuit ET 274 possède des signaux d'entrée BF4 et BF5. Les signaux de sortie HO, -H1, H2. -L0 et L0, -L1 et L1, -L2 et L2 des circuits 265, 269, 270, 266, 273 et 274 sont transmis par le câble 261. Les signaux de sortie provenant des circuits 260 constituent leâ signaux d'entrée correspondant aux circuits 262 comme représenté dans la figure 2c. 30 Les circuits 262 comportent un circuit ET 280 ayant H2 et L2 comme signal d'entrée et un signal de sortie couplé au câble 263. Les circuits ET 281, 282 et 283 ont des signaux de sortie qui constituent les signaux d'entrée au circuit OU 284 dont le signal de sortie est connecté au câble 263. Le circuit ET 281 reçoit des signaux d'entrée H0 et L2. Le circuit ET 282 reçoit 35 des signaux d'entrée H1 et -L0. Le circuit ET 283 reçoit des signaux d'entrée H2 et -L2. Les circuits 262 comportent aussi des circuits ET 285 et 286, dont les sorties constituent des signaux d'entrée à un circuit OU 287. Le circuit ET 285 reçoit des signaux d'entrée -H1 et L1. Le circuit ET 286 possède des 40 signaux d'entrés H1 et -L1. 71 13020 19 2086108 Les circuits 262 comportent aussi des circuits ET 2SQ 291 et 292 dont 133 signaux de sortie constituent des signaux d'entrés à un circuit OU 293. Le circuit ET 290 reçoit des signaux d'entrée HO et LO. Le circuit ET 291 reçoit comme signaux d'entrée H1 st L2. Le circuit ET 292 possède des signaux 5 d'entrée H2 et L1. Le signal de sortie du circuit OU 293 est transmis par un câble qui fait partie au câble 263. Le signal de sortiB du registre GB est appliqué directement et aussi par l'intermédiaire d'un inverseur 294 aux entrées du circuit d'incrémentation par un 94. Le circuit 94 comporte une première partie constituée de circuits 10 logiques 295 qui permettent d'obtenir à leur sortie une valeur égale à la valeur se trouvant dans le registre GB augmentée de 1. Le circuit 94 comporte aussi un registre 296 qui emmagasine la valeur incrémentée. L'attention est à nouveau dirigée vers les circuits logiques 254 qui permettent l'enclenchement/restauration du registre GB. Le circuit 254 permet 15 d'effectuer la fonction d'enclenchement/restauration pour deux types de fonctionnements : c'est-à-dire, si la valeur est enclenchée dans le registre GB conformément à l'enclenchement des basculss mémoire pleine ou conformément à la valeur se trouvant dans les circuits 94. Cependant, un circuit ET 297 permet de choisir laquelle des deux valeurs sera envoyée dans le registre GB. 20 Le circuit ET 297 reçoit des lignes d'entrée "envoyer bus d'entrée" dans GR et "- Restaurer BFO-3". Le signal de sortie positif 298 du circuit ET 297 permet d'envoyer la valeur incrémentée du registre 296 dans le registre GB par l'intermédiaire d'un circuit ET 250. Le signal de sortie négatif 299 provenant du circuit ET 207 sert à enclencher le registre GB conformément 25 à l'enclenchement de la bascule mémoire tampon pleine par l'intermédiaire des circuits ET 251. L'opération du registre compte de la mémoire tampon GB est comme suit. Le registre GB renferme cinq bascules qui possèdent une indication binaire du nombre d'octets de donnée dans la mémoire tampon 367. Quatre bits sont 30 utilisés pour le compte actuel et le cinquième bit est le bit de parité. Le compte de la mémoire tcmpon est utilisé seulement pour les opérations d'entrée lorsque le nombrr; d'octets dans la mémoire tampon est une fonction de la condition de compte nul. Les cinq bascules ont leurs valeurs incré-mentéss de 1 et placées dans un second registre 296. Lorsqu'un nouvel 35 octet de données pénètre tians l'étage GR de la mémoire tampon, la valeur +1 dans le registre d'incrémentation est placée dans le registre GB d'octet de la mémoire tampon. Le registre GB est initialement chargé à partir d'un circuit de décodage logique des bits de bascule mémoire tampon pleine. Avec chaque transfert 40 des données de la mémoire tampon 367 à la mémoire principale, les quatre 71 13020 20 2086108 positions de la mémoire tampond'ordre inférieur et leurs bits mémoire tampon pleine sont supprimés. Le compte d'octets de la mémoire tampon dans le registre GB est à nouveau mis en condition initiale avec le compte logique des bits de la bascule mémoire tampon GRF-BF4. 5 Le signal de sortie du registre d'octets de la mémoire tampon GB est testé (par un dispositif non représenté) à chaque cycle de décalage de la mémoire tampon pour déterminer si le compte d'octets dans la mémoire tampon 367 est supérieur ou non à la valeur du compte du CCW restant. Le registre GB est aussi testé pour une valeur supérieure à la valeur binaire de 1000 10 qui représente un dépassement de capacité puisque la mémoire tampon possède seulement huit positions. Line bascule de contrôle de compte de la mémoire tampon (non représentée) est enclenchée pour indiquer cette condition. Les circuits permettant d'établir une compartimentation de la mémoire tampon 367 sont représentés sur la figure 2j. Ces circuits comportent un 15 circuit OU 300 dont les signaux de sortie , compartimentation et -compartimentation, sont appliqués respectivement au circuit OU 112 et au circuit ET 105 de la figure 2f. Un bloc logique de compartimentation de sortie comportant les circuits ET 301 et 302 ont des signaux de sortie qui constituent les signaux d'entrée du circuit OU 303, dont le signal de sortie constitue un 20 signal d'entrée au circuit OU 300. Un signal d'entrée au circuit ET 301 est prévu par un circuit ET 304 qui reçoit les signaux d'entrée "Chaînage de données", "Opération de Sortie", "ComptB Zéro (GCL)".La première des deux lignes provient des dispositifs de commande du canal 1. Les lignes de compte zéro proviennent de la figure 2d. 25 L'autre entrée du circuit ET 301 reçoit le signal de sortie du circuit ET 305 qui reçoit comme signaux d'entrée les lignes "-GR plein", "-BF6", "-BF5", "-BF4". Un signal d'entrée au circuit ET 302 est constitué par ,1b.signal provenant de la sortie du circuit OU 303. L'autre entrée du circuit 302 est fournie par deux circuits ET 306 et 307. Le circuit ET 306 comporte les lignes 30 d'entrée -BFO, -BF1, -BF2, -BF3. Les signaux de sortie du circuit ET 306 constituent un signal d'entrée au circuit ET 307 et la ligne "Temps BP" constitue l'autre signal d'entrée au circuit ET 307. Un circuit logique comportant les circuits ET 310 et 311 et un circuit OU 312 constituent une seconde entrée au circuit OU 300. Le signal de sortie 35 du circuit ET 305 constitue un signal d'entrée au circuit ET 310. L'autre signal d'entrée du circuit ET 310 est fourni par un circuit ET 313 qui reçoit comme signaux d'entrée les lignes "compte zéro (GCL = GB)M, "chaînage de données" et "opération d'entrée'.'. La connexion provenant de la sortie du circuit OU 312 constitue un signal d'entrée au circuit ET 311 et l'autre entrée reçoit 40 le signal "Enclencher cpmpte prêt". 71 13020 21 2086108 Le fonctionnement des circuits de compartimentation est comme suit. Les conditions d'entrée du circuit ET 301 doivent être satisfaites pendant les opérations de sortie pour établir une compartimentation et les conditions d'entrée au circuit ET 310 doivent être satisfaites pour établir une compar-5 timentation pendant les opérations d'entrée. De façon à établir une compartimentation, il est nécessaire que toutes les données dans les étages GR, B6, B5 et B4 soient vides. Par conséquent le circuit ET 305 produit un signal de sortie lorsque cette condition existe, ce signal de sortie étant appliqué aux deux circuits de compartimentation 301 10 et 310. Pendant les opérations de sortie la compartimentation peut exister seulement après que le compte dans le registre GCL ait atteint zéro. Ainsi, le signal "Compte zéro" appliqué au circuit ET 304 conditionne le circuit ET 301. On notera à ce moment que le seul moment où la compartimentation se fait est pendant les opérations de chaînage de données. Ainsi, les circuits 15 ET 304 et 313 comprennent des signaux d'entrée chaînage de données. Pendant les opérations d'entrée, la compartimentation peut se produire seulement lorsque la valeur dans le registre GCL est égale à la valeur dans le registre GB produisant une condition de compte nul. Ainsi, une des entrées du circuit ET 313 est constituée par cette condition de compte nul. 20 Pendant les opérations de sortie, la compartimentation peut être supprimée dès que les étages B0-B3 sont vides. Ainsi, le circuit ET 306 et le circuit ET 307 permettent la restauration du bloc logique de compartimentation de sortie lorsque les étages B0-B3 sont vides. La restauration du bloc logique de compartimentation d'entrée est réalisée par l'intermédiaire 25 d'une ligne d'entrée "Enclencher compte prêt" qui provient des dispositifs de commande de canaux. La figure 4 représente la réception de données provenant de l'interface E/S et leur mouvement à travers les étages G0-BQ1 de la mémoire tampon 367 avant leur transfert à la mémoire principale. Chaque temps d'impulsion à 30 décalage prend 90 nanosecondes dans' la réalisation préférée. Le premier octet A est reçu et est envoyé dans l'étage GR pendant le temps de décalage 1 et est commuté dans les étages B1, B3 et, B1 aux temps de décalage 2,3 et 4 respectivement. L'étage B0 a été chargé pendant l'enclenchement de la bascule BFO pour empêcher l'entrée de données. 35 On remarquera que quatre temps de décalage sont utilisés pour faire passer l'octet A dans l'étage B1. La vitesse maximum des données d'entrée est supposée être d'un octet toutes les 360 nanosecondes j et, par conséquent, l'octet B est reçu au temps 40 5, et est envoyé dans l'étage B2 au temps 6. L'octet C est reçu au temps S- 71 13020 22 2086108 st est envoyé dans l'étage B3 au temps 11. Les trois octets A,B et C sont maintenant prêts à être transférés à la mémoire principale par l'intermédiaire d'un cycle partagé. La figure 5 représente une opération de sortie. Au temps 1, un cycle 5 partagé transférera les octets A-D dans les étages GR-4 comme représenté. L'octet A est commuté dans les étages B2 et BO au temps 2 et au temps 3 respectivement. Pendant le temps 3, l'octet B est envoyé dans l'étage B3 et au temps 4 il est envoyé dans l'étage B1. Au temps 5 l'octet A est transféré à l'étage de sortie GO (non repré-10 sente sur la figure 5] dans un but de le transmettre au dispositif E/S s l'octet C est-envoyé dans l'étage B2 et l'octet D est envoyé dans l'étage 5. Au temps 6 l'octet D est envoyé dans l'étage B3 et la mémoire tampon 367 est prête à accepter quatre autres octets de données dans l'étage GR-B4. On peut voir sur les figures 4, 5 que la mémoire tampon améliorée 367 15 rassemble des données pendant les opérations d'entrée plus rapidement que ne peut les fournir l'interface E/S même si les vitesses d'entrée/sortie des données sont élevées (au-dessus de 3 millions d'octets par seconde). Pendant les opérations de sortie, la mémoire tampon doit aussi attendre l'interface E/S pour supprimer les données. La mémoire tampon 367 peut aussi décaler les 20 données plus rapidement que ne peut les transférer chaque cycle partagé. Le cycle partagé utilise un mot de commande de mémoire qui est introduit de force dans le registre C2 à partir de circuit de traitement dans les dispositifs de commande de canaux plutôt qu'à partir de la mémoire de commande. L'exécution du cycle partagé en utilisant le mot de commande de 25 mémoire 4B880C08 est illustrée de façon schématique sur les figures 6a et 6b et la chronologie des différentes opérations machine est illustrée sur le diagramme des temps de la figure 7. L'exécution du mot de mémoire demande deux cycles de mémoire appelés cycle 1 de mémoire et cycle 2 de mémoire, chacun de 270 nanosecondes. 30 L'objectif visé par le mot de commande particulier 48880C08, représenté dans l'exemple, est de transférer l'octet 2 des données se trouvant dans la mémoire tampon 367 à l'adresse de la mémoire principale qui se trouve dans les registres G1D des mémoires locales A et B. Dans ce mot particulier, les données sont transférées à la mémoire principale en utilisant des bits 0-3 35 des bascules bits drapeaux de mémoire pour canal, comme masque. L'exécution du mot de commande sera décrite par rapport aux différents bits constituant le mot de commande qui sont représentés emmagasinés dans le registre C2. Les bits 0 et 1 de l'octet C0, lorsqu'ils sont décodés indiquent un mot d'emmagasinage. Les bits 2,3 et 4 de l'octet C0 indiquent 40 une sous-forme du mot d'emmagasinage. Les bits 0-3 de l'octet C1, lorsqu'ils 71 13020 23 2086108 sont décodés, précisent l'accès au registre externe G1BUF (c'est-à-dire la mémoire tampon 367) utilisant les bits 1,2,3 de l'octet C1 et les bits introduits de force du circuit de traitement. Le contenu F2F2F2xx de la mémoire tampon 367 est transféré au registre A 21 et ensuite à l'assembleur d'octet 23. 5 L'adresse à laquelle cet octet de donné est emmagasiné est déterminée par les bits 0-3 de l'octet C2 du mot de commande. Le décodage de ces bits provoque l'accès dans la mémoire localeB6 des bits 1,2 et 3 de l'octet C2 et le décodage des bits introduits de force par le circuit 151 pour choisir le registre G1D à l'adresse 26. L'adresse de la mémoire principale 001EFD00 10 dans le registre G1D est transférée au registre B 22 et les octets 2 et 3 d'ordre inférieur sont transférés du registre B22 dans l'assembleur d'octets B 24. L'octet 2 dans l'assembleur d'octet B est transféré à l'ALU 2 et est emmagasiné dans les octets 2 et 0 du registre Z30. L'octet 3 d'ordre inférieur dans l'assembleur 24 est transféré à une entrée de l'ALU 3. Une autre entrée 15 à l'ALU 3 fait appel à la mise à jour de l'octet d'ordre inférieur par une valeur de 1. Ceci entraîne l'addition de la valeur 1 à l'octet 3 de l'assembleur d'octets B 24 et l'emmagasinage du résultat dans les octets 1 et 3 du registre Z 30. La mise à jour de l'adresse est déterminée par les bits 4 et 5 de l'octet C1 du mot de commande qui indique que la mise à jour doit être une 20 addition positive. Les bits drapeaux de mémoire du canal indiquent la valeur de la mise à jour. Dans ce cas particulier, un décodage des bits drapeaux pour mémoire font appel à la mise à jour par une valeur de 1. Approximativement au temps 180 d'un cycle 1 de mémoire les octets 0 et 1 du registre B22 sont transférés à l'assembleur d'octets B 24 et, par conséquent, 25 aux octets 0 et 1 du registre Z30 par l'intermédiaire de l'ALU 2 et l'ALU 3. Au commencement du cycle d'emmagasinage 2, le décodage Ses bits 2,3 et 4 de l'octet C0 et le décodage du bit 4 de l'octet C3 provoquent l'incrémentation de 1 de l'adresse qui choisissait le registre G1D de la mémoire locale B6 pendant le premier cycle à partir d'une valeur de 28 à 29 entraînant 30 l'accès du registre G1C dans la mémoire locale B6. Les octets d'ordre inférieur 2 et 3 du registre G1C renferment une valeur de compte égale au nombre d'octets qui doit être transféré à la mémoire principale par le CCW en cours. Dans la réalisation préférée du système représenté, la valeur de compte est toujours emmagasinée dans le registre suivant immédiatement le registre qui 35 est utilisé pour l'adressage des données, dans ce cas particulier le registre G1D. Chaque fois qu'un mot ou qu'une partie de ce mot est transféré à la mémoire principale, le compte de mot dans le registre G1C doit être décrémenté jusqu'à ce qu'une valeur nulle soit atteinte, indiquant la fin d'une opération particulière. La sous-forme du mot de commande particulier à exécu-40 ter détermine la valeur par laquelle le compte est décrémenté. Une opération 71 13020 24 2086108 d'octet demande la décrémentation de 1, une opération de demi-mot demande la décrémentation de 2 et une opération de mot complet demande la décrémentation de 4. Dans le présent exemple, un octet est emmagasiné par lequel la décrémentation de 1 est nécessaire. Ainsi, l'octet d'ordre inférieur 08 5 dans l'assembleur d'octet 24 est transféré à l'ALU 3 et est décrémenté de 1 et alors emmagasiné dans les octets 1 et 3 du registre Z 30. Du temps 45 au temps 90, du cycle 2 de la mémoire, l'adresse de mots mise à jour (001EFD01) qui était transférée dans le registre Z pendant le cycle 1 de la mémoire est transférée au registre 0 31. Du temps 90 amtemps 150 10 du cycle 2, l'adrssse mise à jour est transférée du registre □ au registre G1D par l'intermédiaire de l'assembleur SDBO 11. Le mot de commande suivant à exécuter est introduit par un mot de retour. Environ au temps 180 du cycle 2 de mémoire, le registre GCL est chargé à partir du registre Z. Au temps approximativement 45 du cycle 2 de mémoire, 15 le registre GDL est chargé à partir de EBI.3,6,7. La figure 5 représente aussi la chronologie du registre chargé G1B, des bascules de restauration BFQ-3 et de la synchronisation enclenchement/ restauration BF. Bien que l'on ait décrit dans ce qui précède et représenté sur les dessins 20 les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préférée de celle-ci, il est évident que l'homme de l'art peut y appor ter toutes modifications de forme ou de détail qu'il juge utiles sans pour autant sortir du cadre de ladite invention. 71 13020 25 2086108 REVENDICATIONS 1. Registre à décalage comportant des moyens d'entrée et des moyens de sortie de données ainsi que p étages de circuits à bascules et des circuits logiques, entre ces moyens d'entrée et ces moyens de sortie, ce registre étant carac-5 térisé en ce que : chaque étage peut prendre deux états différents, le premier état permettant d'emmagasiner une donnée dans l'étage correspondant, le deuxième état permettant de transférer une donnée de l'entrée à la sortie de l'étage correspondant, 10 des circuits chronologiques commandent des bascules dans les différents étages du registre pour les mettre dans un de leurs deux états logiques possibles selon la présence ou l'absence d'unB donnée à emmagasiner dans l'étage correspondant, les circuits logiques, dans chaque étage, sont connectés à des bascules 15 déterminées de telle façon que, sous la commande des circuits de chronologie, ils puissent transférer les données emmagasinées dans l'étage correspondant soit dans un quelconque des étages qui suivent ou qui précèdent, soit même dans le même étage, suivant l'état des bascules déterminées auxquelles ils sont connectés. 20 2. Registre à décalage à p étages pouvant à chaque cycle de décalage, transférer des données dans q étages à partir de q autres étages, q étant inférieur ou égal à p, en fonction de l'état de chaque étage et des étages le précédant et le suivant, ce registre étant caractérisé en ce qu'il comporte : une série de bascules du type dit à maintien de polarité, une bascule 25 étant affectée à chaque étage et pouvant prendre deux états, un premier état pour emmagasiner une donnée, et un deuxième état pour transférer à sa sortie la donnée appliquée à son entrée, des premiers circuits qui, à un moment prédéterminé de chaque cycle de décalage, commutent sur la position de deuxième état les bascules qui sont sur 30 la position de premier état mais seulement pour celles de ces bascules dont l'étage suivant est sur la position de deuxième état, des deuxièmes circuits qui, à un moment prédéterminé de chaque cycle de décalage, commutent sur la position de premier état les bascules qui sont sur la position de deuxième état mais seulement pour celles de ces bascules dont 35 l'étage suivant et l'étage précédent sont sur la position de premier état ou encore pour celles de ces bascules dont l'étage précédent est sur la position de deuxième état, et l'étage précédant cet étage précédent est sur la position de premier état. 71 13020 26 2086108 3. Registre à décalage selon la revendication 2, caractérisé en ce que les premier et deuxième circuits empêchent, au cours d'un cycle de décalage, l'emmagasinage d'une nouvelle donnée binaire dans une bascule, si. au cours de ce cycle, cette bascule est passée sur la position de premier état et 5 empêchent aussi le passage d'une bascule de la position de premier état à la position de deuxième état si la bascule suivante est sur la position de premier état. 4. Registre à décalage selon la revendication 2 ou 3, caractérisé en ce que les deuxièmes circuits commutent sur la position de premier état les bascules 10 qui sont sur la position de deuxième état mais seulement pour celles de ces bascules pour lesquelles les n étages précédents successifs et l'étage suivant sont sur la position de premier état ou encore pour celles de ces bascules pour lesquelles les n étages précédents successifs sont sur la position de deuxième état, et le (n+1)ième étage précédent sont sur la position de 15 premier état, Cn+1) étant égal au nombre maximum d'étages dont les données peuvent être transférées au cours d'un cycle de décalage. 5. Registre à décalage selon la revendication 2 ou 3 ou 4, caractérisé en ce qu'il comporte : des moyens, dits de contrôle d'emmagasinage, associés à chaque étage 20 du registre pour indiquer la présence ou l'absence de donnée dans chaque étage, des moyens logiques pour commander, à des intervalles de temps prédéterminés, le décalage d'une donnée à travers plusieurs étages successifs, ces moyens logiques étant prévus pour chaque étage de moyens de contrôle d'emmagasinage et chaque étage de moyens logiques ayant son entrée connectée à 25 des sorties déterminées des moyens de contrôle d'emmagasinage associés aux étages précédents et suivants de telle façon qu'il puisse : empêcher ledécalage d'une donnée d'un étage quelconque g à l'un des étages qui suit lorsque l'étage g+1 a une donnée emmagasinée, transférer une donnée d'un étage quelconque g à l'étage suivant g+1 30 lorsque cet étage suivant g > 1 est vide et lorsque l'étage g + 2 contient une donnée emmagasinée, transférer une donnée d'un étage quelconque g à un des étages qui suit s lorsque ni cet étage s, ni aucun des étages compris entre l'étage g et s n'a de donnée emmagasinée. 35 6. Mémoire tampon à décalage recevant des données sous forme de multibits en série, chaque multibit étant formé d'un certain nombre de bits en parallèle et comportant p étages formés chacun d'un nombre de bascules égal au 71 13020 27 2086108 nombre de bits dans un multibit, cette mémoire étant caractérisée en ce que les p bascules correspondant à une même position de bit dans les multibits forment un registre à décalage qui est réalisé selon l'une quelconque des revendications 1 à 4. 5 7. Mémoire tampon à registres à décalage recevant des données sous forme d'octets en série et comportant un certain nombre d'étages pour décaler ces données octet par octet et pour transmettre à sa sortie les données reçues par mots de plusieurs octets, cette mémoire étant caractérisée en ce que : chaque étage est formé d'un certain nombre de bascules de type dit 10 à maintien de polarité, une bascule étant prévue pour chaque position de bit dans un octet et pouvant prendre deux états, un premier état pour emmagasiner la valeur binaire d'un bit d'un octet, un deuxième état pour transférer à sa sortie la.valeur binaire du bit appliquée à son entrée, des moyens de commande font avancer les octets à travers les différents 15 étages de la mémoire tampon à une vitesse plus rapide que la vitesse à laquelle les données sont entrées dans la mémoire et sorties de cette mémoire, ces moyens de commande pouvant, à chaque cycle de décalage faire avancer un octet emmagasiné dans un étage m, à l'exception du dernier étage, d'un ou plusieurs étages consécutifs ou encore laisser cet octet en place dans 20 l'étage m suivant l'état d'occupation ou de non occupation des étages suivant et/ou précédant l'étage m. B. Mémoire tampon suivant la revendication 5 ou 6 comportant des moyens de commande procédant au décalage, vers la droite, des différents octets reçus de 0, 1 ou plusieurs étages consécutifs suivant l'état d'occupation des 25 différents étages pour ranger dans les étages de droite de la mémoire tampon dans le minimum de temps les différents octets reçus. 9. Mémoire tampon selon l'une des revendications 5,6,7,6, caractérisé en ce qu'elle est partagée en deux sections, des moyens étant prévus pour transférer par décalage à partir de l'entrée de la mémoire un premier groupe 30 d'octets dans la première section, puis pour transférer par décalage ce premier groupe de la première section vers la deuxième section, pour enfin transférer par décalage un deuxième groupe d'octets à partir de l'entrée de la mémoire dans la première section de la mémoire tampon. 35 10. Mémoire tampon selon la revendication B ou 9 comportant des moyens de commande externes permettant de transférer vers l'extérieur un mot de données formé d'un certain nombre d'octets, à partir de la mémoire tampon, ou un 71 13020 28 2086108 nombre d'octets inférieur au nombre d'octets formant un met de données. 11. Mémoire tampon selon l'une quelconque des revendications 6,7,8.9,10, comportant des moyens pour transférer des données vers l'extérieur dans la direction directe ou inverse. 5 12. Système de traitement de données utilisant la mémoire tampon définie par l'une des revendications 6 à 11 comme organe de transfert de données entre la mémoire principale du système et des dispositifs d'entrée/sortie ou des organes de l'unité de traitement, ce système comportant des moyens pour transmettre à partir d'un dispositif d'entrée/sortie ou d'un organe de l'unité 10 de traitement des données à la mémoire tampon, octet par octet, pour décaler ces données à travers la mémoire tampon et pour sortir ces données mot par mot vers la mémoire principale ou pour transmettre de la mémoire principale un mot de données ou une portion d'un mot de données dans la mémoire tampon, pour décaler ces données à travers la mémoire tampon et pour transmettre ces 15 données, octet par octet, vers un dispositif d'entrée/sortie ou un organe de l'unité de traitement. 13. Système selon la revendication S ou 12 dans lequel des moyens d'adressage fournissent l'adresse de destination d'un premier groupe de données reçues par la mémoire tampon, d'autres moyens étant prévus pour qu'un deuxième groupe 20 d'octets soit introduit dans la première section de la mémoire tampon avant que soit connue l'adresse de destination des données du deuxième groupe. 14. Système de traitement de données dans lequel le transfert des données entre la mémoire principale et les unités d'entrée/sortie s'effectue au moyen d'une mémoire tampon à registres à décalage sous le contrôle des circuits 25 logiques exécutant les instructions d'un programme pour recevoir les données en provenance d'une unité d'entrée/sortie, en série par octets, pour décaler ces données dans les registres à décalage, octet par octet, et pour transférer les données de la mémoire tampon vers la mémoire principale, mot par mot, ou pour transférer les données de la mémoire principale vers les unités 30 d*entrée/sortie, cette mémoire tampon étant caractérisée en ce que : elle comporte un certain nombre de bascules dites à maintien de polarité arrangées de telle sorts qu'elles puissent enregistrer et décaler en parallèle les différents bits d'un octet, chaque bascule pouvant prendre deux états, un 35 premier état pour emmagasiner la valeur d'un bit et un deuxième état pour transférer à sa sortie binaire la valeur binaire appliquée à son entrée. 71 13020 29 2086108 des premiers circuits qui, à un moment prédéterminé de chaque cycle de décalage, commutent sur la position de deuxième état les bascules qui sont sur la position de premier état mais seulement pour celles de ces bascules dont l'étage suivant du registre correspondant à la même position binaire d'un 5 octet est sur la position de deuxième état, des deuxièmes circuits qui, à un moment prédéterminé de chaque cycle de décalage, commutent sur la position de premier état les bascules qui sont sur la position de deuxième état mais seulement pour celles de ces bascules pour lesquelles les n étages précédents successifs du registre correspondant 10 à la même position binaire d'un octet sont sur la position de premier état ou encore pour celles de ces bascules pour lesquelles les n étages précédents et le (n+1)ième étage précédent dans le registre correspondant sont dans la position de premier état, tn+1) étant égal au nombre maximum d'étages dont un octet peut être transféré au cours d'un cycle de décalage, 15 les premiers et les deuxièmes circuits décalent les bits d'un octet en parallèle dans la mémoire tampon à uns vitesse supérieure à la vitesse maximum à laquelle les données peuvent être reçues des unités d'entrée/sortie ou envoyées vers ces unités d'entrée/sortie, pour les ranger dans le minimum de temps, dans les positions de droite de la mémoire tampon, 20 des moyens permettent de diviser la mémoire tampon en deux sections et ds transférsr un premier groupe d'octets de la première section à la deuxième section et de transmettre un deuxième groupe d'octets à la première section avant même que l'adresse de destination de ce deuxième groupe d'octets soit connue.