Brevet FR2489551A1 — publié le 19820305

La présente invention est relative à une unité d'inter- face entre un ordinateur électronique et une unité périphérique connectée à ce dernier. Une unité d'interface réalise une voie de communica- tion entre l'unité centrale d'un ordinateur et un périphérique extérieur gérant et synchronisant des signalisations, parmi lesquelles les requêtes de recevoir ou de fournir une donnée, envoyées par le périphérique à l'ordinateur ou vice versa, ainsi que l'échange de données; généralement elle comprend un couple de sections unidirectionnelles (section entrante et section sortante). Une pluralité d'interfaces peuvent être réunies en un ensemble de circuits, dit module, qui peut comprendre même des circuits de supervision ainsi que des circuits aptes à gérer d'une manière autonome le transfert rapide des données entre une ou plusieurs interfaces et la mémoire de l'ordinateur. Bien que son usage soit général, une unité d'interface suivant l'invention a été étudiée d'une façon spécifique pour être introduite dans un ordinateur électronique faisant partie d'un système dans lequel deux ordinateurs, opérant en parallèle suivant le principe maître-asservi, gèrent deux pluralités (identiques entre elles) d'unités périphériques, comme par exemple le réseau de transit pour systèmes de télécommunica- tions décrit dans le brevet italien N0 1.037.256. Ladite unité d'interface prévoit la présence dans ses sections, entrante et sortante, de circuits bistables pour mémoriser des requêtes de transfert de données ou pour fournir une signalisation, de circuits pour la gestion des signalisa- tions de ou pour l'unité périphérique, de circuits rendant apte la section et de circuitspiilotés par lesdits bistables et de circuits pour la gestion des signalisations, qui engendrent des requêtes envoyées à l'unité centrale (CPU) à travers un bus de commandes, et elle est caractérisée par le fait que les circuits d'aptitude STI, STO des sections entrantes et sortantes et les circuits SO, SI pour la gestion des signalisations comprennent des circuits pour la rentrée rapide en synchronisme de l'ordi- nateur et par le fait qu'un signal de synchronisation SINC produit par l'unité CPU synchronise un premier (DT), un deuxième (DAK) et un troisième (DRQ) signal engendrés par l'unité périphérique P et aptes à signaler à l'unité d'interface UI respectivement la transmission advenue d'une donnée, l'exacti- tude formelle d'une donnée reçue et la requête d'une nouvelle donnée. On va maintenant mieux décrire l'invention avec réfé- rence à un exemple de réalisation illustré dans les figures ci- jointes, dans lesquelles - la figure 1 montre un diagramme à blocs simplifié d'une unité d'interface suivant l'invention; - la figure 2 montre un exemple de réalisation du circuit STI de la figure 1; - la figure 3 montre un exemple de réalisation du circuit STO de la figure 1; la figure 4 montre un exemple de réalisation du circuit SO de la figure 1; - la figure 5 montre un exemple de réalisation du circuit LK de la figure 1. Dans la figure 1 on a reporté un diagramme à blocs simplifié de la partie relative aux commandes d'une unité d'interface UI; les organes utilisés pour l'échange de données entre le périphérique P et l'unité centrale, que l'on appellera par la suite CPU, ont été complètement omis. L'unité d'interface UI reçoit des instructions de la CPU à travers le bus des commandes BC: les instructions, décodées par le décodeur DEC, ont été distinguées formellement dans la figure en instructions CE adressées à la section entrante et instructions CO adressées à la section sortante. Chacune des deux sections comprend un ensemble de bistables B (BI, BO) pour mémoriser des requêtes de transfert de données ou pour fournir une signalisation, des circuits S (SI, SO) pour la gestion des signalisations reçues du périphérique P ou engendrées dans l'interface, des circuits d'aptitude ST (STI, STO) de l'interface et des circuits G (GI, GO) qui, en réponse à l'état des bistables B et des circuits ST, engendrent les requêtes R envoyées à la CPU à travers le bus de commandes BC. La section entrante envoie au périphérique P le signal FR (interface libre) et en reçoit les signaux DT (donnée trans- mise) et EIN (aptitude à recevoir une donnée): la section - sortante reçoit du périphérique P les signaux DAK (la donnée reçue est correcte) et DRQ (requête d'envoi d'une donnée). D'autres signaux qui intéressent les circuits, illus- trés dans les figures successives, qui font l'objet de la présente invention seront indiqués au cours de la description des circuits mêmes. Une unité d'interface suivant l'invention se diffé- rencie des unités connues par le fait qu'elle est en mesure de: permettre un retour rapide en synchronisme de l'ordinateur: dans ce but on a modifié les circuits STI (figure 2), STO (figure 3) et SQ (figure 4); - contrôler que deux interfaces adjacentes, qui pilo- tent deux périphériques destinés à effectuer en même temps les mêmes opérations, reçoivent les mêmes instructions et échangent avec-les périphériques les mêmes signaux: dans ce but l'unité d'interface est munie d'un circuit LK (figure 5) qui dialogue avec les circuits de la section de sortie et avec le circuit LK correspondant de l'unité d'interface adjacente. Dans la figure on n'a indiqué que le circuit LK de la deuxième unité d'interface, omettant les autres circuits. Les circuits décrits dans les figures successives sont en mesure d'opérer correctement, permettant le fonctionnement en synchronisme de deux ordinateurs si, et uniquement si, les signaux DAK, DRQ et DT sont émis par le périphérique synchro- nisés par un signal de synchronisation SINC engendré par la CPU: puisque les synchronisations des deux CPU coïncident, à moins d'un écart très inférieur de la période de SINC, même les deux signaux SINC coincident et les signaux DAK, DRQ et DT, ces derniers étant envoyés aux deux ordinateurs, s'alignent avec les synchronisations des deux ordinateurs. Les circuits des figures 2, 3 et 4 permettent un rapide rétablissement du synchronisme entre deux ordinateurs qui, opérant en parallèle suivant le principe maître-esclave, dialoguent avec les périphériques mêmes. Au moment du retour en service d'un ordinateur toutes les mémoires et tous les registres sont contraints de revêtir un état préétabli: il faut aussi que l'autre ordinateur, maître, arrête l'échange des données avec les périphériques et qu'il soit amené dans la même configuration avant de donner une commande de mise en marche aux deux ordinateurs en même temps. Cela comporte, pour les unités périphériques, qu'il n'y ait pas de signalisations à gérer et qu'il n'y ait pas d'échange de données entre l'ordinateur et les périphériques en cours. Pour réduire le temps de retour en synchronisme, on utilise dans l'ordinateur maître une commande STP qui rend inaptes les deux sections (entrante et sortante) de l'unité d'interface à échanger des données avec le périphérique: si un transfert est en cours la commande STP est mémorisée jusqu'à la fin du transfert même. Un signal CLC amène (fig. 4) à un état préétabli les bistables qui mémorisent dans le circuit d'interface l'état des signaux DAK (donnée acceptée) et DRQ (nouvelle donnée requise) envoyés du périphérique à l'ordi- nateur. Le circuit de la figure 2 montre le circuit STI de pilotage du bistable de mise en marche qui autorise le-fonction- nement de la section entrante de l'unité d'interface. Le bistable de mise en marche 1 est affiché par l'ins- truction STR et mis à zéro inconditionnellement par l'instruc- tion EST, qui sont toutes les deux engendrées par la CPU; l'instruction STP, engendrée par la CPU, est mémorisée dans le registre 2 et, lorsque le signal de libre FR est présent, elle remet à zéro le bistable 1 dont la sortie remet à zéro le registre 2 et autorise la porte 12 à émettre le signal FR lorsque l'unité d'interface n'est pas en train de gérer de donnée ou de signalisation (FFI = 0) et qu'elle n'a reçu du périphérique ni mémorisé dans le registre 3 de requête. Le registre 3 est désactivé à partir du moment o l'inter- face est rendue apte à recevoir une donnée (EIN) jusqu'à ce que la section entrante soit rendue apte (STR = 1) ou que la CPU soit informée d'une requête (FFI = 1). Avec référence à la figure 1, on peut penser qué les circuits 12 et 32 font partie du circuit de gestion SI ou que la sortie de la porte 12 fait engendrer par le circuit SI le signal FR. D'une manière analogue, pour la section de sortie (figure 3) l'instruction STP est mémorisée dans le registre 4 et va autoriser la porte 13 à remettre à zéro le registre de mise en marche 5 lorsque l'unité d'interface n'est pas en train de gérer de donnée ou de signalisation (FFO = 0) et que le périphé- rique aaccepté la dernière donnée reçue (DAK = 1). Le registre 5 met à zéro le registre 4 et il est dé toute façon remis à zéro par l'instruction inconditionnelle EST. Dans les deux cas à peine l'ordinateur maître a été bloqué, les deux CPU engendrent en même temps l'instruction de mise en marche STR. Dans la figure 4 on a indiqué le circuit qui permet à l'instruction CIC de mettre à jour le contenu du bistable 7 qui mémorise le signal DAK: pour le signal DRQ le circuit est analogue. Comme on le voit sur la figure, le signal DAK consti- tue l'horloge du registre 6 et le signal des données du registre 7; chaque transition positive (front ascendant) de DAK amène à un niveau élevé la sortie du registre 6 qui affiche le registre 7 dont la sortie DAK' est envoyée aux autres organes de l'ordinateur et qui peut être utilisépourremettre à zéro le registre 6. Au moment du retour en exercice, l'instruction CLC effectuée en même temps sur les deux ordinateurs agit comme une horloge sur le registre 7, chargeant sur ce dernier l'état des lignes extérieures DAK avec le résultat d'amener le registre 7 dans le même état sur les deux ordinateurs. Dans le cas o deux périphériques devraient accomplir en synchronisme les mêmes opérations, il serait possible de les faire aboutir à deux unités d'interface adjacentes et comprenant un circuit de liaison LK les deux circuits LK, en dialoguant entre eux et avec les autres circuits des unités d'interface respectives, contrôlent que les deux unités cinter- face échangent en même temps avec les périphériques associés les mêmes signaux. Dans la figure 5 on a indiqué une forme de réalisation possible du circuit LK, ainsi que la manière de laquelle sont interconnectés deux circuits LK identiques entre eux et appartenant à des unités d'interface adjacentes, dont l'un est le circuit principal de l'unité CPU (LK = 0) et l'autre le circuit secondaire (LK = 1). Seul le circuit LK principal dialogue avec la CPU le circuit secondaire exécute les instructions envoyées au circuit principal et accomplit les mêmes opérations que le circuit LK principal; rien n'empêche toutefois la CPU de caractériser-comme principales les deux interfaces, qui, dans ce cas, opèrent d'une façon indépendante. En outre le circuit principal peut demander, à travers le signal DTL envoyé au générateur de requête GO, l'envoi d'une seule donnée si la même requête est engendrée en même temps même par le circuit secondaire. Avec référence au diagramme de la figure 5, on examine maintenant les circuits qui permettent de réaliser la liaison suivant lesdites modalités, tenant compte du fait que - les éléments (signaux, circuits) correspondants ont été indiqués de la même façon dans les deux circuits LK inter- connectés entre eux; - on a supposé que l'interface N soit principale (LK = 0) et que l'interface N + 1 soit secondaire (LK = 1); - le circuit DI qui, en réponse à la présence d'un signal sur le fil de sélection S associé à l'interface (Sn pour l'interface N, Sn + 1 pour l'interface N + 1, etc.), rend aptes les circuits de l'interface même a été introduit dans le circuit de liaison LK par commodité graphique et par affinité logique (le circuit qui la rend apte même quand l'autre interface est sélectionnée ne peut subsister que si on a le fonctionnement en liaison): en réalité le circuit DI est placé à l'extérieur du circuit LK et de toute façon il est présent même si le circuit de liaison manque. L'interface secondaire est rendue apte avec l'interface principale. Le fil Sn qui sélectionne l'interface principale arrive même à l'interface secondaire (LK = 1) et la rend apte si des signalisations locales (SL = 1) ne sont pas présentes et le registre de mise en marche 5 (STO = 1) est actif; un signal sur le fil Sn + 1 ne peut pas activer l'interface N parce que dans cette dernière LK = O interdit les portes 14, 15 et 16. Si la CPU caractérise comme principales les deux inter- faces, ces dernières ne peuvent être rendues aptes que par leur propre fil de section S. Contrôle que les deux i'te:rfaces reçoivent le signal DRQ dans un -temps préétabli. Dans les deux interfaces sont actifs les bistables de mise en marche 5 (STO = 1): il s'en suit que les portes 17 sont rendues aptes et que les sorties des additionneurs 35 sont actives (dans le circuit secondaire LK = 1 active son propre additionneur et la porte 14, qui à son tour active l'additionneur 35 du circuit principal). Tant qu'un périphérique ne demande pas de nouvelle donnée, DRQ = O: la porte 18 a deux entrées à "1" logique et est rendue apte à faire passer le signal présent à la sortie du bistable B, dont l'entrée des données est connectée à la sortie de la porte 17 de l'autre interface, ladite sortie étant à "0" logique. L'entrée des données du bistable 9 est donc à "0" logique; cela est valable pour les deux interfaces. Lorsqu'un périphérique demande une nouvelle donnée, DRQ = 1 interdit la porte 18 et met à "1" la sortie de-la porte 17 de l'interface associée au périphérique: à l'impul- sion successive de l'horloge de synchronisation FS, le bistable de l'interface associé à l'autre périphérique commute et, si avant la deuxième impulsion de FS même le deuxième périphé- rique ne demande pas de donnée interdisant la porte 18 de son interface, il commute le bistable 9 et on a l'envoi à la CPU du signal d'erreur LKE de la part de-l'interface associée au périphérique qui n'a pas demandé de nouvelle donnée. L'interface principale peut demander une donnée (DTL = 1) uniquement si une requête analogue est présente dans l'interface secondaire. Les deux interfaces peuvent demander à la CPU une donnée si le périphérique respectif a accepté la donnée précédente (DAK = 1) et s'il en demande une nouvelle (DRQ = 1) et s'il n'y a pas de signalisations d'erreur (SL= 1); dans ces conditions est active la porte 19 dont la sortie peut traverser la porte 20, activant le signal DTL, uniquement si dans l'autre interface la porte 19 est active ou bien si la porte 14 est interdite, ou encore si l'autre interface est rendue inapte (STO = 0) et/ou est caractérisée comme principale (LK = 0). L'interface principale peut donc demander une donnée (DTL = 1) uniquement si l'interface secondaire est rendue inapte ou si elle demande elle aussi une donnée. REVENDICATIONS - 1. Unité d'interface entre un ordinateur électronique et une unité périphérique, comprenant une section entrante et une section sortante, chacune desdites sections comprenant des circuits bistables pour mémoriser des requêtes de transfert de données ou pour fournir une signalisation; des circuits pour la gestion des signalisations de ou pour l'unité périphérique des circuits d'aptitude de la section et des circuits, pilotés par les bistables et par les circuits pour la gestion des signa- lisations, qui engendrent des requêtes envoyées à l'unité logique centrale, que l'on appellera par la suite CPU à travers un bus de commandes, caractérisée par le fait que les circuits d'aptitude (STI, STO) des sections entrante et sortante et ceux (SO, SI) pour la gestion des signalisations comprennent des circuits pour le retour rapide en synchronisme de l'ordinateur, et par le fait qu'unesignal de synchronisation (SINC) engendré par la CPU synchronise un premier (DT), un deuxième (DAK) et un troisième (DRQ) signal engendrés par l'unité périphérique (P) et aptes à signaler à l'unité d'interface (UI) respectivement la transmission advenue d'une donnée, l'exactitude formelle d'une donnée reçue et la requête d'une nouvelle donnée. 2. Unité d'interface suivant la revendication 1, caractérisée par le fait qu'elle comprend des moyens (LK) aptes à contrôler que l'unité périphérique (P) qui lui est associée opère en parallèle avec l'unité associée à l'unité d'interface (UI) adjacente, lesdits moyens de contrôle (LK) dialoguant avec la section sortante de leur propre unité d'interface et avec les moyens de contrôle de l'unité d'interface adjacente. 3. Unité d'interface suivant la revendication 1, caractérisée par le fait que le circuit d'aptitude (STI) de la section entrante et le circuit SI pour la gestion des signa- lisations comprennent: un premier bistable (1), piloté par une première instruction d'aptitude (STR) envoyée par la CPU et remis à zéro par le signal présent à la sortie d'un premier additionneur (31), dont la sortie remet à zéro un deuxième bistable (2) et est appliquée à une entrée d'une première porte (12); un deuxième bistable (2), piloté par une deuxième instruction (STP) émise par la CPU, dont la sortie est connectée à une première entrée d'une deuxième porte (11); un troisième bistable (3), remis à zéro par le signal présent à la sortie d'un deuxième additionneur (32) et affiché par le signal présent à la sortie d'un troisième additionneur (33), dont la sortie est connectée à une deuxième entrée de la première porte (12); la première porte (12), à la troisième entrée de laquelle est appliqué un quatrième signal (FFI) engendré par les bistables (BI) de la section entrante lorsqu'ils envoient une requête à la CPU, le critère de libre (FR) engendré par la première porte (12) étant envoyé à l'unité périphérique (P) et à la deuxième entrée de la deuxième porte (11); la deuxième porte (11), dont la sortie s'additionne dans le premier additionneur (31) à une troisième instruction (EST) de zérotage inconditionnel engendrée par la CPU; le deuxième additionneur (32), ayant une entrée connectée à la sortie du premier additionneur (31), à la deuxième entrée duquel est appliqué un cinquième signal (EIN) émis par l'unité périphérique (P) pour rendre apte l'unité d'interface (UI) et recevoir une donnée; le troisième addition- neur (33) aux entrées duquel sont appliqués la première instruc- tion (STR) et le quatrième signal (FFI). 4. Unité d'interface suivant la revendication 1, carac- térisée par le fait que le circuit d'aptitude (STO) de la section sortante comprend: un quatrième bistable (4), piloté par la deuxième instruction (STP) et remis à zéro par la sortie d'un cinquième bistable (5), dont la sortie est connectée à une entrée d'une troisième porte (13); la troisième porte (13) aux entrées de laquelle sont appliqués un sixième signal (FFO), engendré par les bistables (BO) de la section sortante lors- il qu'ils n'envoient pas de requête & la CPU, et le deuxième signal (DAK), la sortie de la troisième porte (13) s'additionnant dans un quatrième additionneur (34) à la troisième instruction (EST) pour remettre à zéro le cinquième bistable (5); le cinquième bistable (5) piloté par la première instruction (STR). 5. Unité d'interface suivant la revendication 1, caractérisée par le fait que le circuit (SQ) de la section sortante pour la gestion des signalisations comprend deux dispositions de circuit identiques aptes à gérer respectivement lo le deuxième (DAK) et le troisième (DRQ) signal, chacune desdites dispositions de circuit comprenant: un- sixième bistable (6) synchronisé par le deuxième (troisième) signal et dont l'entrée des données est connectée à une polarité constante, dont la sortie rend apte un septième bistable (7); le septième bistable (7) synchronisé par une quatrième instruction (CLC) émise par la CPU et à l'entrée des données duquel est appliqué le deuxième (troisième) signal, dont la sortie fait fonction de deuxième (troisième) signal pour les autres organes de l'ordinateur et remet à zéro le sixième bistable (6). 6. Unité d'interface suivant la revendication 2, caractérisée par le fait que la CPU définit une des deux unités d'interface adjacentes comme principale et l'autre comme secondaire et par le fait que les moyens de contrôle (LK) de chaque interface çomprennent: des premiers moyens aptes à permettre l'aptitude contemporaine des deux unités d'interface principale et secondaire; des deuxièmes moyens aptes à engen- drer une alarme si la réception de la part d'une unité d'inter- face du troisième signal (DRQ) n'est pas suivie dans un temps préétabli de la réception du même signal de la part de l'autre unité d'interface; des troisièmes moyens aptes à permettre à l'unité d'interface principale d'engendrer un septième signal (DTL) pour demander à la CPU l'envoi d'une nouvelle donnée uniquement si même l'unité d'interface secondaire engendre la même requête. 7. Unité d'interface suivant la revendication 6, caractérisée par le fait que les premiers moyens comprennent des moyens (DI) qui, en réponse à la présence d'un signal sur le fil de sélection (Sn) associé à l'unité d'interface rendent aptes les circuits de l'unité d'interface même; une quatrième porte (14) à une entrée de laquelle est appliqué un signal (LK) indiquant l'unité d'interface secondaire, tandis qu'à son autre entrée est appliqué un neuvième signal (STO) présent à la sortie du cinquième bistable (5); une cinquième porte (15) dont une entrée est connectée à la sortie de la quatrième porte et qui reçoit sur son autre entrée un dixième signal (SL) indiquant l'absence de signalisations locales; une sixième porte (16), dont une entrée est connectée à la sortie de la cinquième porte (15) et dont l'autre entrée est connectée au fil de sélection (Sn + 1) de l'unité d'interface adjacente, la sortie de la sixième porte (16) activant lesdits moyens (DI). 8. Unité d'interface suivant la revendication 6, carac- térisée par le fait que les deuxièmes moyens comprennent: une septième porte (17) qui reçoit à ses entrées le troisième (DRQ) et le neuvième signal (STO); un huitième bistable (8) synchronisé par une horloge de synchronisme (FS) envoyée par la CPU et dont l'entrée des données est connectée à la sortie de la septième porte (17) de l'unité d'inferface adjacente; une huitième porte (18) qui reçoit à ses entrées le signal de sortie du huitième bistable (8), le troisième signal, inversé (DR-Q) et le neuvième signal et le signal de sortie d'un cinquième addi- tionneur (35); le cinquième additionneur (35) qui reçoit à ses entrées le huitième signal (LK) et le signal de sortie de la quatrième porte (14) de l'unité d'interface adjacente; un neuvième bistable (9) synchronisé par l'horloge de synchronisme (FS) et dont l'entrée des données est connectée à la sortie de la huitième porte (18), qui engendre ladite alarme (LKE). 9. Unité d'interface suivant la revendication 6, carac- térisée par le fait que les troisièmes moyens-comprennent: une neuvième porte (19) qui reçoit à ses entrées le deuxième (DAK), le troisième (DRQ) et le dixième signal (SL); un sixième additionneur (36) dont les entrées sont connectées à la sortie, inverse,de la quatrième porte (14) et à la sortie de la neuvième porte (19); une dixième. porte (20) dont les entrées sont connectées à la sortie de la neuvième porte (19) et à la sortie du sixi e additonneur (36) de l'unité d'inter- face adjacente, la dixième porte (20) engendrant le septième signal (DTL).