Brevet FR2094029A1 — publié le 19720204

L'invention concerne une mémoire pour l'emmagasinage. temporaire de données qui sont échangées entre des systèmes de traitement de données indépendants les uns des autres avec des vitesses de traitement pouvant être différentes, dans laquelle on peut introduire des donnes provenant de différents système mes de traitement de données par l'intermédiaire de différents conducteurs d'entrée et d'où lton peut extraire des données destinées à différents systèmes de traitemènt de données par 11 intermédiaire de différents conducteurs de sortie, et dans laquelle sont prévus des registres pour l'emmagasinage temporaire des données. De telles mémoires servent de mémoires de transit pour découpler en cadence deux systèmes de traitement de données indépendants lors de la transmission de données.-La mémoire de transit est chargée par un système de traitement de données. Elle peut être vidée par un autre système de traitement de données de façon indépendante et asynchrone par rapport au processus de charge. Les fréquences de transmission pour l'introduction et l'extraction de données n'ont pas besoin de coïncider. Les mémoires de transit sont notamment utilisées en liaison avec des groses mémoires périphériques d'installations de traitement de données. Dans ce as, la mémoire de transit du dispositif de transmission de données doit pouvoir établir la liaison entre le support de mémorisation et l'installation de calcul par l'intermédiaire de plusieurs signaux. L'emmagasinage temporaire a lieu dans les deux sens. Les mémoires de transit connues comportent un grand nombre d'étages de transit qui sont disposés en serie par rapport aux conducteurs d'entrée et de sortie. Dans ces mémoires chaque signal traverse tous les étages de la memo-ire#de transit les uns après les autres. Llintreduction:de données s'effectue dans le premier étage et l'extraction a lieu dans le dernier étage. La transmission du signal provenant d'un étage K à l'é- tage suivant K + 1 est effectuée automatiquement par un circuit de commande dès qu'il existe un signal dans l'étage K et que l'étage K + 1 est vide. Cependant ces mémoires de transit connues présentent des inconvénients lorsqu'elles doivent être insérées dans un bloc de commande commandé par des microprogrammes et comportant des conducteurs omnibus.Dans un bloc de commande de ce type la commande est partiellement assumee par le microprogramme, Ainsi, par exemple, chaque introduction de données, provenant du bloc de calcul, dans là mémoire de tr#ansit fait apparaître un plus grand nombre d'ordres individuels qui décalent le signal jusqu'au dernier étage libre. Avant chaque décalage on devra vérifier par exemple Si l'éta- ge suivant est déjà occupé. Ceci conduit, notamment dans le cas de vitesses de transmission élevées et dans le cas d'un plus grand nombre d'étages de transit, à des exigences, pour la durée du cycle des microinstructions, qui ne peuvent pas être remplies. Le terme conducteur omnibus désigne un conducteur de données qui peut être couplé avec un certain nombre de cirez cuits qui sont la plupart du temps du même type, par exemple des registres, Ce couplage peut être commandé. Ce conducteur omnibus sert -soit à la répartition des données vers plusieurs circuits d'utilisation soit à la réception de données provenant de plusieurs sources de données, Chaque conducteur omnibus peut aussicomporter plusieurs canaux indépendants les uns des autres, par exemple pour la transmission en parallèle de tous les bits d'un signal. La présente invention se propose de réaliser une mémoire de transit qui peut aussi être insérée dans un bloc de commande commandé par des microprogrammes. Ce problème est résolu en utilisant des registres branchés en parallèle par rapport aux conducteurs d'entrée et de sortie, et un circuit de commande qui, lors de l'arrivée de données sur un des conducteurs d'entrée, relie les différents registres les uns après les autres, suivant une séquence déterminée par ledit circuit de commande, au conducteur d'entrée et qui, à la demande d'au moins un système de traitement de données, relie les uns après les autres les différents registres, suivant la séquence de la mise en mémoire, à au moins un conducteur de sortie, Les différents étages de la mémoire, åppelée ciaprès mémoire de transit, sont constitués par dës registres qui sont branchés en parallèle. Ces registres sont situés entre deux ou plusieurs conducteurs d'-entree ët de sortie qui peuventêtrevdes conducteurs omnibus. Ces conducteurs trée et de sor~ié permettent dtintroduire des données dans dans les différents étages de transit (registres), ou de les en extraire. Dans ce qui suit les conducteurs d'entrée et de sortie seront représentés par des conducteurs omnibus. La commutation des conducteurs omnibus vers ou en provenance de la mémoire de transit peut être commande et coordonnée par deux compteurs cycliques modulo-n distincts. La comparaison des deux états des compteurs et la production d'indications de situation pouvant être consultées, permet d'as- surer, d'une part que le compteur commandant l'extraction de données (compteur de sortie) suit constamment le compteur commandant l'introduction de données (compteur d'entrée) et que d'autre part le compteur d'entree ne devance pas le compteur de sortie. Par conséquent l'introduction de données dans une mémoire de transit pleine et l'extraction de données à partir d'une mémoire de transit vide sont interdites. La mémoire suivant l'invention peut par principe être utilisée pour n'importe quelle mémoire de transit. Elle présente cependant des avantages importants dans les blocs de commande microprogrammés comportant des conducteurs omnibus. Le système de conducteurs omnibus existant dans ce bloc de commande et les registresvà usages multiples branchés entre ces conducteurs omnibus peuvent être utilisés partiellement directement comme mémoire de transit. Les compteurs nécessaires pour la répartition cyclique des données s'adaptent facilement au système. La répartition des données est commandée directement par les compteurs, ou bien les contenus des compteurs modifient ou remplacent les adresses des registres fournies par le mot de microordre. L'accès de la mémoire de transit est rapide et ne nécessite pas beaucoup d'ordres. Chaque transfert de signaux comporte principalement un ordre de transfert propre et une interrogation préalable concernant la présence éventuelle d'un blocage du transfert, La présente invention sera mieux comprise à l'aide de la description suivante d'une forme de réalisation particulière donnée à titre d'exemple et représentée au dessin annexé dans leauel : ~ La figure 1 représente l'agencement des registres de travail dans un système de conducteurs omnibus. La figure 2 représente la mémoire suivant l'invention dans un système de Conducteurs omnibus.# La figure 1 représente l'agencement d~es regi;stres dans un système de conducteurs omnibus Les registres RI à RN sont branchés entre les conducteurs omnibus d'entrée SLE et les conducteurs omnibus de sortie SLA1, SLA2. Pour tconneeter les conducteurs omnibus SLE et SLA aux registras R1 - #RN, des circuits de porte sont prévus. Les conducteurs omnibus SLE,SLAl et SLA2 sont respectivement relies aux registres R1 RN par les circuits de porte GE, GA1 et GA2.La commande des circuits de porte est effectuée à l'aide d'un signal qui est appliqué sur les entrées El - EN du circuit de porte GE, les entrées Al - AN du circuit de porte GAl et les entrées B1 - BN du circuit de porte GA2 . A l'aide de ces circuits de porte il est ainsi possible de relier les conducteurs omnibus SLE, SLA avec chacun des registres R1 - RN. Chaque conducteur omnibus SLE, SLA peut être constitué par plusieurs canaux indépen- dants les uns des autres, par exemple huit, pour la transmission d'un groupe de bits. Chaque registre Rl - RN peut aussi comporter plusieurs emplacements de mémoire.Pour pouvoir,re- lier chaque canal des conducteurs omnibus SLE, SLA avec les différents emplacements de mémoire des registres R1 - RN, il doit y avoir plusieurs circuits de porte GE, GA par registre. Si on doit relier huit canaux d'un conducteur omnibus à huit emplacements de mémoire d'un registre, il faut alors huit circuits de porte. On utilise un système de conducteurs omnibus de ce type pour la mémoire de transit suivant l'invention (figure 2). Les registres R1 - RN sont disposés en parallèle par rapport aux conducteurs omnibus SLE, SLA. Les circuits de porte GE sont branchés entre les conducteurs omnibus SLE d'entrée et les registres Rl - RN, et des circuits de porte GA sont branchés entre les conducteurs omnibus SLA de sortie et les registres R1 - RN. Etant donné que chaque signal à emmagasiner temporairement comporte M bits, chaque registre R1 - RN comporte FI emplacements de mémoire. Si M = 8, les conducte-urs omnibus SLE, SLA comportent huit canaux. De fanon corres,pondante les circuits de porte GE et GA doivent être au nombre de huit pour chaque registre.Etant donné qu'il existe N registres, on peut emmagasiner temporairement N signaux. L'autorisation et le blocage des circuits de porte GE, GA sont réalisés par un circuit de commande, Ce circuit comporte un compteur ZE (compteur d'entrée) pour la commande des circuits de porte CE, un compteur ZA (compteur de sortie > pour l'autorisation et le blocage des circuits de porte GA, un comparateur VG, une bascule bistable FF, deux circuits ET Ul, U2 et un circuit OU 01. Un circuit de décodage DC peut être prévu entre lé compteur d'entrée ZE ou le compteur de sortie ZA et les circuits de porté CE ou GA, ce circuit de décodage transformant l'état du compteur dé façon que seuls les circuits de porte associés à un registre soient autorisés. D'autre part, à l'oppose de ce qui est représenté dans la figure 2, l'état des compteurs ZE et ZA peut être utilisé pour modifier ou remplacer des adresses de microordres Dans ce cas les registres R1 - RN' sont couplés aux conducteurs omnibus par l'intermédiaire du microordre. Si des données doivent être mémorisées dans la mémoire de transit, une impulsion de cadence d'entrée est transmise par le conducteur TE à la mémoire de transit. Si des données doivent être extraites de la mémoire de transit à la demande d'un système traitement de données, une impulsion de cadence de sortie apparaît sur le conducteur TA. Si plusieurs conducteurs SLE'ou SLA sont reliés aux registres R1 - RN, le nombre des compteurs #ZE ou ZA doit être augmenté de façon correspondante. Les signaux à M positions a emmagasiner temporairement sont répartis les uns après les autres dans les registres R1 - RN par les conducteurs omnibus d'entrée SLE. La répartition est commandée par le compteur d'entrée ZE, par exemple un compteur binaire, dont l'état de comptage décodé couple, -par l'intermédiaire des circuits de porte CE, le conducteur omnibus SLE avec chacun des registres RI à RN à remplir. Cetté commande-peut être réalisée soit directement soit en modifiant ou en remplaçant une adresse provenant du mot de mi cro6rdre. A la fin de cfraque"transfert lé compteur d'entrée ZE -est avancé d'une position. - Lorsque le registre R1 est plein, l'extraction des données à partir de la mémoire de transit peüt commencer. Les registres R1 à RN sont vidés suivant la meme séquende que celle suivant laquelle" ils ont été remplis lors de l'introduction de données.L'extraction "de'do"Iinées est commandée de la même fa çon que l'introductíon de données ~ le compteur de sortie, par exemple -un#'compteur binaire, indique lequel des registres R1 RN est relié au conducteur omnibus SLA pour la restitution de données.-Après que le registre RN a été rempli ou vidé chacun des compteurs ZE, ZA, indépendamment l'un de l'autre, passe de nouveau sur la position de comptage correspondant au registre R1. Lorsque la mémoire de transit comporte N registres, soit N étages, les compteurs doivent être des compteurs modu lo-N. Le- comptage ne doit pas nécessairement être effectué avec des-nombres binaires croissant linéairement. On doit seulement assurer que les deux compteurs ZE, ZA suivent la même loi afin que la séquence des signaux soit la même lors de l'introduction et de la restitutio#n des données, L'extraction des données peut être réalisée de fa çon tout à fait asynchrone par rapport à l'introduction des données. On doit cependant être sûr de ne pas extraire de données d'un registre vide et de ne pas en introduire dans un registre plein.Ces exigences sont satisfaites lorsque, avant un transfert, on s'assure que les deux compteurs ZA, ZE ne sont ni en retard, ni en avance l'un sur l'autre. Après les dernières données qu'il est encore possible de transférer, le comptage d'un des compteurs a augmenté de telle sorte que les positions des deux compteurs sont identiques. Ce critère est utilisé pour empêcher un autre transfert du type apparu en dernier. Le blocage-peut être supprimé uniquement lorsque entre temps un transfert de lt autre type a lieu. Pour résoudre ce problème, on prévoit un 'comparateur VG, par exemple un circuit d'équivalence, Lorsque le comparateur VG indique un état identique des deux compteurs ZE, ZA l'introduction ou l'extraction de données doit être interdite. La nature du signal qui apparaît dépend du fait que l'identité est prov'oquée'par une impulsion de cadence d'entrée ou de sortie. Cette indication est fournie par la bascule bistable FF qui est mise dans l'é- tat excité par les impulsions de cadence d'entrée apparaissant sur le conducteur TE et qui est mise à l'état de repos' par les impulsions d-e cadence de sortie TA'. La combinaison ET du signal de sortie du compara- -teur et-des-signaux de sortie de ia-bascule bistable FF fournit -les signaux suivants I 1 Signal de "blocage d"entrée" àla sortie du cuit ET U1. Le comptage du compteur d'entrée ZE est"d-ev'enu égal' à celui du compteur de sortie,-ZA.- La mémoire dé transit est pleine, l'introduction d'autres données doit être interdite. 2. Signal de "blocage de sortie" apparaissant à la sortie du circuit ET U2. Le comptage du compteur de sortie ZA est devenu egal à celui du compteur d'entrée ZE, La mémoire de transit est vide. L'extraction d'autres 'données doit être interdite. L'état des signaux-de sortie d-es circuits ET U1, U2 doit être consulté avant l'exécution d'un transfert. Au dé- but de la séquence de transfert globale, les deux compteurs ZA, ZE sont ramenés dans la même position, par l'intermédiaire du conducteur TZ, et la bascule bistable FF reÇoit une impulsion de cadence de sortie, c'est-à-dire qu'un signal apparaît à la sortie du circuit ET U2. De ce fait l'extraction de données est interdite dans le cas où la mémoire de transit est pour le moment vide. L'extraction de données est autorisée lorsque les premiers signaux sont introduits dans la mémoire de transit. Il est judicieux d'effectuer les transferts de données vers et à partir de la mémoire en correspondance avec le flanc avant de l'impulsion de cadence d'entrée ou de sortie0 Par contre les flancs arrière des impulsions-de cadence sont utilisés pour la mise à l'état excité ou à l'état de 'repos des compteurs ZA et ZE et de la bascule bistable FF. L'invention a été décrite en se référant à un système de conducteurs omnibus. Cependant elle peut aussi être utilisée en dehors d'un tel système de conducteurs omnibus. En outre, il est possible de réaliser la commande d'une autre fa çon lorsque l'on est assuré que les différents- circuits de porte d'un registre peuvent être autorisés ou bloques suivant une séquence déterminée. Cette séquence, suivant laquelle les#si- gnaux qui apparaissent sont inscrits dans les registres, est arbitraire en elle-même. On doit seulement s'assurer que la même séquence est conserve lors de l'extraction des données. Les avantages particuliers apportes par la présente invention sont les suivants 1. Grâce au montage en parallèle de tous les étages de la mémoire de transit entre les conducteurs omnibus, la mé- moire est particulièrement appropriée pour être insérée dans un bloc de commande à microprogrammes. La mémoire de transit peut être inseree sans difficulté dans le système de registresutilise couramment dans ce type de bloc de commande où les registres sont remplis ou vidés à partir de conducteurs omnibus. 2. Etant donné que dans ce type de mémoire de transit l'introduction et l'extraction de données steffectuent par circulation, il suffit au total d'un transfert de données avec un contrôle préalable du blocage de transfert pouvant éventuel- lement exister pour chaque introduction ou extraction de données. De ce fait le transfert est rapide et peut être effectué avec un faible nombre d'ordres REVENDICATIONS 1. Mémoire pour l'emmagasinage temporaire de données qui sont échangées entre des systèmes de traitement de données indépendants les uns des autres avec des vitesses de traitement pouvant être différentes, dans laquelle on peut introduire des données provenant de différents systèmes de traitement de données par l'intermédiaire de différents conducteurs d'entrée et d'où l'on peut extraire des données destinées à différents systèmes de traitement de données par l'intermédiaire de différents conducteurs de sortie, et dans laquelle sont prévus des registres pour l'emmagasinage temporaire des données, caractérisée par le fait qu'elle comporte des registres branchés en parallèle par rapport aux conducteurs d'entrée-et de sortie, et un circuit de commande qui, lors de l'arrivée de données sur un des conducteurs d'entrée, relie les différents registres (R1 - RN) les uns après les autres, suivant une séquence déterminée par ledit circuit de commande, au conducteur d'entrée et qui, à la demande d'au moins un système de traitement de données, relie les uns après les autres les différents registres, suivant la séquence de la mise en mémoire, à au moins un conducteur de sortie. 2. Mémoire suivant la revendication 1, dans laquelle différents conducteurs comportant respectivement plusieurs canaux indépendants les uns des autres sent utilisés comme conducteurs d'entrée et de sortie, caractérisée par le fait que le nombre d'emplacements de mémoire de chacun des registres (R1 - RN) correspond au nombre de canaux par conducteur omnibus et que le circuit de commande relie simultanément chaque canal d'un conducteur omnibus à un des emplacements de mémoire d'un registre 3.Mémoire suivant l'une des revendications 1 ou 2, caractérisée par le fait que le circuit de commande comporte un compteur d'entrée (ZE) qui commande l'autorisation et le blocage des circuits de porte (GE) branchés entre les registres (R1 - RN) et le ou les conducteurs d'entrée, pour emmagasiner des informations suivant la séquence déterminée, un compteur de sortie (ZA) qui commande l'autorisation et le blocage des circuits de porte (GA) branchés entre le ou les conducteurs de sortie et les registres (R1 - RN) pour extraire des données suivant la séquence déterminée, et un circuit pour indiquer le remplissage de la mémoire et qui est relié au conducteur fournissant les impulsions de cadence d'entrée (TE), au conducteur fournissant les impulsions de cadence de sortie (TA) et aux sorties des compteurs d'entrée et de sortie. 4. Mémoire suivant la revendication 3, caractérisée par le fait que les compteurs d'entrée et de sortie sont des compteurs binaires qui commandent directement les circuits de porte par l'intermédiaire de circuits de décodage (DC), seuls les circuits de porte associes à un registre étant autorises. 5 Mémoire suivant la revendication 3, caractérise par le fait que les compteurs d'entrée et de sortie sont des compteurs binaires qui influencent la partie adresse des mots d'ordre de microprogrammes, seules les portes associées à un registre étant respectivement autorisées par l'intermédiaire des adresses. 6. Mémoire suivant la revendication 3, caractérisée par le fait qu'elle comporte un circuit pour indiquer le remplissage de la mémoire et constitué par un comparateur (VG) qui est relié aux compteurs d'entrée et de sortie, une bascule bistable (FF) dont l'entrée de mise à l'état excité est reliée au conducteur fournissant les impulsions de cadence d'entrée (TE) et dont l'entrée de mise à l'état de repos. est reliée au conducteur fournissant les impulsions de cadence de sortie (TA), et deux circuits ET (U1, U2) dont l'un est relié à une des sorties de la bascule bistable (FF) et à la sortie du comparateur (VG) et dont 11autre est relié à l'autre sortie de la bascule bistable (FF) et à la sortie du comparateur (VG).