Brevet FR2533046A1 — publié le 19840316

"Procédé et montage de circuit pour fournir des signaux de demande d'interruption". La présente invention concerne un procédé destiné à des unités externes d'un calculateur pour fournir des signaux de demande d 9 interruption sans prio- rites par l'intermédiaire d'un ligne de commande com- mune à lunité centrale du cealculateur. Dans "Einfiihrung in die Microcomputertechnik" de Adam Osborne, 1977, la manière dgintroduire des inter- ruptions (interrupts) dans des systèmes d'ordinateurs est décrite aux pages 5-10 à 5-24. Dans la plupart des systèmes d'ordinateurs, il est possible pour des unités externes ou des appareils périphériques de provoquer une interruption du pas de programme se déroulant précisément dans l'unité centrale (CPU) du calculateur, au moyen d'un signal de demande d'interruption (interrupt request) Les unités externes sont connectées à l'unité centrale du calculateur par l'intermédiaire d'une ligne de commande commune par la- quelle elles émettent leurs signaux de demande d'inter- ruption. L'unité centrale accuse réception de chaque demande d'interruption par un accusé de réception d'in- terruption (interrupt acknowledge) Aussi longtemps que plusieurs unités externes ne demandent pas une inter- ruption en même temps, les interruptions sont exécutées en série Cependant, lorsque deux ou plus de deux unités externes envoient simultanément un signal de demande d'interruption sur la ligne de commande commune, il faut d'une façon ou d'une autre maîtriser le déroulement des interruptions individuelles A cet effet, deux solutions différentes sont connues La première consiste à adjoindre des priorités d'interruption (interrupt priorities) aux unités exter- nes Si l'unité centrale reçoit simultanément des si- gnaux de demande d'interruption de plusieurs unités externes, elle traite les interruptions dans l'ordre des priorités qui sont attribuées aux unités externes Par conséquent, des unités externes qui ont demandé une interruption reçoivent les accusés de réception d'inter- ruption de l'unité centrale dans ce même ordre. L'autre solution à laquelle linvention se rapporte, consiste en un procédé sans priorités Toutes les unités externessont mises sur le même pied en ce qui concerne la demande d'interruption Comme dans le cas de la première solution, les unités externes sont connec- tées à l'unité centrale du calculateur au moyen d'une ligne de commande commune sur laquelle les signaux de demande d'interruption sont transmis De l'unité centra- le part dans ce cas une ligne par laquelle elle renvoie l'accusé de réception d'interruption à une des unités externes de laquelle une autre ligne passe à l'unité suivante et ainsi de suite, pour aboutir finalement à la dernière unité de laquelle ne part plus aucune ligne, de sorte que toutes les unités qui peuvent demander une interruption sont enchatnées directement les unes aux autres C'est pourquoi; on parle également d'un enchat- nement (daisy chaining) L'accusé de réception d'inter- ruption que l'unité centrale émet contient l'adresse de l'unité qui a émis le signal de demande d'interruption. Lorsque la première unité reçoit l'accusé de réception d'interruption, un circuit logique vérifie si l'accusé de réception contient -son adresse Dans le cas négatif, la première unité transmet l'accusé de réception d'inter- ruption à l'unité suivante dont le circuit logique véri- fie alors si l'accusé de réception d'interruption con- tient son adresse Dans l'affirmative, l'accusé de ré- ception d'interruption n'est plus transmis à l'unité suivante En dehors de la dernière unité de laquelle ne part aucune ligne, toutes les unités doivent, par consé- quent, être équipées d'un circuit logique qui peut déce- ler si l'accusé de réception d'interruption contient son adresse et qui, dans la négative, envoie l'accusé de ré- ception d'interruption à l'unité suivante, tandis que 3, dans l'affirmative, coest-à-dire lorsqu'il reconnait se propre adresse, ne transmet plus joaccus 6 de réception d'interruption à l'unité suivante. Etant& donné que l'accusé de r&ception d'inter- ruption east vérifié dans chaque unité et est transmis, en fonction du résulttt de la verification, doune unité à l'autre, ce proc&d& est peu commode Il est codtsux par- ce qu'un circuit logique destins à identifier l'adresse est nécessaire dans chaque unit&, I l'exception de la dernière. L'invention a par conséquent pour but-de pro- curer un procédé simple et pou onéreux pour fournir des signaux de demamde d'interruptiono Ce but est réalisé par-le fait que le procéd& est caract 6 ris& sn ce queun signal de demande d'inter- ruption qui est émis par une unité externe looon) sur la ligne de commande (SL) empâche la fourniture d'u signal de demande d'interruption par les autres unités externes (lo O m). Des montages de circuits destiîns à réaliser le procédé conforme à leimvention sont décrits dans les revendications 2-A 9 et illustras sur los Fige 1 et 2 o Etant do=Gm que dans lea cas du procédé confor- me à l'invention, un signal da demande deinterruption pr 6 sent sur la ligne de commande bloque la fourniture âOautres signaux de demande d'interruption pour toutes les uait 6 S externes à l'exception de celle qui a envoye le signal de demande d'interruption à l'Unité centrale du calculateur, l'accusé de réception d'interruption de 11 unité centrale ne doit pas contenir l'adresse de l'uni= té externe qui a demandé luinterruptiono Cela étant, le traitement de l'accusé de réception d'interruption dans les unités externes individuelles est également suppri- mé et ces unités externes, étant donné qu'elles ne sont plus équip 6 es d'un circuit logique destiné &' identifier l'adresse, sent d'une fabrication plus simple et moins onéreuse. Un montage de circuit destiné à réaliser le procédé conforme à l'invention sera expliqué plus en détail ci-après avec référence à la Fig 1. Les sorties de plusie'urs montages de circuits 1 N sont connectées pour ré&alser le procédé conforme à l'invention, par lintermédiaire dune ligne de com- mande SL, à l'unité centrale CPU d'un calculateur Pour plus de concision, seul le montage de circuit 1 est re- présenté sur la Fig 1, les autres montages de circuits étant indiqués par les symboles 2 O n Toutes les sorties connectées en parallèle des montages de circuits indivi- duels sont mises au niveau L L=LOW) par l'intermédiaire d'une résistance R 2. La sortie d'un générateur d'impulsions G, qui, à titre de signal de demande d'interruption, fournit le niveau H (H=HIGH) jusqu'à ce que la demande d'interrup- tions ait été traitée, est connectée à l'entrée d'un commutateur pouvant tre commandé SI dont la sortie est connectée à l'entrée deun élément à retard T et à l'en- trée d'un inverseur J 1 et est mis au niveau L par l'in- termédiaire d'une resistance RI La sortie do l'élément à retard T est connectée à l'entrée de commande d'un commutateur pouvant ûtre commandé 52 dont l'entrée se trouve au niveau H, tandis que sa sortie est connectée à la ligne de commande SL et à l'entrée d'un inverseur J 2. Ce noeud de jonction forme la sortie du montage de cir- cuit La sortie de l'inverseur J 2 est connectée à l'en- trée d'un commutateur 53 pouvant être commandé dont la sortie est connectée directement à l'entrée de commande du commutateur pouvant 9 tre commandé 51 et est mis au niveau H par l'intermédiaire d'une résistance R 3 La sortie de l'inverseur J 1 est connectée à l'entrée de commande du commutateur pouvant tre commandé 53. Les indications entrée et sortie pour les com- mutateurs doivent indiquer le flux de signaux. Le fonctionnement du montage de circuit repré- senté sur la Fig 1 sera expliqué ci-après. Les commutateurs pourant être commandés 51, 52 et 53 sont ouverts lorsque leurs entrées de commande se trouvent au niveau L, mais ils sont fermés lorsque leurs entrées de commande se trouvent au niveau H. o 5 On suppose tout dgabord le cas dans lequel aucun des montages de circuits looon noémet un signal de demande d'interruption sous la forme d Oune impulsion de niveau H sur la ligne de commande SL, de sorte qu'elle est amenée au niveau L par 1 l'ntermédiaire de la résis- tance R 2 Cela étant, les explications suivantes sont valables pour tous les montages de circuits lo on. Etant donné que le générateur duimpulsions G ne donne pas de niveau H T 9 entrée et la sortie du com- mutateur 51 sont au niveau L, de sorte que l'entrée de commande du commutateur 52 est également au niveau Ls tandis que lentrée de commande du commutateur 53 est au niveau H à cause de l'inverseur J 1 Par conséquent, le commutateur 52 est ouvert, tandis que le comutateur 53 reste fermé Le commutateur SI reste également fermé, car son entree de commande se trouve au niveau H parce qu'elle est connectée, par l'intermédiaire du commuta- teur fermé 53 et de l'inverseur J 2, à l'entrée de com- mande SL qui, à cause de la résistance R 2, se trouve au niveau L Les positions des commutateurs ici décrites sont illustrées sur la Fig 1. On suppose à présent quuun montage de circuit demande une interruption Dans ce montage de circuit, le générateur d'impulsions G 6 met le niveau H qui parvient, par l'intermédiaire du commutateur fermé SI, certes sans retard, mais inyersé par L O inverseur Ji, à l'entrée de commande du commutateur 53, alors que par contre il par- vient, à cause de l'élément à retard T-, avec retard à l'entrée de commande du commutateur 52 Cela étant, le commutateur 53 est tout d abord ouvert sans retard, tan- dis que Ie commutateur 52 est fermé avec un certain re- tard Du fait que le commutateur 52 est à présent fermé, la ligne de commande SL se trouve au niveau H, ce que l'unité centrale interprète comme un signal de demande d'interruptions Etant donné que le commutateur 53 s'ouvre avant que le commutateur 52 se ferme, un coupla- ge par réaction du niveau H sur l'entrée de commande du commutateur SI n'est pas possible Le commutateur SI reste donc fermé. Les opérations décrites ci-après se déroulent de la m Ame manière dans les unités externes restantes qui n'ont demandé aucune interruption. Etant donné que la ligne de commande SL, qui se trouve à présent au niveau H, est connectée, par l'intermédiaire de l'inverseur J 2 et du commutateur 53 fermé, à l'entrée de commande du commutateur SI, cette entrée de commande est amenée au niveau L, ce qui pro- voque l'ouverture du commutateur SI Dès que le commu- tateur SI est ouvert, la fourniture d'un signal de de- mande d'interruption est empochée car le niveau H à la sortie du générateur d'impulsions G ne parvient plus aux entrées de commande des commutateurs 52 et 53. Le signal de demande d'interruption sur la ligne de commande empêche, par conséquent, la fourniture d'un signal de demande d'interruption pour toutes les unités externes en dehors de celle qui a demandé l'in- terruption Une exploitation d'une adresse contenue dans l'accusé de réception d'interruption dans les unités externes individuelles ainsi que leur enchainement (dai- sy chaining) sont devenues superflues dans le montage de circuit conforme à l'invention. La Fig 2 illustre un montage de circuit pour lequel l'élément à retard est réalisé par quatre inver- seurs I connectés les uns à la suite des autres Pour plus de simplicité, seule l'unité externe individuelle" 1 " est illustrée. Le générateur d'impulsions G est réalisé par un bouton-poussoir TA dont l'entrée est au niveau H et dont la sortie est connectée à l'entrée du commutateur SI. Dans le cas des positions de commutateurs re- 3 @ 46 présentées sur la Fig 29 le montage de circuit fournit un signal de demande d Ointerruptiono Les montages de circuit décrits peuvent aussi 9 tre équipés de commutateurs pouvant 8 tre commandés qui sont ouverts lorsque leurs entrées de commande se trou- vent au niveau H 9 mais qui sont fermés lorsque leurs entrées de commande se trouvent au niveau L 9 pour autant que le niveau L et le niveau H soient chaque fois inter- changés Un signal de demande d'interruption serait alors au niveau L. Sur la-Figo 2, par exemple 9 les commutateurs s 1 i 52, 53 sont des commutateurs CMOS du type MC 14066 B et leinverseur est du' type MC 14049 U Bo Une tension d 9 ali= mentation de 10 volts est appliquée aux deux composantso Pour émettre un signal de demande d'interrup- tions, une valeur typique est de ILIO ns et une valeur maximale de 250 nso Pour la réception d'un signal de de- mande d'interruption (par l'interméiaire des él'ments J 2, 53, SI), une valeur typique est de 60 ns et une va- a O leur maximale de 120 nso Le traitement de l'interruption (accusé de réception, transmission de données 9 traitement de données) peut bien entendu durer beaucoup plus long- temps Deux signaux -de demande d 9 interruptiôn successifs sont donc dans cet exemple séparés d'au moins environ 400 ns Ceci est bien entendu garanti lors d'une intro duction au moyen d'un bouton-poussoiro Pour de nombreux autres systêmes ceci est aussi largement suffisanto Leinver Deur J 2 peut être supprimé lorsque le commutateur 53 a un fonctionnement opposé à celui des commutate rs SI et 52: le commutateur 53 est fermé dans le cas de 19 application du niveau H à son entrée de com= mande, tandis que les commutateurs SI 1 et 52 sont ouverts dans le cas du niveau H à l'entrée de commandeo Il est également possible que le comautateur 53 soit fermé lors- que son entrée de commande se trouve au niveau L 9 tandis que les commutateurs 51 et 52 sont ouverts lorsque leurs entrées de commarnde se trouvent au niveau Lo Dans de nombreux cas, l'exemple de réalisation comportant l'inverseur JI est préférable parce que des commutateurs présentant le même comportement de commuta- tion, par exemple des commutateurs dits analogiques sont utilisés. Des modifications du circuit peuvent être ef- fectuées de diverses manières Par exemple, le commut-a- teur 53 peut être supprimé lorsque le signal de sortie du commutateur SI positionne un monostable, l'élément à temps T étant connecté plus en arrière Avec les retards indiqués, le temps de retour ou de rétablissement du mo- nostable peut alors être d'environ quelques microsecondes. REVENDICATIONS 1 Procédé destiné à des unités externes ( 1000 n) d'un calculateur pour fournir des signaux de demanmde d'interruption sans priorités par l'intermédiaire d'une ligne de commande commune (SL) à l'unité centrale (CPU) du calculateur, caractérisé en ce qu'un signal de deman- de deinterruption qui est émis par une unité externe ( loo n) sur la ligne de commande (SL), emp 9 che la four- niture d'un signal de demande d'interruption par les autres unités externes (oo O n) o 2 Montage de circuit destiné a lexécution du procédé suivant la revendication 1, caractérisé en ce que la sortie d'un générateur d'impulsions (G) qui four- nit le niveau avec un premier potentiel est connectée à l'entrée d'un premier commutateur pouvrant être comman- dé (SI) dont la sortie est connectée à l'entrée d'un élé- ment à retard (T) et à l'entrée de commande d'un deuxième commutateur pouvant être commandé ( 53) et est mis à un deuxième potentiel par l'intermédiaire dlune première résistance (R 1), la sortie de l'élément à retard (T) est connectée à l'entrée de commande dl'un troisième commuta- teur pouvrant 3 tre commandé ( 52) dont l'entrée se trouve au premier potentiel, tandis que sa sortie est connectée à la ligne de commande (SL) et à l'entrée d'un premier inverseur (J 2), la sortie du premier inverseur (J 2) est connectée à l'entrée du deuxième commutateur pouvant être commandé ( 53) dont la sortie est connectée directement à l'entrée de commande du premier commutateur pourant être commandé (SI) et est mis au premier potentiel par l'in- termédiaire d'une deuxième résistance (R 3). 3 Montage de circuit asuivant la revendication 2, caractérisé en ce que la sortie du premier commutateur pouvant être commandé (SI) est connectée, par l'intermé- diaire d'un deuxième irnverseur (J 1), à l'entrée de com- mande du deuxième commutateur pouvant être commandé ( 53). 4 Montage de circuit suivant la revendication 3, caractérisé en ce que le premier potentiel représente le niveau (H) et le deuxième potentiel, le niveau (L) et les commutateurs pouvant tre commandés (Si, 52, 53) sont ou- verts lorsque leurs entrées de commande se trouvent au niveau (L), mais soent fermés lorsque leurs entrées de commande se trouvent au niveau (H)M Montage de circuit suivant la revendication 3, caractérisé en ce que le premier potentiel représente le niveau (L) et le deuxième potentiel le niveau (H) et les commutateurs pouvant 9 tre commandés (SI, 52, 53) sont ou- verts lorsque leurs entrées de commande se trouvent au niveau (H), mais sont fermés lorsque leurs entr 6 es de commande sont au niveau (L). 6 Montage de circuit suivant la revendication 2, caractérisé en ce que le premier potentiel représente le niveau (H) et le deuxième potentiel, le niveau (L), le deuxième commutateur ( 53) est ferm 6 lorsque son entrée de commande est au niveau (L), mais est ouvert lorsque son entrée de commande est au niveau (H) et le premier et le troisième commutateur pouvant être commandés (Si, 52) accusent un comportement de commutation opposé à celui du second commutateur pouvant être commandé ( 53). 7 Montage de circuit suivant la revendication 2, caractérisé en ce que le premier potentiel représente le niveau (L) et le second potentiel, le niveau (H), le deu- xième commutateur pouvant être command 6 ( 53) est ferm 6 lorsque son entr 6 e de commande est au niveau (H), mais est ouvert lorsque son entr 6 e de commande est au niveau (L) et le premier et le troisième commutateur pouvant être command 6 e ( 51, 52) accusent un comportement de commutation oppos 6 à celui du deuxième commutateur pou- vant être commandé ( 53). 8 Montage de circuit suivant la revendication 2, 3, 4, 5, 6 ou 7, caract 6 ris 6 en ce que l'élément à re- tard (T) est formé par un nombre pair d'inverseurs (J). 9 Montage de circuit suivant la revendication 2, 3, 4, 5, 6, 7 ou 8, caractérisé en ce que le g 6 nérateur d'impulsions (G) est form 6 d'un bouton-poussoir ( TA) dont l' entrée se trouve au premier potentiel et dont la sortie est connectée & 11 entrée du premier commutateur pouvrant être commandé (SI).