FR 2115397 A1 19720707 FR 7142219 A 19711125 71 42219 2115397 La présente invention se rapporte aux installations de traitement de données numériques, telles que les ordinateurs ou leurs unités centrales, ainsi qu'aux réseaux d'éléments logiques utilisés dans d'autres appareils dans lesquels plusieurs registres à 5 décalage sont connectés en série pour traiter les données, et elle concerne de tels registres à décalage eux-mêmes. L'un des principaux avantages d'un tel équipement en série consiste en ce que le nombre des composants électriques ou électroniques est réduit à une valeur minimale par comparaison avec 10 l'installation de traitement en parallèle dans laquelle les données sont traitées simultanément dans plusieurs canaux, chacun de ces canaux étant séparé, de sorte qu'il en résulte une multiplication des composants. Cependant, un sérieux inconvénient présenté par l'installation de traitement en série par comparaison avec 15 l'équipement de traitement parallèle réside dans le temps mis pour traiter les données. Dans une installation de traitement en parallèle tous les bits d'un mot sont traités virtuellement simultanément alors que dans une installation de traitement en série les bits sont traités en séquence ou en série ce qui prend évi-20 demment beaucoup plus de temps pour obtenir le même résultat. Par conséquent, il est souhaitable que la vitesse ou le teisps de traitement des données dans les appareils du type série ne soit pas encore augmenté par des problèmes de synchronisation. Actuellement, dans les appareils du type série, les signaux d'horloge ou de syn-25 chronisation appliqués aux registres sont transmis à travers des circuits de porte ou d'acheminement respectifs dont chacun présente son propre délai ou retard dans le temps et il est inévitable que ces délais ou retards dans le temps soient inégaux. S'il en est ainsi et que les délais soient également inférieurs aux délais 30 des cellules de mémoire individuelles des registres respectifs, il peut en résulter un transfert erroné des données. Cette synchronisation incorrecte des signaux d'horloge traversant les circuits de porte est dénommée désalignement d'horloge ou de synchronisation et, pour l'éviter dans les montages connus, il est nécessaire 35 d'introduire des délais supplémentaires ou des retards de temps extérieurs, ce qui entraîne le résultat peu souhaitable que le temps mis pour effectuer le traitement des données est augmenté. L'un des buts de l'invention est de permettre la réalisation d'une installation de traitement de données numériques comportant ' COPY 71 42219 2 2115397 plusieurs registres à décalage en série et dans laquelle le désalignement d'horloge ou de synchronisation est éliminé sans affecter la vitesse de traitement des données. L'invention est matérialisée dans un registre à décalage ca-5 ractérisé en ce qu'il comprend trois ou plusieurs éléments ou cellules de mémoire dont au moins les première et dernière cellules, mais pas toutes les cellules, sont commandées par des impulsions d'horloge communes, et vin dispositif intermédiaire ou tampon connecté à l'entrée d'au moins l'une des cellules de mé-10 moire qui n'est pas commandée par les impulsions d'horloge communes, les dernières cellules de mémoire étant commandées par des impulsions d'horloge supplémentaires liées dans le temps ou liées logiquement aux impulsions d'horloge communes, le dispositif tampon étant commandé par des impulsions d'horloge liées dans le 15 temps ou liées logiquement aux impulsions d'horloge communes ou étant commandé par les impulsions d'horloge supplémentaires. Les impulsions d'horloge communes peuvent être commandées séparément, grâce à quoi ces impulsions ne sont pas appliquées jusqu'à ce qu'elles soient nécessaires. 20 L'invention est également matérialisée dans une installation de traitement de données numériques, caractérisée en ce qu'elle comprend plusieurs registres à décalage du type précité qui sont connectés en série. Le fait de prévoir le dispositif tampon dans chacun des re-25 gistres permet d'obtenir le retard ou délai de temps qui est nécessaire pour éviter le désalignement d'horloge ou de synchronisation, mais l'emplacement de ce dernier est tel qu'il ne détermine aucune augmentation du temps de traitement de données qui pourrait atteindre et dépasser le temps maximal imposé par les 30 retards ou délais de temps inhérents aux composants utilisés. L'appareil de traitement de données selon l'invention est applicable dans de nombreux domaines et peut être utilisé avantageusement pour le traitement des donnée^ provenant par exemple de systèmes destinés à faciliter la navigation du type système 35 de radionavigation ou système de navigation inertielle, ainsi que dans les équipements de navigation et de commande de salle des machines prévus notamment sur les navires. Cet équipement peut également être utilisé pour traiter et acheminer des messages transmis sur un réseau de télécommunications en direction d'un 71 42219 3 2115397 centre de relais et de commutation des messages et à partir de ce dernier. De plus, l'invention peut être appliquée à la commande du traitement en direct avec un ordinateur, à des terminaux de télécommunication liés à un ordinateur pilote et à des systèmes 5 de commande d'admission d'air pour une turbine à gaz. Dans ce dernier type de système l'appareil de traitement de données numériques est utilisé pour produire des signaux de commande destinés à des dispositifs pouvant être actionnés de manière à faire varier l'admission de l'air appliqué à la turbine à gaz. 10 Un appareil de traitement de données numériques selon l'inven tion va maintenant être décrit plus en détail et à titre d'exemple seulement, en se référant aux dessins annexés dans lesquels : la fig. 1 est une représentation schématique d'un appareil de traitement de données type utilisant des registres à décalage con-15 nectés en série. Les fig. 2 et 3 sont des diagrammes de temps permettant d'expliquer le fonctionnement de l'appareil visible sur la fig. 1. La fig. 4 est une représentation schématique d'ion registre à décalage selon l'invention. 20 La fig. 5 est une représentation schématique plus détaillée du registre à décalage visible sur la fig. 4. La fig. 6 est un diagramme des temps supplémentaire permettant d'expliquer le fonctionnement du registre à décalage selon 1'invention. 25 Si l'on se réfère maintenant à la fig. 1, celle-ci montre trois registres à décalage A, B et C qui sont interconnectés et dont chacun comporte plusieurs éléments ou cellules de mise en mémoire des données individuelles et qui sont commandés par trois types de signaux, à savoir : 30 En premier lieu un signal d'horloge principal MC constitué par un train répétitif d'impulsions liées au nombre des cellules de mémoire existant dans les registres A, B et C. En second lieu des signaux de commande à deux états A', B' et C' qui dans un état permettent aux impulsions d'horloge princi-35 pales ou pilotes de traverser le registre correspondant et qui dans l'autre état empêchent les impulsions d'horloge principales d'effectuer cette traversée. Des signaux de commande à deux états Aa, Ab, Ac, Bb, Ba, etc., qui dans un état permettent au signal de sortie d'un registre de 71 42219 4 2115397 passer aux registres restants, et qui dans l'autre état empêchent ce passage des données. Lorsqu'on utilise ce montage et lorsqu'un signal de commande, par exemple le signal A', change d'état en synchronisme avec la 5 forme d'onde d'horloge principale, les données emmagasinées dans les cellules du registre A sont décalées d'une cellule jusqu'à la suivante à l'apparition de chaque impulsion d'horloge.Si par exemple les signaux B' et Ab changent également d'état de sorte que le registre B reçoit également un train d'impulsions 10 d'horloge principales et que le signal de sortie provenant du registre B est constitué par le signal d'entrée Cb appliqué au registre C, l'information antérieurement emmagasinée dans les cellules du registre B est transférée, cellule par cellule, dans le registre A. A la fin du train des impulsions d'horloge prin-15 cipales, les signaux considérés ici peuvent être établis à l'autre de leurs états pour empêcher tout nouveau transfert de données. A cet instant du temps, les données emmagasinées dans le registre A peuvent être soit la réplique exacte des données antérieurement emmagasinées dans le registre B, soit une fonction logique ou 20 arithmétique de l'un quelconque des registres, ou bien une combinaison de ces deux éléments, selon les propriétés des circuits utilisés pour commander les signaux de données d'entrée appliqués aux divers registres. Dans un système pratique, les signaux traversant chacun des 25 circuits de porte ou de conditionnement a, b, c présentent un retard ou délai dans le temps et, d'une façon similaire, la modification apparaissant dans le signal de sortie provenant d'une cellule de mémoire peut être retardée par rapport à l'impulsion d'horloge. Si les délais ou retards apparaissant à travers les 30 diverses portes a, b, c sont inégaux et supérieurs aux délais ou retards de la cellule de mémoire, il peut en résulter un transfert erroné des données. Par exemple, si comme le montre la fig. 2 le retard correspondant à la traversée du circuit de porte a est supérieur à la somme des retards correspondant à la traversée de 35 la porte b, d'une porte ab, et de la sortie de la dernière cellule de mémoire du registre B, les données seront perdues si des signaux de commande sont appliqués pour transférer les données du registre B dans le registre A Ce phénomène a lieu du fait qu'au moment t^ où le signal de sortie provenant de la dernière 71 42219 5 2115397 cellule de mémoire du registre B est modifié pour représenter l'état antérieur de la pénultième cellule de mémoire, et qu'au moment t^ le signal d'entrée appliqué au registre A correspond à l'état antérieur de la pénultième cellule du registre B. 5 Ces données sont transférées dans le registre A et l'état antérieur de la dernière cellule de mémoire du registre B est perdu. Cette synchronisation incorrecte des signaux de sortie d'horloge provenant des portes a, b, c est dénommée un désalignement d'horloge ou de synchronisation. D'une façon idéale, la synchronisation 10 des formes d'ondes devrait être celle qui est visible sur la fig. 3, dans laquelle le signal d'horloge appliqué au registre A apparaît avant que le signal de sortie provenant de la dernière cellule de mémoire du registre B ne change d'état à cause de l'impulsion d'horloge de sortie provenant de la porte b. 15 Si l'on se réfère maintenant à la fig. 4, le registre à déca lage série selon l'invention comporte des lignes d'entrée et de sortie pour les données, désignées respectivement par DI et DO et il comprend une cellule de mémoire de données d'entrée Aq et une cellule de mémoire de données de sortie An qui reçoivent les im-20 pulsions d'horloge principales MC, simultanément avec les cellules de mémoire d'entrée et de sortie des autres registres associés, tels que ceux équivalent aux registres B et C de l'ensemble visible sur la fig. 1. Le registre comprend également un dispositif tampon ou intermédiaire se présentant sous la forme d'une 25 cellule de mémoire de données intermédiaire ou tampon A dont oo l'entrée est connectée à la sortie de la cellule de mémoire d'entrée Aq et dont la sortie est connectée à l'entrée de la première cellule d'un groupe de cellules intermédiaires A^.. Des circuits destinés au traitement du signal de commande s et 30 de la forme d'onde d'horloge principale sont prévus. Les cellules de mémoire d'entrée et de sortie Ao et sont d'un type tel que lorsque le signal de commande s occupe l'un de ses états aucune action n'est effectuée et que lorsque le signal de commande s occupe son autre état une impulsion d'horloge amène la cellule 35 de mémoire à être établie au même état que le signal d'entrée. Du fait que les cellules d'entrée et de sortie Aq et A^ reçoivent les impulsions d'horloge principales simultanément avec les première et dernière cellules de mémoire des autres registres, il ne peut se produire aucun transfert erroné de données 71 42219 6 2115397 entre la dernière cellule de mémoire d'un registre et la première cellule de mémoire d'un autre registre. La cellule de mémoire tampon AQO reçoit des impulsions d'horloge retardées ou des impulsions d'horloge présentant un état opposé par rapport aux impul-5 sions d'horloge principales, ou encore est d'un type qui est établi à l'état du signal d'entrée qui lui est appliqué par des impulsions présentant un état opposé à celui des impulsions qui commandent les première et dernière cellules de mémoire A et A . on La synchronisation des formes d'ondes appliquées à la première 10 cellule Aq et à la cellule tampon Aqo est telle que la cellule tampon emmagasine l'état de la première cellule pendant un certain temps après que cette première cellule a changé d'état. Les cellules de mémoire intermédiaires Aj^ à reçoivent des impulsions d'horloge qui proviennent des circuits de porte ou 15 d'acheminement et sont synchronisées par rapport aux impulsions d'horloge principales de sorte que les données emmagasinées dans la cellule tampon sont transférées dans la cellule A^ en même temps que les données se trouvant dans la cellule sont transférées dans la cellule A„. n 20 La vitesse de répétition ou fréquence maximale permise pour les impulsions d'horloge principales ou pilotes dépend des retards existant dans les trajets de transmission des données entre les registres. En plaçant l'étage tampon à l'intérieur du registre à décalage plutôt qu'à l'extérieur de ce dernier (dans le trajet de 25 transmissiondde données), le problème du désalignement d'horloge ou de synchronisation est éliminé sans affecter la vitesse de répétition ou fréquence maximale permise qui est obtenue sans aucun système de protection contre les désalignements d'horloge ou de synchronisation. Cette vitesse de répétition ou fréquence dépend 30 des caractéristiques des composants utilisés mais les recherches qui ont conduit à l'invention ont montré qu'un train à 8 MHz pouvait être utilisé et qu'il paraissait possible d'atteindre 15 MHz dans certaines applications. Si l'on se réfère maintenant à la fig. 5, celle-ci montre une 35 réalisation pratique du registre visible sur la fig. 4 qui a été obtenu en utilisant des composants pour circuits de logique transistor-transistor. Les première et dernière cellules de mémoire Aq et An se présentent sous la forme de bascules ou de multivibrateurs bistables du type JK, Fq et Fn, la cellule 71 42219 7 2115397 de mémoire tampon Aqq est constituée par deux conditionneurs d'intersection ou portes ET 1, 2 et par deux conditionneurs de réunion-négation ou portes NI 3, 4, et les cellules intermédiaires A^... An-1 du registre sont constituées par des bascu- 5 les ou multivibrateurs bistables du type D. FF,... FF ,. Deux 1 n-1 conditionneurs d'intersection ou portes ET 5 et 6 sont interposées entre la cellule de sortie Afl et la pénultième cellule An_jr et deux portes ET supplémentaires 7 et 8 sont prévues au niveau de l'entrée de la première cellule A^ les portes 5, 6, 10 7 et 8 recevant chacune un signal de commande par l'intermédiaire de trois conditionneurs d'intersection-négation ou portes NON-ET 9, 10 et 11. Les impulsions d'horloge principales MC commandent directement les première et dernière cellules A et A on et ces impulsions d'horloge principales commandent les cellules 15 intermédiaires A,..,A„ , par l'intermédiaire de conditionneurs 1 n-l c d'intersection-négation ou portes NON-ET 12 et 13. Par conséquent, les dernières cellules sont commandées par des impulsions d'horloge liées dans le temps aux impulsions d'horloge principales ou pilotes comme dans la cellule tampon Aqo qui est comman-20 dëe par des impulsions d'horloge principales ou pilotes inversées ou complémentées MC. Les impulsions d'horloge principales ou pilotes sont obtenues à partir des impulsions MC dans un bloc ou une unité de synchronisation principale 15 et par l'intermédiaire d'un conditionneur d'intersection-négation ou porte NON-ET 25 16. Les caractéristiques des bascules ou multivibrateurs bistables du type JK, Aq et An, sont telles que si un signal logique UN est présent au niveau des entrées J ou K lorsqu'une impulsion d'horloge apparaît au niveau de l'entrée C, la sortie Q du multi-30 vibrateur bistable est établie respectivement à la valeur logique UN ou à la valeur logique ZERO. S'il existe un signal logique ZERO au niveau d'à la fois les entrées J et K lorsque l'impulsion d'horloge apparaît au niveau de l'entrée C, l'état de la bascule ou du multivibrateur bistable reste sans modification. 35 Le décalage des données introduites dans les bascules Aq et An est par conséquent commandé par le signal de sortie de la porte 9, un signal logique UN permettant aux états des cellules Aq et Ar d'être établis en fonction des signaux apparaissant respectivement sur la ligne 14 d'introduction des données DI et sur le 71 42219 8 2115397 conducteur de sortie de la cellule A ,. n-1 Les caractéristiques des bascules ou multivibrateurs du type D, FFj... FFn_lf sont telles qu'une impulsion d'horloge provenant de la porte 12 amène le signal de sortie Q à être établi 5 dans le même état que le signal de l'entrée D. En ce qui concerne la cellule tampon ^00' une impulsion MC apparaissant au niveau des entrées des portes 1 et 2 amène la sortie Q de oo la porte 3 à être établie à la valeur ZERO par un signal UN apparaissant au niveau de la sortie Q de la bascule FF ou o o 10 bien à être UN sous l'effet d'un signal de sortie UN de la bascule FF . o La fig. 6 montre le diagramme des temps correspondant. Le signal MC est un train d'impulsions continu et le signal d'horloge principal ou pilote MC est produit à partir de ce signal 15 MC, le retard apparaissant dans la porte 16 étant suffisant pour assurer que le signal MC passe à une valeur ZERO avant que le signal d'horloge principal ou pilote ne prenne une valeur logique UN. Par conséquent, le signal MC passe à la valeur ZERO et la cellule tampon Aqq emmagasine l'état antérieur de la 20 cellule A avant que l'impulsion d'horloge principale ou pilote ne déclenche la modification d'état de la cellule A . Si l'un o quelconque des signaux de sélection de décalage SS devient un ZERO logique (le train des impulsions de décalage SPT étant visible au bas de la fig. 6), le signal de sortie provenant de 25 la porte 11 devient un UN de sorte que lorsque les signaux de commande de synchronisation du décalage STC apparaissent sur le conducteur 17 d'entré® de .la porte 10, un signal de commande de décalage est appliqué aux première et dernière cellules Aq et An et un train d'impulsions d'horloge est appliqué aux cellules 30 A^... An-1 (un signal de retard de commande de synchronisation du décalage STCL étant appliqué à l'entrée de la porte 13). Par conséquent à nouveau, la cellule tampon Aqq évite le désalignement d'horloge ou de synchronisation sans réduire la vitesse de traitement des données de l'appareil qui est commandée 35 uniquement par les caractéristiques des composants utilisés. Pour un type spécifié d'élément logique, on obtient donc selon l'invention une vitesse maximale de transfert de données, un nombre minimal d1éléments logiques et un nombre minimal de charges électriques. Par conséquent, on obtient une vitesse de 71 42219 9 2115397 traitement comparable avec celle d'un système en parallèle équivalent tout en tirant bénéfice des avantages d'un nombre de composants moins élevé et des dimensions plus petites d'un système série. Des modifications peuvent être apportées aux modes de réalisation décrits, dans le domaine des équivalences techniques, sans s'écarter de l'invention. 71 42219 10 2115397 REVENDICATIONS 1. Registre à décalage, caractérisé en ce qu'il comprend trois ou plusieurs éléments ou cellules de mémoire (A ... A ) o n dont au moins les première et dernière cellules (Aq/ An) mais 5 pas toutes les cellules sont commandées par des impulsions d'horloge communes, et un dispositif tampon (A ) connecté à l'entrée d'au moins l'une des cellules de mémoire (A^) qui n'est pas commandée par les impulsions d'horloge communes, les dernières cellules de mémoire étant commandées par des impulsions d'horloge 10 supplémentaires liées dans le temps ou liées logiquement aux impulsions d'horloge communes, le dispositif tampon (Aqo) étant commandé par des impulsions d'horloge liées dans le temps ou liées logiquement aux impulsions d'horloge communes ou étant commandé par les impulsions d'horloge supplémentaires. 15 2. Registre à décalage suivant la revendication 1, caracté risé en ce que les impulsions d'horloge communes peuvent être commandées séparément, grâce à quoi ces impulsions ne sont pas appliquées jusqu'à ce qu'elles soient nécessaires. 3. Registre à décalage suivant la revendication 1 ou 2, carac- 20 térisé en ce que chaque cellule (AQ, Ar) commandée par les impulsions d'horloge communes se présente sous la forme d'une bascule ou d'un multivibrateur bistable du type JK et que chaque cellule (A^... An-1) commandée par les impulsions d'horloge supplémentaires se présente sous la forme d'une bascule ou d'un multivi- 25 brateur bistable du type D. 4. Registre à décalage suivant la revendication 3, caractérisé en ce que le dispositif tampon (A ) comprend une paire de conditionneurs d'intersection ou de portes ET (1, 2) qui sont connectées en série avec les éléments correspondants d'une paire 30 de conditionneurs de réunion-négation ou de portes NI à couplage croisé (3, 4). 5. Appareil de traitement de données numériques, caractérisé en ce qu'il comprend plusieurs registres à décalage (A, B, C) suivant l'une quelconque des revendications précédentes, ces re- 35 gistres (A, B, C) étant connectés en série.