FR 2260141 A1 19750829 FR 7403489 A 19740201 La présente invention a pour objet un dispositif de régulation de cadencedes transferts de données entre un organe apériodique et un organe périodique dXun système informatique par transit desdites données dans une mémoire tampon. L'organe apériodique est, par exemple, le processeur central CPU et l'organe périodique un contrôleur de périphérique POU qui est relié à travers desadaptateusa plusieurs dispositifs périphériques tels que lecteurs ou perforatrices de cartes, imprimantes ou ensemble de mémorisation, mémoires à bandes magnétiques, mémoires de disques magnétiques, etc. . . Les périphériques sont reliés au processeur central par deux types de canaux : les canaux physiques et les canaux logiques.Un canal physique est une voie matérielle de transmission d'un certain nombre de bits d'information. Les canaux logiques sont constitués par des informations de commande qui permettent de faire communiquer un périphérique et le processeur central. Un canal logique peut donc emprunter successivement plusieurs canaux physiques en fonction des disponibilités de ceux-ci. Dans la suite de cette demande, seuls les canaux physiques seront considérés. Le processeur central est apériodique pour un canal considéré, puisqu'il peut abandonner ce canal pour effectuer des taches plus prioritaires et revenir sur celui-cl ensuite. Par contre, tous les organes périphériques ont une période propre que l'on peut considérer comme la période de sortie des informations. Plus précisément l'invention se rapporte à un contrôleur d'entrée et de sortie microprogrammé de données dans lequel les transferts de données entre le contrôleur POU et le CPU ou la mémoire centrale sont effectués sous la commande d'instructions et de microinstructions spécifiques. Le processeur central CPU occupé à des tâches multiples ne #peut pas recevoir à tout moment les données que peuvent lui fournir les périphériques et les placer en mémoire. Il ne peut prendre en charge ces données qulà des moments précis et dans un ordre déterminé. De m8me, les périphériques ne sont pas en mesure de délivrer instantanément au processeur central CPU les données dont il a besoin, et un certain temps de recherche est nécessaire pour accèder à l'information utile. Ce problème commun à tous les ordinateurs est résolu par la bufferisation ou tamponnage des canaux de transmission de données, crest-à-dire, par lxintroduction diurne mémoire tampon entre le CPU et le POU.Dans la technique connue, cette mémoire tampon a une capacité de un octet ou plus généralement une capacité égale au nombre dtinformations digitales, que lton désire transmettre simultanément. La présence d'une certaine quantité dlinformations sur l'interface CPU/PCU se traduit par une interruption (OC, au cours de laquelle le processeur central interrompt le travail en cours pour effectuer l'introduction ou la restitution de données. Il en résulte une perte de temps pour le processeur. Ltun des buts de la présente invention est d'établir un asynchronisme limité entre l'arrivée des données sur l'interface CPU/PCU ou interface PSI et les opérations du processeur central. Par convention, les transferts de données seront considérés comme des entrées ou lectures lorsque les informations passeront du périphérique dans le processeur central CPU et comme des sorties ou écritures lorsqu'elles passeront du processeur central au contrôleur de périphérique POU. Bien entendu, les transferts de données digitales ne se font pas bit par bit mais par blocs de bits. L'unité qui a été choisie dans les exemples qui seront donnés ci-dessous, est l'octet, mais on comprendra que ce choix ne constitue en aucun cas une limitation et que les modifications à apporter au dispositif en cas de changement de quantum d'informations transmises sont à la portée de l'homme de l'art. Du point de vue transfert de données, les organes sont caractérisés par un certain nombre de grandeurs qui sont pour le processeur central CPU La fréquence maximale des échanges élémentaires = f maxi La fréquence minimale des échanges élémentaires = f mini La largeur des mots en bits RN R étant le coefficient de changement de format pour le contrôleur du périphérique POU:: La fréquence des échanges élémentaires F La largeur du mot en bits N avec la condition suivante exprimant que Rxfmini Ç F Rxfmaxi Selon la présente invention, le dispositif de régulation de cadence de transferts de données entre un organe périodique et un organe apériodique pour un système informatique, dispositif comprenant une mémoire tampon est caractérisé en ce que la mémoire tampon est constituée d'un ensemble de registres organisés en file, des moyens d'adressage permettant écriture ou la lecture de multiplets d'information et la transmission de ceux-ci sur deux interfaces de largeurs différentes. La mémoire tampon est de capacité limitée, mais les emplacements sont considérés comme vides dès qu'ils ont été lus. Il est ainsi possible diutiliser plusieurs fois les mimes emplacements au cours diun seul transfert de données. Lorsqu'une mémoire tampon comprend plusieurs registres organisés en file, le premier multiplet qui est transmis inscrit naturellement dans la première position à partir du début de la mémoire. Lorsqu'un second multiplet se présente, le premier multiplet doit passer dans le second registre pour laisser le premierregistre disponible pour le second multiplet et ainsi de suite, de manière à ce que le premier multiplet entré soit le premier mult# plet à sortir de la mémoire tampon. Cette procédure permet de respecter llor- dre de transfert des multiplets. Selon une autre caractéristique de l'invention, la mémoire tampon est constituée sous la forme d'une matrice et est munie de moyens d'adressage. On évite ainsi le déplacement des multiplets à llintérieur de la mémoire tampon. Des pointeurs permettent d'inscrire les multiplets dans les registres disponibles et de les extraire au moment voulu. Selon une autre caractéristique de Itinvention, le format en longueur des multiplets en entrée est différent du format des multiplets en sortie de la mémoire tampon. Un autre objet de l'invention est de définir un dispositif de régulation de cadence du transfert de données qui fonctionne automatiquement dès que le premier multiplet est introduit dans la mémoire tampon. En effet, les multiplets suivants s'inscrivent dans les places suivantes comme il sera expliqué par la suite, sans intervention du système de commande. - La mémoire tampon est accessible par chacun des deux organes CPU à travers l'interface OBI et POU à travers l'interface PSI. Ces deux interfaces sont bi-directionnels et exactement adoptés aux largeurs de mots des organes connectés de sorte que l'on puisse indépendamment et en particulier simultanément écrire à un emplacement par un interface et lire à un autre emplacement par l'autre interface. La présente invention a pour objet de définir lesles moyens à mettre en oeuvre pour obtenir les lectures et écritures indépendantes/dans la mémoire et de gérer I e fonctionnement ci-dessus. D'autres caractéristiques et avantages de invention apparaltront au cours de la description qui va suivre, en regard des figures qui représentent La figure I est un schéma de principe des entrées et sorties de données La figure 2 est un schéma par blocs de la partie transfert de données d'un système inErmatique La figure 3 est un schéma par blocs d'une tête de canal La figure 4 est un diagramme d'évolution du contenu des registres tampons dans un cas particulier dientrée et de sortie de données La Figure 5 est le schéma dtun circuit de génération de demandes de transferts. A la figure 1, le schéma a est le schéma de lecture ou dtintroduction des données dans le processeur central 1. Les informations sont transmises par le POU2 à la mémoire tampon CBU3 octet par octet et placées dans cette mémoire. La mémoire 3 transmet les informations qu'elle contient au processeur central 1 au rythme de 4 octets par 4 octets. Le schéma b représente l'opération inverse d'écriture ou de sortie de données qui sont introduites dans la mémoire 3 quatre octets -par quatre octets, et qui sont délivrées au contrôleur de périphérique 2, octet par octet. La Figure 2 est un schéma de l'environnement réel dans lequel se produit le transfert des données. On y retrouve les éléments mentionnés précédemment, clest-à-dire, le processeur central 1, le contrôleur de périphéri- que2 et l'unité de tamponnage de canal CBU3. Le processeur central 1 est reliée en sortie à larr.émoire centrale 4 par l'intermédiaire de l'unité d'interface de mémoire MIU 41. Le processeur central contient un certain nombre de sous ensembles et notamment le contrôleur d'entrée et de sortie IOC 10 comprenant lui-même l'unité de commande de canaux CCU 11 et l'unité de gestion de données DMU 12 (qui appartient partiellement à l'lOC 10 comme cela sera expliqué dans une demande de brevet déposée ce jour par la#demanderesse et ayant pour ti tre zIlDispositif d'entrées et de sorties de données pour un système informatique". L'unité de gestion de données DMU12 est connectée par une liaison bidirectionnelle à l'interface de mémoire 41 reliant la-mémoire centrale 4 au proces seur central 1.L'unité de commande de canaux CCU11 est connectée sur une lurgeur de 4 octets aux autres unités qui sont : la mémoire de travail SPU13 unité d'adressage ACU 14, l'unité de contrôle de la mémoire de commande RCU, l'unité de panneau dé maintenance PMU 16. L'horloge mère CLU 17 est connectée directement à ces dernières unités . Il existe d'autres unités telles que l'unité arithmétique et logique ALU qui n'ont pas été représentées ici dans la mesure où elles n'interviennent pas directement dans le transfert de données. L'unité de commande de canal CCU 11 reliée aux autres unités est connectée à l'unité de tamponnage du canal 3 à travers llinterface OBI. L'unité de tamponnage de canaux CBU 3 contient un circuit commun de canaux CC31 qui est en liaison d'une part, avec un certain nombre de têtes de canaux CHU dont deux seulement --32 et 38 sont représentées, et qui dans une version réalisée sont au nombre de 6, (sans que cela constitue une limitation) et, d'autre part, avec une horloge ltfillell 37 synchronisée avec l'hor- loge mèré 17. L'interface OBI comprend une liaison pour les demandes R, un bus B de 2 octets de largeur, une liaison I de 4 octets pour entrées des données, une liaison O de 4 octets pour la sortie des données et une liaison OS pour la transmission des informations de contrôle et de test. La tête de canal CHU est connectée avec un contrôleur de périphérique 2 à travers un interface de sous système périphérique PSI dont la constitution est décrite dans la demande de brevet NO 73 42714 déposée le 30 Novembre 1973 pour Procédé et dispositif pour échanger des informations entre sune unité centrale et un contrôleur de périphériques dans une installation pour le traitement de l'information par la demanderesse. La présente inventior concerne plus particulièrement la tête de com mande de canal CHU qui inclut une mémoire tampon et les moyens permettant de commander les écritures et lectures dans la mémoire. L'invention vise également une unité de canaux tamponnés comprenant au moins une unité com.- mune de commande et au moins deux têtes de canal . Ces moyens consistent notamment en deux pointeurs d'interface qui seront appelés MP pour l'interface de CBU 3 avec le processeur central et PP pour l'interface PSI de CBU 3 avec le POU 2 et qui sont montrés à la figure suivante. La Figure 3 représente les éléments physiques les plus importants d'une tête de canal CHU 32. La mémoire tampon ou ensemble de registres de classement 40 comprend seize registres dont la capacité est de un octet. Ces registres forment une matrice 4 x 4. Ils sont utilisés pour mémoriser les données entre leur arrivée et leur transfert sur ltinterface PSI ou sur llinterface OBI. L'étage tampon 41 lOB est composé de deux registres d'interface - le registre DTI est utilisé seulement pour les opérations de lecture. Il reçoit toutes les données envoyées sur le PSI par le POU 2. - le registre DTO est utilisé seulement dans les opérations d'écriture Il reçoit toutes les données envoyées au POU 2 par la mémoire centrale 4 ou le CPU t. Dans une opération de lecture le fonctionnement est le suivant les données sont d'abord introduites dans le registre DTI du buffer oú tampon 41. Après la séquence d'unification de Itoctet, le contenu de DTI est transfé libre ré dans la première place/du banc de registre 40 qui est localisée soit à la même colonne dans le registre suivant, le dernier octet précédemment écrit soit si le dernier octet écrit lia été dans le dernier registre de la colonne dans le premier registre de la colonne suivante . Par exemple si ce dernier octet a été inscrit à ltemplacement 32 le prochain sera inscrit en 33, et le suivant en 00. Le prochain mot adressé au CCU sera 30, 31, 22 et 23. Si le premier octet à inscrire en mémoire est localisée en 22, on appellera séquence DQ, une séquence permettant de transférer un octet dlinformation.Lors- que 4 octets ont été décrits successivement dans les registres. Le transfert d'un mot en mémoire peut être effectué mais l'adresse du ler octet à écrire peut avoir une valeur quelconque .Les octets vont être alignés dans unité de commande de canal CCU en vue de leur introduction en mémoire lors dure opéra- tion d'écriture. Les 4 octets sont alignés dans l'unité de commande de canalCCU de sorte que le premier octet de la mémoire centrale soit écrit dans le premier emplacement libre de la mémoire tampon 40 et les octets suivants dans les registres suivants.Ces octets sont envoyés successivement dans le registre DTO puis l'un après l'autre vers le POU 2. Dans une opération d'écriture ou de lecture, le compteur PP 42 (0: 5) est utilisé pour adresser la mémoire tampon dans les échanges avec le POU 2. En fait, seul les bits 1 à 4 sont utilisés pour cet adressage, le rôle du bit 0 sera expliqué ultérieurement (PP) 1 : 4 est remis à zéro au début de chaque séquence de transfert. PP est augmenté de 1, chaque fois qu'un octet est envoyé ou reçu sur l'interface PSI. L'endroit où le prochain octet (envoyé par le contrôleur de périphérique 2) doit être écrit dans le banc de registre 40 durant une opération de lecture ou l'endroit où se trouve le prochain octet à envoyer sur llinter- face PSI pendant une opération d'écriture est donnée par (PP) 1 : 4 avec i : (PP) 1 : 2 j : (PP) 3 : 2 i et j étant les indices de lignes et colonnes de la matrice formée par les registres. Dans le transfert des données entre la mémoire tampon 40 et la mémoire centrale 4 l'adresse du premier octet à transférer est définie par le registre MP 43 à quatre positions de bits. (MP) O : 4 MP est remis à zéro au commencement diune séquence de transfert de données.Pendant cette séquence, (MP) O : 4 est augmenté par le nombre des octets qui ont été transférés entre la tête de canal CHU et la mémoire centrale 4 (fig. 1). Le registre dans lequel est transféré le premier octet concerné par le transfert est défini par (MP) 2 : 2 et son emplacemertest donné par (MP) O : 2. Le nombre d'octets transférés dépend de la rapidité du transfert sur le PSI qui dépend de la nature du POU, de la longueur du câble PSI et de la rapidité des transferts en mémoire centrale qui elle ffleme dépend de la simultanéité entre les transferts de données et les autres travaux du contrô- leur d'entrée et de sortie IOC pour les autres PSI et de la longueur des blocs de données à transférer. Le principe de la gestion des données est que, chaque fois que c'est possible un échange de données avec la mémoire centrale est demandé pour quatre octets de sorte que la plus grande rapidité puisse être atteinte dans le transfert sur le PSI. Pour connaftre à chaque instant le nombre N d'octets qui sont présents dans les registres de classement de données il est possible: - de compter le nombre d'octets qui sont transférés sur le PSI - de compter le nombre dioctets qui sont transférés sur le CBI - de soustraire un compte de autre en fonction du sens de transfert des données. L'opération précédente est réalisée dans la tête de canal CHU au moyen des deux registres (PP) 0: 5 et (MP) 0 : 4 Au début de la séquence de transfert de données, (PP) O : 5 est initia lisé avec les valeurs suivantes PP 0 5 = 10 pour la lecture (entrée de données) - PP O 5 = 00 pour l'écriture (sortie de données) PP 0: est augmenté de 1 chaque fois qutun octet est échangé avec le PCU. Au début du transfert MP .0 : 4 est remis à zéro. Durant une séquence DQ, (MP) O : 4 est augmenté du nombre d'octets transférés entre la tette de canal et la mémoire centrale. Deux cas se présentent dans#les transferts. 1 - Entrée de données (lecture) Durant une opération de lecture, les données sont envoyées octet par octet par le POU 2. Elles sont d'abord emmagasinées dans les registres de la mémoire tampon 40 de la tête de canal CHU 32 puis transférées 4 octets par 4 octets vers le CCU il durant la séquence de transfert des données DQ. Un registre d'entrée DTI de 1 octet de capacité est utilisé pour recevoir les octets et les inscrire dans un emplacement vide de la mémoire tam pon. Ainsi, si la mémoire tampon à une capacité de 16 octets, 17 octets peuvent être emmagasinés dans la tête 32 avant leur introduction dans le processeur central. Quand 17 octets ont ainsi été stockés, les signaux STI et TMI envoyés par le POU 2 pour l'octet suivant ne sont pas suivis de ltenvoi par 11OC des signaux STO ou TMO et le POU attend que le processeur central ait libéré des espaces dans la mémoire tampon par un transfert de données. Aussitôt que 4 octets sont stockés dans la mémoire tampon, ils peuvent être transférés dans la mémoire centrale durant une séquence DQ. La tête de ca nal CHU 32 envoie au CCU Il une demande d'interruption pour un cycle diécri ture en mémoire. Lors du commencement dtun transfert de données, le comp teur et l'indicateur de chainage de données du compte local du CCU sont chargés avec les indications correspondantes de l'entrée de commande du canal CCE. (Voir la demande de brevet N déposée simultanément à la présente demande pour contrôleur d'entrée et de sortie de données" par la demanderesse. COU il Pour un transfert d'état détaillé le compteur local/est chargé avec le compte de la tête de programme de canal et l'indicateur de chainage est mis à zéro. A chaque séquence DQ, le compte est mis à jour avec le nombre octets écrits en mémoire centrale et au niveau de celle-ci, le transfert est terminé lorsque le compte est ramené à zéro. Le POU est averti par l'envoi diun signal TMO que le transfert est terminé au niveau de la mémoire centrale. Un comptage similaire à celui du CCU est utilisé dans le CHU 32 pour détecter si la longueur du transfert est la même au niveau du PSI. Ce comptage effectué par le compteur 45, Li qui est chargé au commencement du transfert à la même valeur que le compteur du CCU 11 et sa valeur baisse dune unité chaque fois qu'un nouvel octet est reçu par la tête de canal 32. Comme la vitesse de transfert de données sur l'interface PSI ne doit pas être changée par l'exécution d'un chainage de données, la longueur du transfert indiquée de entrée de commande suivante (CCE) du tableau de chainage a été précédemment introduite dans un second compteur 44, L2 et quand le transfert contenu dans la commande dientrée de canal est terminée Li est chargé avec le contenu de L2. Un signal TMO est envoyé à la réception des données vers le POU sur l'interface PSI, lorsque L 1 est égal à 1 et que L2 est égal à zéro. Lors de l'initialisation d'un transfert de statut détaillé ou durant l'exécution du dernier transfert de données le registre L2 est chargé avec 0. Ce mécanisme de Look Ahead travaille seulement sur un bloc de données, mais il est évident qu'il permettra une transmission de blocs de données chainées dont les longueurs sont supérieures à la dimension de la mémoire tampon, étant donné quia la fin d'un bloc, le registre 44, L2 sera toujours chargé avec la longueur du prochain bloc ou avec zéro.Pour les blocs de faible longueur, un bistable L2B est utilisé pour indiquer si L2 est chargé avec la valeur du transfert suivant ou si celle-ci est déjà introduite dans le registre Li. A la réception du dernier octet du bloc lorsque Li = 1, le hardware teste L2B et si ce test indique que L2 n'est pas encore chargé, IIIOC ne répond pas immédiatement aux signaux STI et TMI mais attend pour ltexécu- tion du chainage de données. Le signal UNI est émis lors diun transfert dXoc- tet et fait progresser les compteurs PP et Li dans un sens ou dans l'autre. Lorsque le transfert est terminé au niveau du PSI par un signal TMI, TMO ou par les deux, les derniers octets sont envoyés dans la mémoire centrale même s'il ne reste que quelques octets dans la mémoire tampon. Dans le cas présent de la lecture de données, le pointeur MP se déplace dans des endroits qui ont déjà été écrits. Le pointeur PP doit d6nc être en avance sur le pointeur MP. Cette avance est maintenue par des demandes diinscrip- tion dans la mémoire tampon faites au POU 2 à une cadence suffisante. Le pointeur de périphérique PP s'étend sur une longueur de 5 bits. Le pointeur de mémoire MP a une longueur de 4 bits.L'avance de PP peut être maintenue en limitant la cadence de lecture à une cadence égale à celle de l'écriture ou à une cadence légèrement supérieure en fonction des emplacements occupés de la mémoire tampon. (C'est-à- Deux situations peuvent se présenter - MP et PP ont franchi le même nombre de fois la limite supérieure de capacité de la mémoire tampon. On a alors PP-MP - MP et PP n'ont pas franchi le même nombre de fois la limite supérieure (PP l'a franchi une fois de plus que MP puisqu'il est nécessairement en avance sur MP). On a alors 16 PP-AP O, le complément à 16 étant obtenu par le changement d'état du bit (PP) 0. Il - Sortie des données Durant une opération de sortie de données (écriture) les octets lus en mémoire centrale sont d'abord emmagasinés quatre par quatre dans des registres de la tête de canal CHU et ensuite envoyés un à un dans le contrôleur de périphérique POU. Aussitôt que quatre emplacements sont vidés par lecture, le CHU envoie au CCU une demande d'interruption du contrôleur d'entrées et sorties 100 pour un cycle de lecture de mémoire centrale qui est acceptés le POU a terminé le transfert par un signal TMI. Au début d'un transfert de données, le compteur de l'indicateur du CCU li de chainage de données est chargé éventuellement avec les données correspondantes de l'entrée de commande de canal CCE. Au début de la commande diun transfert d'test (programme canal ou octet dtinstruction dtentrée/sortie) le compteur est chargé à une valeur dépendant de la nature du transfert et l'indicateur de chainage est ramené à zéro. Lors de chaque séquence DQ, le compteur est mis à jour avec le nombre d'octets lus en mémoire centrale et au niveau de celle-ci, le transfert est terminé lorsque le compte est épuisé et que l'indicateur de chainage est à zéro. Quand le comptage est terminé et que ltindicateur de chainage est à 1, le chainage est exécuté.Un nouveau compte et un nouvel indicateur de chainage sont écrits dans le compteur local sur les données de l'entrée de commande de canal suivante CCE du tableau de chainage de données. Durant la séquence de transfert des derniers octets, un bistable 1V4 non représenté est monté à 1 dans le CHU correspondant pour indiquer la fin du transfert au niveau de la mémoire et pour arrêter les demandes dginterrup- tion pour les séquences DQ. Aussi longtemps que quelques octets sont emmagasinés dans la mémoire tampon, un mécansime de vérification est utilisé pour transférer ces octets de la mémoire tampon au registre DTO et de celui-ci au POU. Quand le bistable IV 4 est monté à 1 et que le registre DTO est chargé avec le dernier octet de la mémoire tampon, cet octet est envoyé au POU avec le signal TMO. Dans le cas d'un transfert de données terminé par le POU par émission diun signal TMI, le firmware IOC peut avoir besoin de connaltre le nombre d'octets qui ont effectivement été envoyés au POU. Cette information est contenue dans le registre L1 qui est chargé à l'initialisation avec la valeur du compte CCU et décrémenté chaque fois qu'un octet est transmis au POU. Durant l'exécution du chainage de données, le compte de l'entrée de canal suivant est inscrit dans le compteur local du CCU 11 mais aussi dans le registre L2 du CHU et lorsque les instructions de l'entrée de commande de canal ont été exécutées, au niveau de l'interface PSI, le registre Li est chargé avec le contenu du registre LL Quand durant l'exécution du chainage de données le firmware IOC détecte que cette exécution doit être suspendue (bistable L2B porté à 1) le firmware monte à 1 un bistable MSK du CHU dont l'effet est de stopper les demandes d'interruption pour les séquences DQ quand tous les octets des registres ont été envoyés au POU. Ce mécanisme est principalement utilisé pour synchroniser l'exécution du programme canal avec les octets envoyés sur le PSI. Le pointeur PP est un pointeur des emplacements déjà écrits donc sur lesquels MP a déjà pointé. MP doit être en avance sur PP dans le cas de Iiécriture. Cette avance est maintenue par des demandes d'écritures de CHU adressées à la mémoire centrale à une fréquence suffisante en fonction des emplacements libres, clest-à-dire, de ceux qui n'ont jamais été écrits et ~de ceux qui ont déjà été lus. Deux situations peuvent se présenter - MP et PP ont franchi le même nombre de fois la limite supérieure de la mémoire, on a alors : MP-PP - MP et PP n'ont pas franchi le même nombre de fois la limite supérieure, on a alors: (16 + MP) - PP) 0. L'un des buts de ces pointeurs est de conna#re à chaque instant le nombre N d'octets qui sont présents dans la mémoire tampon. Il est possible de compter le nombre d'octets qui ont été transférés sur l'interface OBI et de soustraire un compte de Itautre en fonction du sens des transferts. Au début diun transfert, le pointeur de périphérique PP est chargé dans le cas d'une lecture (entrée) par 10 en hexadécimal et dans le cas dtune écriture (sortie) par 00. PP est incrémenté de 1, chaque fois qu'un octet est échangé avec POU. Au début diun transfert de données, MP est remis à zéro. Pendant une séquence de transfert DQ, MP est incrémenté du nombre droctets qui sont échangés entre le CHU et la mémoire centrale. La figure 4 représente l'évolution des compteurs PP du contrôleur de périphérique 2 et MP de la mémoire ou de l'unité de commande de canal CCU 10 au cours dtopérations de lecture (fig. 4a) ou d'entrée de données et d'écriture ou sortie de données (Fig 4b). Sur cette figure, Irévolution du contenu des compteurs a été représentée par des lignes droites. En fait il n'en est pas ainsi puisque le transfert est opéré soit octet par octet sur le PSI, soit 4 octets par 4 octets vers la mémoire.- D autre part, le parallélisme des courbes laisse à penser que les transferts sont effectués à la même vitesse de part et d'autre de la tête CHU. En fait, il n'en est rien. Ces hypothèses simplificatrices étant précisés, on voit sur la figure 4 a que le compteur (PP) i : 4 est incrémenté de 1 chaque fois qu'un octet passe du registre DTI dans une position de la mémoire 40. Cette mémoire reçoit successivement les octets de O à 15 du transfert, sur cette figure on a supposé que lorsque 4 octets étaient présents, ils étaient transmis immédiatement vers la mémoire centrale. Les données continuent à parvenir du PSI à la même cadence. Tant que le contenu du compteur (PP) 1 : 4 est supérieur au contenu du compteur (MP) O : 4, le nombre d'octets présents dans la mémoire tampon est donné par l!expression PP-MP ou plus exac * tement pour des raisons pratiques par PP + MP. Cette considération est valable chaque fois que PP et MP ont atteint un même nombre de fois leur limite te supérieure qui est dans le cas considéré de 15.Par contre, lorsque le contenu de PP est repassé à zéro après avoir compté jusquià 15 et que le contenu de MP continue à contre, l'expression ci-dessus ngest plus applicable, le nombre octets présents ne pouvant pas être négatif. Dans ce dernier cas, l'expression à prendre en considération n'est plus PP + MP, mais (16 + PP) + MP*et cela tant que MP nia pas compté jusqu'à 15.Cette addition de 16, (ou de 10 dans une base hexadécimale) est indiquée par le changement d'état du bit PP O qui initialement porté à 1, descend à zéro lorsque (PP) 1 : 4 est égal à 15 et remonte à 1 lorsque MP O : 4 passe à 15. A la figure 4b est représentée llévotution des compteurs dans le cas de l'écriture de données. initialement, les deux compteurs sont à zéro. L'opération commence par l'introduction dans la mémoire tampon de 4 octets et se poursuit par des arrivées successives de 4 octets. Par contre, comme il a déjà été dit, les données sont transmises octet par octet dans le registre de sortie DTO. Le contenu du compteur PP est un pointeur vers un emplacement déjà écrit, clest-à-dire sur lequel MP a déjà pointé.Cette avance doit être maintenue par des demandes d'écriture de la mémoire tampon 40 (Fig. 3) adressées à la mémoire centrale 4 à une fréquence suffisante par rapport aux emplacements libres de cette mémoire tampon, c1est-à-dlre des emplace ments, ou aucune lecture nia été faite ou des emplacements pour lesquels la dernière opération a été une lecture. Comme précédemment, deux cas peuvent se présenter : les deux compteurs ont franchi tous les deux le même nombre de fois leur limite supérieure qui est de 15, ou le compteur MP a franchi une fois de plus cette limite supérieure que le compteur PP. Dans le premier cas, le nombre dioctets présents en mémoire est donné par l'expression MP-PP > O.Dans le second cas, -l'expression à prendre en considération est (16 + MP) - PP > O. L'addition du nombre 16 au compteur MP est maté rialisée par la montée état du bit (PP) O : 0 qui initialement était à zéro. Ce bit retombe à zéro lorsque (PP) i : 4 atteint à son tour le même maximum. Dans le cas diune écriture, la colonne dans laquelle octet doit être inscrit est donné par (MP) 2: 2 et la ligne dans la colonne par (MP) O : 2, alors que dans le cas d'une lecture, octet est inscrit à la position i. j de la matrice avec i = (PP) 1 2 et2-et j = (PP) 3 : 2. La figure 5 représente le schéma par bloc de la gestion des données. Les circuits représentés ont pour but de déterminer sous quelles conditions une demande de transfert de données DQR peut être émise. Les valeurs de (PP) 1 : 4 et de (MP) 0: 4 sont additionnées dans l'étage additionneur 46 et géyaient le signal DP: 0 : 4. Ce signal DP est appliqué d'une part sur un étage 47 qui détermine si le nombre d'octets présents dans la mémoire 40 est inférieur à 4, cas dans lequel aucune transmission ne peut être effectuée vers le processeur central et surin étage 48, parallèlement au bit (PP#O : 1 qui détermine si la mémoire est vide. L'étage 48 vérifie que la différence (PP) 0 : 5 - MP (0: 4) est différente de 16, clest-à-dire si elle est différente de 10 en hexadécimal.La sortie de l'étage 48 est reliée à une entrée dtune porte ET 50 dont la sortie génère la demande de transfert DQR si les autres entrées sont à 1. La sortie de l'étage 48 est branchée à l'une des entrées d'une porte ET 49, la seconde entrée recevant le signal (TMIU )? La sortie de la porte ET 49 est elle-même reliée à une entrée de la porte ET 50 à travers une porte OU 51. La-seconde entrée de la porte OU 51 est reliée à la sortie d'une porte ET 52 qui reçoit d'une part le signal IN ou OUT# et d'autre part le si- gnal de sortie diune porte OU 53.La porte OU 53 reçoit sur ses entrées de signaux de codes de transfert qui sont les signaux TMI (émis par le POU 2 pour signifier à I'IOC une demande de transfert, la mémoire 40 et le buffer 41 que ayant emmagasiné 17 octets) TMO (émis par IIIOC pour signifier au PCU/le transfert est terminé au niveau de la mémoire centrale) et un signal de fin de bloc et d'attente de chainage de données. Sur la troisième entrée de la porte 50 est appliqué le signal (1V) 4 du bistable IV4 qui est monté à 1 pour indiquer la fin de transfert au niveau de la mémoire. Une interruption pour un transfert de quatre octets entre la mémoire centrale et le POU est demandée chaque fois #que cela est possible. Durant un transfert de sortie (OUT = 1), il est nécessaire que le nombre de sorties d'octets soit inférieur ou égal à 177 que le POU niait pas in interrompu le transfert par émission d'un signal TMI et que le dialogue avec la mémoire centrale ne soit pas terminé((lV) 4 = 1). Durant une opération de lecture ou rentrée de données il est nécessaire que le nombre d'entrées dtoctets soit supérieur ou égal à quatre que le POU 2 n'ait pas interrompu le transfert par émission d'un signal TMI et que le dialogue avec la mémoire ne soit pas interrompu.Il est aussi possible ou nécessaire de générer une interruption pendant une séquence d'entrée lorsque: - Le POU 2 termine le transfert par TMI et qu'il reste quelques octets à transférer en mémoire centrale; - L'ION termine le transfert par TMO et qu'il reste encore quelques octets à transférer en mémoire centrale; - à la fin d'un bloc de drainage de données si le suivant n'a pas été chargé. L'unité de tamponnage qui vient d'être décrite constitue un dispositif de régulation de cadence des transferts de données et facilite une optimalisation de ceux-ci. Il permet d'une part une adaptation des largeurs de mots à transmettre qui sont sur le PSI de un octet et sur l'interface de canal OBI de quatre octets et diautre part de gérer les arrivées et les sorties de données indépendamment les uns des autres dans les limites de la mémoire tampon. REVENDICATIONS 1) Dispositif de régulation de cadence detransfertsde données entre un organe périodique et un organe apériodique reliés par au moins un canal de communication, dispositif comprenant une mémoire tampon, caractérisé en ce que cette mémoire tampon est constituéeidlun du ensemble de registres orga- nisés en file et des moyens d'adressage permettant écriture et la lecture de multiplets d'informations dans les registres ainsi que leur transfert sur l'un des deux interfaces de la mémoire tampon sous la commande de codes de service émis par l'un des deux organes. 2) Dispositif selon la revendication 1, caractérisé en ce que les moyens d'adressage sont constitués par deux compteurs MP et PP qui comptent respectivement/nombre d'informations échangées entre l'organe apériodique et la mémoire tampon et entre organe périodique et la mémoire tampon et définissent la position de lecture ou d'écriture dans la mémoire tampon, un troisième compteur de la différence entre les contenus des deux premiers compteurs donnant à tout moment le nombre de positions libres de la mémoire tampon. 3) Dispositif selon les revendications 1 et 2 caractérisé en ce que les registres de la mémoire tampon sont disposés selon une matrice dont le nombre de lignes est égal au nombre de multiplets à transmettre simultanément à l'un des deux organes. 4) Dispositif selon les revendications 1 et 2 caractérisé en ce que une mémoire tampon auxiliaire dounification et dont la contenance est égale au quantum minimum d'informations transmises simultanément est placée entre la mémoire tampon et l'organe périodique, ladite mémoire auxiliaire comprenant un registre spécialisé pour les entrées de données et un registre spécialisé pour les sorties de données 5) Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que il comporte pour le transfert de données chainées deux compteurs supplémentaires recevant respectivement la longueur totale de la séquence enchainée et la longueur totale de la prochaine séquence enchainée le premier compteur étant décrémenté par un chaque fois qu'une donnée est transmise pour passer à zéro à la fin de la séquence, le second compteur transférant alors son contenu dans le premier compteur. 6) Dispositif selon les revendications 1, 2 et 3 caractérisé en ce que chacun des deux compteurs défini a l'intérieur de la matrice une position de multiplet. 7) Dispositif selon lxune des revendications 1 à 6, caractérisé en ce que la matrice étant constituée de N lignes et de N colonnes, l'un des compteurs possède N positions de bits et le second compteur N + l positions de bits. 8) Dispositif selon les revendications l, 2 et 3 caractérisé en ce que le nombre de lignes de la matrice est égal au nombre de multiplets à trans mettre simultanément à I organe apériodique.