Brevet FR2315125A1 — publié le 19770114

La présente invention concerne un procédé d'adressage des micro-instructions d'une mémoire morte équipant un circuit tinter face assurant un dialogue entre une unité centrale et une unité périphérique, lesdites micro-instructions étant contenues dans une pluralité de mots mémoires correspondant chacun à une séquence déterminée de fonctionnement de l'unité périphérique. L'invention concerne également un circuit dtinterface pour la mise en oeuvre du procédé précité, ledit circuit, réalisé sous forme intégrée monolithique, comportant entre autres une mémoire morte connectée à un registre d'adresses, un registre interne, un compteur, un comparateur, un décodeur, ainsi qu'une pluralité de portes et de bascules. L'industrie de l informatique offre à ltheure actuelle un grand choix d'équipements périphériques conçus pour être raccordés à des unités centrales de diverses provenances dont les codes "donnés" et "instructions sont forcément très dissemblables. Il est donc nécessaire de disposer d'un circuit auxiliaire destiné à adapter un type de périphérique déterminé à l'unité centrale avec laquelle il doit coopérer. L'élaboration d'un tel circuit dtinterface est particulièrement complexe dans le cas fréquent où le périphérique utilisé comporte des éléments électromécaniques, tels que ceux équipant les imprimantes, les lecteurs de bandes, de cassettes, de cartes, etc... Dans ce cas, en effet, il est nécessaire de transmettre et de traiter un grand nombre d'informations de contrôle concernant 11 état de divers éléments, par exemple des positions de contacts, de cames, des valeurs de vitesse de moteurs, etc... Les circuits d'interface connus, qu'ils soient en éléments discrets ou intégrés, sont étroitement spécialisés en fonction des caractéristiques du périphérique à mettre en oeuvre; ils sont de ce fait fabriqués en petites séries, ce qui grève lourdement leur prix de revient. Un des buts de la présente invention est de réaliser un circuit d'interface sous forme intégrée monolithique dont la diversification des fonctions d'utilisation s'effectue lors d'une opération finale de l'éStboration dudit circuit. Selon l'invention; le procédé d'adressage des micro-instructions d'une mémoire morte équipant un circuit d'interface assurant un dialogue entre une unité centrale et une unité périphérique, lesdites micro-instructions étant contenues dans une pluralité de mots mémoires correspondant chacun à une séquence déterminée de fonctionnement de l'unité périphérique, est notamment remarquable en ce que la mémoire morte est adressée, soit par une première zone du mot mémoire dite "d'adresse en séquence, soit par une seconde zone dite d'adresse de branchement, en fonction du résultat, soit d'un test d'accomplissement effectif d'une séquence déterminée de fonctionnement de l'unité périphérique, soit d'un test interne au circuit. Egalement selon l'invention, un circuit d'interface pour la mise en oeuvre du procédé précité, ledit circuit, réalisé sous forme intégrée monolithique, comportant entre autres une mémoire morte connectée à un registre d'adresses, un registre interne, un compteur, un comparateur, un décodeur, ainsi qu'une pluralité de portes et de bascules, est notamment remarquable en ce que le registre d'adresses est connecté à un circuit sélecteur dont deux groupes d'entrées sont raccordés aux zones "adresse en séquence" et adresse de branchement du mot mémoire, l'entrée sélection dudit circuit étant réunie à la sortie d'un circuit logique à trois entrées reliées respectivement à une zone test interne/ externes du mot mémoire, à une borne test extérieur# du circuit d'interface, et à la sortie d'un circuit multiplexeur de contrôle de tests internes. Avantageusement, le microprogramme spécifique au type de périphérique avec lequel le circuit est destiné à coopérer est élaboré lors de la dernière opération de masquage/diffusion d'intégration du circuit. Le procédé d'adressage du circuit selon l'invention permet un déroulement rigoureux des séquences successives de fonctionnement du périphérique dont la progression norm le est conditionnée à l'accomplissement de nombreux tests internes et externes. A l'inverse de nombreux circuits connus, les mots mémoires sont adressés, non en succession imposée, mais avec possibilité de saut conditionnel à n'importe quelle adresse, et possibilité de bouclage sur une même adresse, ce qui accroît sensiblement la souplesse de fonctionnement.L'emploi systématique du procédé connu de la progression reflexe, clest-à-dire par modification d'un seul élément d'information binaire élémentaire (appelé maintenant de façon pratiquement universelle bit et que la norme AFNOR NFZ 61 004 recommande d'appeler binon) assure en outre une grande sûreté dans le déroulement des séquences lorsque celles-ci sont commandées par un ou plusieurs ensembles de signaux asynchrones. Enfin la microprogrammation de spécialisation au dernier stade de fabrication du circuit permet d'obtenir des coûts de production s'écartant très peu de ceux d'une fabrication en grande série. La description qui va suivre, en regard des dessins annexés, fera bien comprendre comment l'invention peut être réalisée. La figure 1 représente le mode de raccordement du circuit d'interface selon l'invention entre une unité centrale et un périphérique. La figure 2 représente l'organisation du mot mémoire du circuit selon l'invention. La figure 3 représente le schéma synoptique détaillé du circuit. La figure 4 représente une partie détaillée du schéma de la figure 3. Sur la figure 1, un circuit d'interface 10 selon l'invention est disposé entre une unité centrale Il et un périphérique 12. Cote unité centrale, le circuit 10 est raccordé par un premier canal bidirectionnel 13 de transmission de données (CUD), par un second canal bidirectionnel 14 de transmission d'instructions de contrôle (CUC), et par une ligne 15 de remise à zéro (RAZ). Coté périphérique, le circuit 10 est raccordé par un premier canal bidirectionnel 16 de transmission de données (CPD) et par un second canal unidirectionnel 17 de transmission d'instructions (CPI); un troisième canal 18 de signaux d'attente de sélection de tests (CS.ATT.) est raccordé à un circuit multiplexeur 19 relié par un autre canal 20 au périphérique 12, une ligne 21 de contrôle de test extérieur, (TE) faisant retour du multiplexeur 19 vers le circuit 10. Le circuit 10 est par ailleurs raccordé à deux bornes positive 22 et négative 23 d'une source de tension Vb, la borne 23 étant reliée à une masse commune 24. Le circuit 10 est également relié à une borne de sortie 25 d'un générateur de signaux d'horloge (H) dont l'autre borne est connectée à la masse commune 24. A l'intérieur du cadre délimitant le circuit 10, les chiffres entourés d'un cercle indiquent le nombre de broches au niveau de chaque raccordement de canal ou de ligne, soit un total de quarante correspondant à un standard usuel de brochage des circuits intégrés. Sur la figure 2, le mot mémoire comporte sept zones se décomposant comme suit, de droite à gauche: une zone test interne/ externe, (IN-EX) une zone d'adresse de branchement (ADB), une zone d'adresse en séquence (ADS), une zone de commandes externes (C.EX), une zone de signaux d'attente de sélection des tests (ATT), une zone de valeurs de constantes (K)-, et une zone de micro-instructions (M.I). En dessous de chaque zone, le chiffre cerclé indique la capacité en binons, soit un total de quarante. Sur la figure 3, dont les références sont communes avec celles de la figure 1, les échanges bilatéraux entre les huit broches CUD et les huit broches CPD s'effectuent par un premier canal bidirectionnel 26, par un deuxième canal unidirectionnel 27 pour les données en provenance de l'unité centrale, par un troisième canal unidirectionnel 28 pour les données entrant dans l'unité centrale, et par un quatrième canal unidirectionnel 29 pour les données venant du périphérique. Les quatre canaux précités sont raccordés aux broches CUD et CPD par quatre amplificateurs 30, 31, 32 et 33 dont le premier et le troisième sont du type commandé. Les canaux 26 et 27 aboutissent à un circuit sélecteur 34 de chargement d'un registre interne 35 dont le canal de sortie 36 est raccordé à deux portes "ET" 37 et 38 à entrées multiples, la sortie de la première étant reliée au canal 28 et la sortie de la seconde au canal 26. Le canal 29 est raccordé, d'une part à une autre porte "ET" 39 dont la sortie est également reliée au canal 26, et d'autre part à un circuit sélecteur 40 de l'une des entrées de canaux d'un circuit comparateur 41. Un autre canal 42 couplé à la zone K du mot mémoire est raccordé, d'une part au circuit sélecteur 40, et d'autre part à une porte "ET" 43 dont la sortie est reliée au canal 26. Le canal 26 est en outre raccordé, d'une part à l'autre entrée du circuit comparateur 41, et d'autre part à l'entrée d'un d'un compteur 44 dont le canal de sortie 45 est dirigé tout à la fois sur un bloc de décodage 46, et sur les entrées des deux portes "ET" 47 et 48 dont les sorties font respectivement retour aux canaux 26 et 28. Les sept broches CUC qui assurent les échanges bilatéraux d'instructions de contrôle entre le circuit d'interface et l'ordre nateur se décomposent en cinq broches d'entrées couplées par cinq amplificateurs à un circuit de décodage 49 muni de dix sorties de fonction IS et de deux entrées auxiliaires, et en deux broches de sorties couplées par deux amplificateurs à une première bascule 50 et à une deuxième bascule 51, cette dernière étant elle-même connectée à une troisième bascule 52. L'ensemble des fonctions "instructions de contrôle" est complété par deux autres bascules 53 et 54 ainsi que par un bloc 55 de synchronisation d'ordres extérieurs (SOE). Une mémoire morte 56, d'une capacité de trente deux mots de quarante binons (fig.2) est munie d'un bloc de décodage interne 57, tandis qu'un sélecteur 58 d'extension de la zone de micro-instructions (MI) est relié à cinq binons de la zone K du mot mémoire. Le décodeur 57 est couplé par cinq amplificateurs à un registre d'adresses 59 connecté à un dircuit sélecteur d'adresses 60 muni de deux groupes de cinq entrées raccordés respectivement aux zones ADB et ADS du mot mémoire. Les huit broches CPI de transmission d'instructions du circuit 10 vers le périphérique sont couplées par huit amplificateurs à la zone ~ commandes extérieures tt (C.EX) du mot mémoire, tandis que les quatre broches de sélection de signaux d'attente (C.S.ATT) sont couplées par quatre autres amplificateurs à la zone attente (ATT). Trois des entrées d'un circuit multiplexeur 61 de contrôle de tests internes sont raccordées à trois binons de la zone ATT, trois autres entrées aux sorties , = (inférieur, supérieur, égal) du comparateur 41, et une autre entrée au circuit de décodage 46. Les trois entrées d'un circuit logique 62 sont reliées respectivement à la sortie du circuit multiplexeur 61, à la zone IN. EX. du mot mémoire et par un amplificateur à la broche d'entrée "test extérieur" (T.E), tandis que la sortie dudit circuit logique est raccordée à l'entrée "sélection" du circuit sélecteur d'adresses 60. Le circuit d'interface selon l'invention doit accomplir les fonctions suivantes: - interpréter les états de fonctionnement du périphérique (positions de cames, positions de contacts, vitesse de moteur, etc...), - fournir des ordres de commandes aux différents organes électromécaniques ou électroniques de puissance du périphérique (commandes de moteurs, commandes d'embrayages, etc...), - assurer le dialogue en langage logique entre l'unité centrale et le périphérique par l'intermédiaire des canaux de données et de contrôle. Ceci suppose que les opérations suivantes puissent être accomplies lors du déroulement de chaque séquence élémentaire de fonctionnement du périphérique: - attente du résultat d'un groupe d'ordres de commandes envoyés vers le périphérique, - envoi de signaux exploitables par l'unité centrale (présence d'une donnée, anomalies, impossibilité de connexion, etc...), - modification éventuelle d'une séquence en fonction de conditions bien définies, telles que apparition de la première donnée non nulle (lecteur de bande), début de carte, etc...). Succintement, le domaine connu du circuit selon l'invention fonctionne de la façon suivante: le circuit sélecteur 34 est activé, soit par un ordre IS, soit par un ordre MI autorisant le chargement du registre interne 35 à partir des données provenant, soit du canal 27, soit du canal 26. A partir du registre interne 35, les échanges de données se font vers l'ordinateur (CUD) par la porte "ET" 37 et l'amplificateur à blocage 32 tous deux commandés par des ordres IS, et vers le périphérique (CPD) par la porte "ET" 39 et l'amplificateur à blocage 30 tous deux commandés par des ordres MI. Une autre porte "ET" 40, commandée par un ordre MI, aiguille les données provenant du périphérique par le canal 29 vers le canal commun 26. Les valeurs K du mot mémoire, collectées par le canal 42, sont introduites dans le canal 26 par la porte 43 commandée par un ordre MI, et appliquées tout à la fois au sélecteur 40 également commandé par un ordre MI; de la sorte, les valeurs K peuvent être comparées soit aux données du registre interne 35, soit par le circuit comparateur 41 au contenu du compteur 449li est réinjecté dans le canal 26 par le canal 45 et la porte "ET" 47. Par l'intermédiaire de la porte 48 commandée par un ordre IS, le canal 28 dirige vers l'unité centrale le mot d'état du circuit constitué d'une part par le contenu du compteur 44 et, d'autre part, par les informations "interruption" (INT), "disponibilité ou demande de caractère" (DC), "entrée sortie" (ES) et "connexion" (CX), lesdites informations étant fournies à partir des sorties des bascules 50, 51, 53 et 54. Le bloc 55 de synchronisation d'ordres extérieurs (SOE), représenté sous forme simplifiée est en réalité une combinaison de cinq bascules partiellement interconnectées recevant des ordres en provenance du circuit décodeur 49 et des bascules 50, 51, 53 et 54. La partie du circuit plus spécifiquement concernée par l'invention fonctionne de la façon suivante, en regard de la figure 4 dont les références sont communes avec celles de la figure 1. Suivant que le sélecteur d'adresses 60 reçoit un signal de test positif (T) ou négatif (T), la mémoire 56 est adressée dans le premier cas par la zone ADB du mot mémoire, et dans le second cas par la zone ADS. Les tests sont dits internes (TI) lorsqu'ils sont effectués au niveau du circuit d'interface, ou "externes" (TE) lorsqu'ils sont accomplis au niveau du périphérique, la sélection entre ces deux possibilités résultant du poids du binon IN.EX. du mot mémoire (fig.2). Dans la plupart des cas, la présence d'un signal de test positif (T) provoque l'appel d'un autre mot de la mémoire afin de réaliser une nouvelle séquence (branchement), tandis que la pré sence d'un test négatif (T) peut, suivant le contenu de la micro instruction, signifier soit un bouclage sur le mot en cours, soit également le passage à un autre mot afin de provoquer une action aboutissant à l'apparition ultérieure d'un test positif. Le circuit logique 62 comporte deux portes "ET" dont une à entrée complémentée, et une porte OU, Si le binon IN.EX a pour valeur "0 (test extérieur), on peut voir que le signal sur la borne TE doit avoir la valeur "1" pour que le#niveau à l'entrée du sélecteur 60 soit positif (T). Inversement si le binon IN.EX a pour valeur "1", (test#inté- rieur) le signal de sortie du multiplexeur 6-1 de tests internes doit avoir la valeur "1" pour valider l'adresse ADB. Un test extérieur peut être par exemple consécutif à un ordre de démarrage d'un moteur; dans ce cas, la suite de l'opération, qui ne peut se dérouler tant que le moteur n'a pas atteint une vitesse suffisante, s'effectue de la façon suivante: Par les binons "ATT" du mot mémoire on programme une valeur qui peut être soit une vitesse de rotation, soit un laps de temps nécessaire à la montée en régime du moteur. Lorsque le périphéri que 12 introduit en retour dans le multiplexeur 19 (fig.1) les données indiquant, soit que la vitesse de rotation désirée est atteinte, soit que le laps de temps voulu s'est écoulé, le signal à la borne TE prend la valeur "1" de sélection d'adresses ADB. Tant que cette condition n'est pas réalisée, la condition ADS est maintenue et signifie dans ce cas particulier bouclage sur adresse". - REVENDICATIONS 1.- Procédé d'adressage des micro-instructions d'une mémoire morte équipant un circuit d'interface assurant un dialogue entre une unité centrale et une unité périphérique, lesdites micro-instructions étant contenues dans une pluralité de mots mémoires correspondant chacun à une séquence déterminée de fonctionnement de l'unité périphérique, caractérisé en ce que la mémoire morte est adressée, soit par une première zone du mot mémoire dite "d'adresse en séquence, soit par une seconde zone dite d'adresse de branchement", en fonction du résultat, soit d'un test d'accomplissement effectif d'une séquence déterminée de fonctionnement de l'unité périphérique, soit d'un test interne au circuit. 2.- Procédé d'adressage selon la revendication 1, caractérisé en ce que l'adressage par l'une ou l'autre des deux zones précitées a pour effet, soit de réaliser un bouclage sur le mot mémoire en fonction, soit de provoquer le passage à un quelconque autre mot de la mémoire. 3.- Circuit d'interface pour la mise en oeuvre du procédé selon l'ensemble des revendications 1 et 2, ledit circuit réalisé sous forme intégrée monolithique, comportant entre autres une mémoire connectée à un registre d'adresses, un registre interne, un compteur, un comparateur, un décodeur, ainsi qu'une pluralité de portes et de bascules, caractérisé en ce que le registre d'adresses est connecté à un circuit sélecteur dont deux groupes d'entrées sont raccordés aux zones "adresses en séquence et "adresses de branchement" du mot mémoire, l'entrée sélection dudit circuit étant réunie à la sortie d'un circuit logique à trois entrées reliées respectivement à une zone 1,test interne/externe" du mot mémoire, à une borne "test extérieur" du circuit d'interface, et à la sortie d'un circuit multiplexeur de contrôle de tests internes. 4.- Circuit d'interface selon la revendication 3, caractérisé en ce que le circuit logique est une combinaison d'une porte OU à deux entrées et de deux portes ET à deux entrées, l'une des deux portes ET ayant une entrée complémentée par rapport à l'autre entrée. 5.- Circuit d'interface selon l'ensemble des revendications 3 et 4, caractérisé en ce que le microprogramme spécifique au type de périphérique avec lequel le circuit est destiné à coopérer est élaboré lors de la dernière opération de masquage/diffusion d'intégration du circuit.