Brevet FR2388343A1 — publié le 19781117

L'invention concerne un tampon bidirectionnel d'entrée/sortie pour un système de microcalculateur , pour l'accouplement de postes d'entrée/sortie à un bus de transmission de données comportant un étage d'attaque commandable, qui peut être rendu passant et bloqué par des signaux de commande, afin de transmettre, à l'état passant, des données depuis une ligne d'introduction de données arrivant des pos tes d'entrée/sortie au bus de transmission de données et, à l'état bloqué, de découpler le bus de données de la ligne d'introduction de données. Il est cornu d'accoupler tous les postes d'entrée/ sortie raccordés à un bus de données, par l'intermédiaire d'un étage d'attaque commandable (ce qu'on appelle un étage d'attaque "tristate", c'est-à-dire à trois états). Au moyen d'un étage d'attaque commandé de cette façon à l'état passant, il est possible d'accoupler respectivement un poste d'entrée/ sortie au bus de dotnées. Lorsque dans le cas d'une telle réalisation, des opérations d'entrée/sortie peuvent se dérouler essentiellement d'une façon commandée par programme, ceci n'est possible que moyennant des limitations importantes qui sont dictées par le matériel.Ces limitations sont essentiellement des limitations liées au temps, étant donné que par suite du fonctionnement à multiplexage par répartition dans le temps, des transferts de données ne peuvent etre effectuées que dans des créneaux temporels relativement étroits dans le bus de données. Sur la figure 1, annexée à la présente demande, on a représenté un étage d'attaque commandable du type indiqué plus haut. Cet étage d'attaque possède deux portes ET 1 et 2, dont les premières entrées respectives sont reliées par l'intermédiaire d'un inverseur 3. Deux autres entrées de ces portes ET 1 et 2 sont reliées directement entre elles. La porte ET 1 peut être commandée à son entrée 4 au moyen d'un signal de cadence, tandis que la porte ET 2 peut être chargée, à son entrée 5, par des données devant être transmises. Les sorties des portes ET sont raccordées aux portes de deux transistors MOS 6 et 7, dont les voies source-drain sont branchées en série. Aux points de jonction des deux transistors MOS 6 et 7, il est possible de prélever les signaux de données à une sortie 8. La sortie 8 est accouplée à un bus de données non représenté.En outre la sortie 8 est reliée à une ligne 9 par l'intermédiaire de laquelle des données peuvent être délivrées depuis le bus de données. Le mode de fonctionnement d'un tel étage d'attaque est le suivant : l'introduction de données présentes à l'entrée 5 est commandée par l'intermédiaire d'un signal de cadence délivré à l'entrée 4. Si le signal de cadence est présent avec un niveau élevé à l'entrée 4, les portes ET 1 et 2 sont passantes pour des données présentes à l'entrée 5. C'est soit la porte ET 2,soit la porte ET 1 qui est rendue passante selon que l'entrée 5 se situe à un niveau élevé ou à un niveau faible (c'est-R-dire un 1 logique ou un O logique). De ce fait les transistors MOS 6 et 7 sont également rendus passants de façon correspondante en sorte que les données présentes à l'entrée 5 sont introduites par l'intermédiaire de la sortie 8 dans le bus de transmission de données. Si des données doivent etre délivrées par le bus de transmission de données par l'intermédiaire de la ligne 9, le signal de cadence est présent avec un niveau faible à l'entrée 4, c'est-à-dire que les portes ET 1 et 2 sont bloquées en permanence, indépendamment des signaux présents à l'entrée 5, étant donné qu'une entrée des portes ET reçoit toujours un O logique. L'invention a pour but de développer un tampon du type décrit précédemment de telle manière que, dans un système de microcalculateur , un accès homogène soit possible aussi bien à des postes d'entrée/sortie qu'à des mémoires de travail (mémoires RAM) sous le contrôle du programme d'utilisateur dans le microprocesseur du systèmedemicrocalculateur , c'est-à-dire que simultanément des opérations d'entrée/sortiè puissent etre commandées au moyen d'instructions ou de commandes d'inscription et de lecture pour la mémoire de travail. Ce problème est résolu conformément à l'invention dans un tampon bidirectionnel d'entrée/sortie indiqué plus haut par le fait qu'il comporte un registre tampon, qui est branché entre la ligne d'introduction de données et l'entrée de données d'un étage d'attaque commandable et qui peut être rendu passant au moyen d'une instruction d'inscription et transmet des données de la ligne d'introduction de données à étage d'attaque commandable, un étage à bascule bistable raccordé à l'entrée de commande de ce dernier et dont une première entrée peut être commandée par l'instruction d'inscription et qui rend passant en fonction de cette commande l'étage d'attaque commandable et raccorde par conséquent la sortie du registre au bus de données, et dont une seconde entrée peut etre commandée par une instruction de lecture et qui bloque en fonction de cette commande l'étage d'attaque commandable et déconnecte par conséquent la sortie du registre tampon du bus de données, et un tampon de lecture raccordé au bus de données et commandé par l#instruction de lecture et dont la sortie est raccordée par l'intermédiaire d'une ligne de sortie de données à un poste d'entréetsortne. Le tampon dlesltrée/sortie conforme à l'invention, défini ci-dessus, permet de façon avantageuse le fonctionnement bidirectionnel dVentrée/sortie avec une logique à trois valeurs, sous le contrôle entier d'un programme d'utilisateur dans un microprocesseur d'un système de microcalculateur. Le tampon est actionné à l'aide de seulement deux signaux de commande (instruction d'inscription et instruction de lecture) en sorte qu'il peut être inséré aisément dans une réalisation de type général d'un registre de travai#l. L'utilisation d'une logique à trois valeurs permet d'utiliser le tampon également avec des bus aujourdthui usuels de transmission de données. La commande à 11 aide de seulement deux signaux (instruction d'ins- cription et instruction de lecture) est particulièrement avantageuse étant donné que pour un programmeurs les registres tampon d'entrée/sortie doivent être actionnés avec les mêmes instructions que les registres de travail. A titre d'exemple on a décrit ci-dessous et illustré schématiquement aux dessins annexés une forme de réalisation de 1 t objet de l'invention. La figure 1,dont il a déjà été fait mention, représente un système de l'art antérieur. La figure 2 montre un schéma d'un tampon bidirectionnel d'entrée/sortie constitué conformément à l'invention. Dans le circuit de la figure 2 il est prévu un étage d'attaque commandable 25 comportant une entrée de cadence Cl et une entrée de données D et qui peut être réalisé con formément au circuit de la figure 1, l'entrée de cadence C1 et l'entrée de données D correspondant respectivement à lten- trée 4 et à l'entrée 5 du circuit de la figure 1. La sortie de cet étage d'attaque commandable peut être raccordée à un bus 20 de transmission de données, représenté schématiquement. Pour indiquer que des données circulent dans les deux sens de transmission dans le bus 20 de transmission de données, on a placé une flèche double sur le dessin. Une information de données arrivant d'un dispositif de transmission d'informations d'entrée/sortie non représenté est envoyée par l'intermédiaire d'une ligne 21 d'introduction de données à l'entrée de données D d'une bascule bistable de type D 23. La bascule bistable 23 est commandée depuis une entrée 28 par une instruction d'inscription arrivant à l'entrée de cadence C2. Une telle bascule bistable de type D a, comme cela est connu, pour caractéristique de transmettre une donnée présente à une entrée de données à son entrée de cadence lors de l'apparition d'un signal, c'est-à-dire qu'au moyen de l'instruction d'inscription parvenant de l'entrée 28, des données peuvent être transmises de la ligne -21 d'introduction de données à l'entrée D de données de l'étagé d'attaque commandable 25. Dans le tampon d'entrée/sortie, il est en outre prévu une bascule bistable de type RS 24 qui est commandée, à son entrée de positionnement S, par l'instruction d'inscription présente à l'entrée 28, et à son entrée de remise à l'état initial, par une instruction de lecture provenant d'une entrée 29. L'instruction d'inscription positionne la bascule bistable 24 en sorte qu'un signal rendant passant l'étage d'attaque commandable 25 est présent sur une sortie Q. De cette façon on peut également transmettre des données de la ligne 21 d'introduction de données, par l'intermédiaire de la bascule bistable de type D 23 et de l'étage d'attaque commandable 25, au bus de transmission de données. Afin de pouvoir délivrer des données arrivant du bus de données 20 par l'intermédiaire d'une ligne 22 de délivrance de données, à un poste d'entrée/sortie, le bus de données 20 est accouplé par l'intermédiaire d'une ligne 27 à une entrée d'un tampon de lecture constitué sous la forme d'une porte ET 26. Une autre entrée de cette porte ET 26 est commandée à partir de l'entrée 29 par une instruction de lecture. Lors de l'apparition d'une instruction de lecture, la bascule bistable 24 est commandée par son entrée R de remise à l'état initial, en sorte qu'elle bascule et que de ce fait la sortie Q est amenée à un zéro logique. Cela signifie que l'étage d'attaque commandable 25 est bloqué'0 Etant donné qu'également la bascule bistable de type D 23 ne reçoit dans ce cas aucune instruction d'inscription, le bus de transmission de données 20 est découplé ou déconnecté de façon efficace de la ligne 21 d'introduction de données. La porte ET 26 transmet cependant direc ement des données de la ligne 27 à la ligne 22 de sortie de données. Etant donné que l'étage d'attaque commandable 25 est chargé en général d'une façon capacitive, lors d'une instruction de lecture tout d'abord c'est la donnée inscrite en dernier qui est lue, en sorte qu'une nouvelle donnée peut être lue du bus de transmission de données 20 uniquement lors de l'arrivée d'une seconde instruction de lecture suivante, lorsque l'étage d'attaque commandable est déjà bloqué. REVENDICATIONS 1) Tampon bidirectionnel d'entrée/sortie pour un système de microcalculateur , pour l'accouplement de postes d'entrée/ sortie à un bus de transmission de données comportant un étage d'attaque commandable, qui peut être rendu passant et bloqué par des signaux de commande, afin de transmettre, à l'état passant, des données depuis une ligne d'introduction de données arrivant d'un poste d'entrée/sortie au bus de transmission de données et, à l'état bloqué, de découpler le bus de données de la ligne d'introduction de données, caractérisé par le fait qu'il comporte un registre tampon (23), qui est branché entre la ligne (21) d'introduction de données et l'entrée de données d'un étage d'attaque commandable (25) et qui peut être rendu passant au moyen d'une instruction d'inscription et transmet des données de la ligne (21) d'instruction de données à l'étage d'attaque commandable (25), un étage à bascule bistable (24) raccordé à l'entrée de commande de l'étage d'attaque commandable (25) et qui peut être commande, à une première entrée,par l'instruction d'inscription, rend passant en fonction de cette commande l'étage d'attaque commandable (25) et raccorde de ce fait la sortie du registre tampon (23) au bus (20) de transmission de données, et qui peut être commandS, à une seconde entrée, par une instruction de lecture, bloque en fonction de cette commande l'étage d'attaque commandable (25) et découple de ce fait la sortie du registre tampon (23) vis à vis du bus (20) de transmission de données, et un tampon de lecture (26) accouplé au bus (20) de transmission de données et commandé par l'instruction de lecture, et dont la sortie est accouplée par l'intermédiaire d'une ligne (22) de sortie de données à un poste d'entrée/sortie. 2) Tampon bidirectionnel d'entrée/sortie suivant la revendication 1, caractérisé par le fait que le registre tampon (23) est constitué sous la forme d'une bascule bis table D, dont l'entrée de cadence peut être commandée par l'instruction d'inscription et dont l'entrée de données est raccordée à la ligne (21) d'instruction de données. 3) Tampon bidirectionnel d'entrée/sortie suivant les revendications 1 et 2 prises dans leur ensemble, caractérisé par le fait que l'étage à bascule bistable (24) est réalisé sous la forme d'une bascule bistable de type RS, dont l'entrée de positionnnement (S) est commandée par l'instruction d'inscription et dont l'entrée de remise à l'état initial (R) est commandée par l'instruction de lecture. 4) Tampon bidirectionnel d'entrée/sortie suivant l'une quelconque des revendiaations l à 3, caractérisé par le fait que le tampon de lecture (26) est constitué sous la forme d'une porte ET, qui est raccordée par une entrée au bus (20) de transmission de données et commandée à une autre entrée par l'instruction de lecture, tandis que sa sortie est raccordée à la ligne (22) de sorti de données.