Brevet FR2646941A1 — publié le 19901116

Dispositif pour gérer et arbitrer des impulsions d'interruption aléatoires déclenchant des programmes dans un microprocesseur La présente invention concerne d'une manière générale la gestion et l'arbitrage d'impulsions revues aléatoirement par plusieurs bornes d'entrée. A chaque borne d'entrée est associé un programme d'instruction spécifique que doit effectuer -en priorité un microprocesseur par rapport à d'autres tâches courantes accomplies par le microprocesseur, en réponse à une impulsion reçue par ladite borne d'entrée. L'invention a donc trait à l'allocation dynamique de l'utilisation d'un microprocesseur en fonction d'impulsions d'interruption déclenchant des programmes spécifiques prioritaires interrompant des tâches exécutées par le microprocesseur. Le microprocesseur n'est interrompu dans l'exécution des tâches courantes que lorsqu'un programme spécifique s'impose lors de l'apparition d'une impulsion d'interruption. Aucune perte de temps n'est due à des explorations systématiques et inutiles des bornes d'entrée, comme pour le mode de fonctionnement dit en "polling" d'une unité centrale de traitement reliée à des périphériques. A une même borne d'entrée, les impulsions sont représentatives d'évènements déterminés sporadiques. Un tel évènement peut être par exemple la détection d'un paquet ayant un en-tête déterminé dans une voie de transmission numérique, synchrone ou asynchrone, ayant notamment un débit élevé, la détection d'un mot déterminé dans un bus d'un système informatique, le basculement à un état particulier d'un circuit électronique ou d'un dispositif électromécanique, etc... Lesdites autres tâches accomplies par le microprocesseur sont classiques et généralement répétitives, et peuvent comprendre par exemple une analyse statistique et/ou un affichage ou une télétransmission cyclique de certains résultats obtenus par l'ensemble des programmes spécifiques. Le microprocesseur ne peut qu'accomplir les programmes d'instruction les uns après les autres. Ceci est a priori en discordance avec les faits que des impulsions peuvent être reçues simultanément à des bornes d'entrée différentes d'une part, et que des impulsions reçues à une même borne d'entrée peuvent se succéder avec une durée très inférieure à la durée de déroulement d'un programme d'instruction spécifique. En outre, un microprocesseur n'offre qu'un très faible nombre d'entrées de commande d'interruption de tâche par rapport au nombre élevé d'entrées de bornes recevant des impulsions prévu par l'invention. L'invention vise donc à résoudre ces conditions de réception d'impulsions d'évènement apparemment antagonistes au fonctionnement du microprocesseur. A cette fin, un dispositif pour gérer et arbitrer des impulsions reçues aléatoirement par MN bornes d'entrée et destinées à interrompre des tâches effectuées par un microprocesseur par MN programmes d'instructions respectifs, M et N étant des entiers prédéterminés, est caractérisé en ce qu'il comprend - N moyens reliés respectivement à N groupes de M bornes d'entrée pour coder chacune des impulsions reçues en un numéro codé de la borne d'entrée par laquelle est reçue ladite impulsion, - des moyens pour sélectionner l'un des N numéros codés délivrés par les moyens pour coder en un numéro codé sélectionné appliqué à des entrées d'interruption de tâche du microprocesseur, - N moyens associés aux N moyens pour coder, pour mémoriser MN adresses de programme d'instruction correspondant respectivement aux bornes d'entrée, et - des moyens reliés au microprocesseur et aux moyens pour sélectionner pour délivrer un signal de déclenchement de programme afin de lire une adresse de programme mémorisée correspondant au numéro sélectionné et la transmettre au microprocesseur pour effectuer un programme correspondant, et afin d'effacer le numéro codé sélectionné dans les moyens pour coder. Selon tinte utilisation préférée du dispositif de gestion et d'arbitrage, les programmes d'instruction spécifique sont identiques pour les bornes d'entrée et servent à compter des impulsions représentatives d'évènements aléatoires ayant une fréquence moyenne très élevée en vue d'afficher des comptes cumulatifs d'impulsions notamment en temps réel.Selon l'invention est alors prévu un dispositif pour compter des impulsions représentatives d'évènements aléatoires et transmises par MN voies d'entrée par l'intermédiaire d'un microprocesseur, caractérisé en ce qu'il comprend - MN moyens respectivement reliés aux voies d'entrée pour compter les impulsions d'évènement modulo J dans les voies d'entrée afin de transmettre des impulsions d'interruption de tâches de microprocesseur en réponse à des comptes de J impulsions d'évènement, - un dispositif conforme à l'invention pour gérer et arbitrer les impulsions d'interruption reçues à MN bornes d'entrée reliées respectivement aux sorties des MN moyens pour compter, - une mémoire reliée au microprocesseur et ayant MN cellules respectivement associées aux bornes d'entrée pour mémoriser des comptes cumulés d'impulsion d'interruption, et - une mémoire de programmes de comptage reliée au microprocesseur, afin qu'en réponse à une adresse de programme d'instruction lue correspondant au numéro codé sélectionné d'une borne d'entrée, le microprocesseur effectue un programme de comptage consistant principalement à lire le compte dans la cellule correspondante à la borne d'entrée, à incrémenter ledit compte d'une unité, et à écrire le compte incrémenté dans ladite cellule. D'autres avantages et caractéristiques de l'invention apparartront plus clairement à la lecture de la description suivante d'une réalisation préférée du dispositif selon l'invention, en référence aux dessins annexés correspondants dans lesquels - la Fig. 1 est un bloc-diagramme d'un dispositif de gestion et d'arbitrage d'impulsions d'interruption pour un microprocesseur - la Fig. 2 est un bloc-diagramme détaillé de l'un des circuits de codage et mémorisation inclus dans le dispositif de gestion et d'arbitrage - la Fig. 3 montre en détail un circuit logique d'arbitrage aléatoire inclus dans le dispositif de gestion et d'arbitrage ; et - la Fig. 4 est un bloc-diagramme d'un dispositif d'observation de trafic de voies de transmission comprenant le dispositif de gestion et d'arbitrage. La réalisation illustrée à la Fig. 1 concerne un dispositif de gestion et d'arbitrage d'interruptions DGA pour un microprocesseur 2. Le dispositif DGA offre MxN = 6x4 = 24 bornes d'entrée recevant chacune des impulsions d'interruption sporadiques. Les bornes d'entrée sont réparties en quatre groupes de six bornes d'entrée BE11 à BE61, BE12 à BE62, BE13 à BE63 et BE14 à BE64 BF, , reliés respectivement à N=4 circuits de codage et de mémorisation 11 à 1 Chacun des circuits 11 à IN remplit essentiellement deux fonctions : un codage de chaque impulsion d'interruption reçue en un numéro codé à 3 bits parallèles de la borne d'entrée correspondante reliée au circuit 11 à IN, et la fourniture d'une adresse de programme au microprocesseur en réponse au numéro codé indiqué au microprocesseur 2.Les circuits 11 à 1N=14 ayant des structures identiques, l'un d'eux, i est illustré en détail dans n la Fig. 2 où n est un entier compris entre 1 et N. Pour remplir la première fonction, le circuit de codage et de mémorisation 1 comprend un détecteur-codeur 10 qui est relié à n n des bornes d'entrée BE à BE = BE . Le détecteur-codeur 10 1n 6n Mn n détecte les impulsions au fur et à mesure de leur arrivée. Relativement à une borne d'entrée BE n' où m est un entier compris entre 1 et M=6, le détecteur-codeur 10 lit le numéro de la borne n d'entrée dans une mémoire morte programmable REPROM li en réponse n à une impulsion d'interruption détectée reçue par la borne BE . Le mn cas échéant, le détecteur-codeur 10 se#lectionne des numéros n correspondant à des impulsions reçues simultanément par plusieurs bornes d'entrée BE In à BE selon un ordre de priorité prédéterminé. Les numéros ordonnés selon cet ordre de priorité et l'ordre d'arrivée des impulsions sont fournis par le détecteur-codeur 10 pour être inscrits dans une file d'attente n FIFO 12 . Les cellules vides de la file d'attente, ne contenant pas n un numéro codé, contiennent un mot de file vide "111" différent de tous les numéros codés de borne d'entrée. Si la file d'attente 12 n est vide lorsqu'unie impulsion reçue est détectée, le numéro codé de la borne correspondante BE est transféré directement dans un mn registre tampon de sortie 13 pour être appliqué à un bus de sortie n à trois fils 14 du circuit 1 jusqu'à la fin du programme n correspondant à la borne d'entrée BE . Si le registre tampon 13 mn n comprend déjà un numéro codé lorsqu'une impulsion reçue est détectée par la borne BEmn, le numéro codé correspondant à cette impulsion reçue est inscrit momentanément dans la file d'attente 12 .Ce dernier numéro codé serà lu et transféré dans le registre n tampon 13 après que le microprocesseur 2 ait effectué tous les n programmes correspondant aux numéros codés précédemment écrits dans la file d'attente 12 . Comme on le verra dans la suite, le n microprocesseur 2 délivre d'une part, un premier signal par des sorties 21 à l'état logique "1", d'autre part, un second signal par un bus d'adresse BA. Ces deux signaux sont combinés à travers des portes logiques 23, 24 et 25 comme montré à.la Fig. 1, en un signal de déclenchement de programme qui est appliqué à une entrée 1D du n circuit 1, à travers une première entrée d'une porte OU à deux n entrées 15 .Le signal de déclenchement de programme du n microprocesseur commande la lecture du premier numéro inscrit dans -la file d'attente 12n, ou la lecture d'un mot de code "111" indiquant que la file d'attente 12 est vide et donc qu'aucune n impulsion d'interruption n'a été détectée par le détecteur-codeur 10 depuis le début du programme. n En référence à nouveau à la Fig. 1, chaque bus de sortie 14 à 144 des circuits 11 à 14 dessert trois entrées d'une porte NON-ET respective 301 à 304 et trois entrées d'un circuit de transfert 311 à 31 Le circuit de transfert 31n comprend trois portes ET à deux entrées ayant une entrée inverseuse commune de commande 310 . Les n sorties des portes NON-ET 301 à 304 sont reliées respectivement à quatre entrées d'un circuit d'arbitrage logique programmable 32 à travers quatre étages à bascule bistable d'un registre de mise en forme de signal logique 33.Des entrées d'horloge C du registre 33 et du circuit logique 32 reçoivent directement et à travers une ligne à retard 34 un signal d'horloge CL à 8 MHz, respectivement Sachant que les numéros de borne d'entrée dans les bus 141 à 144 varient de 1="001" à 6="110" en code binaire, la détection d'une impulsion par l'un 1 des circuits 11 à 14 est matérialisée n I 4 par au moins l'un des trois fils du bus respectif 14 à l'état n logique "O". La sortie 301 de la porte NON-ET correspondante 30 n n est à l'état logique "1". Les temps de propagation des transitions logiques, telles que le front montant de l'état "O" à l'état "1", à la sortie de porte 301 en réponse à un numéro de borne d'entrée n sont réduits dans l'étage respectif du registre 33 sous la commande du signal d'horloge CL.L'état "1" est appliqué à l'entrée correspondante 320 du circuit logique 32. n Le circuit d'arbitrage 32 comporte quatre sorties 3211 à 3214 respectivement reliées aux entrées de commande inverseuses 3101 à 3104 des circuits de transfert 311 à 314 et à des secondes entrées des portes OU à deux entrées 151 à 154. Le circuit 32 joue le rôle d'un "arbitre" entre les circuits de codage et de mémorisation 1 1 à 14 et, plus précisément, entre des numéros de borne d'entrée présents simultanément dans les bus 141 à 144. Le circuit 32 est programmé de sorte qu'il ne sélectionne qu'aléatoirement l'une des entrées 3201 à 3204 à l'état "1", ce qui est traduit par l'activation à l'état "0" de la sortie 3211 à 3214 correspondant à l'entrée sélectionnée 3201 à 3204.A titre d'exemple, les équations logiques suivantes sont programmées dans le circuit 32 3211 = 3201. 3212 . 3213 . 3214 . RAZ 1 1 2 3 4 3212 = 3202 . 3213 . 3214 . 3211 .RAZ 2 2 3 4 1 321 = 3203 . 3214. 3211 . 3212 . RAZ 3 3 4 1 2 321 = 320 . 321 . 321 . 321 . RAZ 4 4 1 2 3 RAZ désigne un signal de remise à zéro lors de la mise sous tension du dispositif DGA, ou au début d'une mesure de durée prédéterminée. Un schéma équivalent au circuit d'arbitrage 32 avec cette programmation est montré à la Fig. 3. il comprend quatre portes ET à cinq entrées 3221 à 3224, quatre bascules bistables 3231 à 3234 et quatre inverseurs de sortie 324 à 324 . A chaque porte 322 1 4 n sont associés une bascule 323 ayant une entrée D reliée à la n sortie de la porte,# et un inverseur 324 relié à la sortie directe n Q de la bascule 323 . La porte 322 a une entrée confondue avec n n l'entrée respective 320 du circuit logique 32 et trois entrées n reliées aux sorties inverses Q des trois autres bascules. Des entrées d'horloge H reçoivent le signal d'horloge CL à travers la ligne à retard 34.Cette ligne à retard introduit un décalage de typiquement 80 ns entre les signaux d'horloge appliqués au registre 33 et au circuit 32 afin d'éviter les inconvénients dûs aux phénomènes transitoires lors de la traversée du circuit 32. En effet, dans le circuit 32, chaque bascule 323 à 3234 valide le n 4 signal à l'entrée respective 3201 à 3204 à un instant donné. En se référant à nouveau à la Fig. 1, la sortie 321 n correspondant à l'entrée active sélectionnée de manière aléatoire parmi les entrées 3201 à 3204 dans le circuit logique programmable 32 applique l'état "0" à l'entrée inverseuse de commande 310 du n circuit de transfert respectif 31 . Les trois portes ET dans le n circuit 31 sont ouvertes pour que le numéro de borne d'entrée n produit par le circuit de codage et mémorisation correspondant 1 n soit délivré à travers un bus à trois fils de numéro d'interruption 20 au microprocesseur 2. Les trois fils du bus 20, dit bus d'interruption de ' tâches du microprocesseur, sont reliés respectivement aux sorties des trois portes ET dans chacun des circuits 311 à 314. En pratique, les circuits précités inclus dans le dispositif DGA sont des circuits intégrés du commerce. Les circuits de codage et mémorisation 1 1 à 14 sont des circuits programmables du type "Interrupt handler" SCB 68155 de SIGNETIC, le microprocesseur 2 est un microprocesseur à 16 bits piloté par une horloge à 16 MHz, du type 68000 de MOTOROLA, les circuits de transfert 311 à 314 sont des "driver" de bus du type 74244 de TEXAS, le circuit d'arbitrage logique programmable 32 est un "Programmable Array Logic" du type PAL/16 R8 de MMI, et le registre 33 est un "bus interface register" du type 29821 de AMD. Comme également montré à la Fig. 1, le dispositif DGA comprend des bus et des portes logiques entre le microprocesseur 2 et les circuits de codage et mémorisation li à 14 afin qu'à chaque numéro de borne d'entrée reçu par le bus 20, le microprocesseur 2 déclenche un programme de traitement spécifique à la borne d'entrée correspondante, après un échange protocolaire d'adresses et de données entre le microprocesseur 2 et les circuits 11 à 14. A cette fin, le microprocesseur 2 comporte - trois sorties de validation d'interruption 21 reliées respectivement à trois entrées d'une porte ET 23, - trois sorties de numéro 2N reliées à trois entrées d'une porte OU 24 et, à travers un bus d'adresse BA, à trois entrées d'adresses 1N1 à 1N4 de chacun des circuits de codage et mémorisation 11 à 14, - huit bornes d'entrée/sortie 2AI, notamment pour adresse d'instruction, reliées notamment à huit sorties de données IAII à lAI4 de chacun des circuits 11 à 14 à travers un bus de données directionnel BD, et - une entrée 2L reliée à une sortie d'acquittement 1C1 à 1C4 de chacun des circuits de codage et mémorisation 11 à 14. Les sorties des portes 23 et 24 sont reliées aux deux entrées d'une porte NON-ET 25. La sortie de la porte 25 est reliée à des secondes entrées des portes OU 151 à 154 dont les sorties sont reliées respectivement à des entrées de déclenchement 1D1 à 1D4 des circuits 11 à 1 Le cycle de déclenchement d'une instruction de programme dans le microprocesseur 2 en réponse à un numéro de borne d'entrée dans le bus 20 est le suivant. il est supposé que le circuit d'arbitrage 32 sélectionne l'entrée 320 parmi toutes les entrées actives 3201 à 320N à l'état "1". Le circuit de transfert 31 est ouvert et applique le numéro n de la borne d'entrée correspondante BE à B i sélectionnée par le circuit 1 aux entrées 20 du microprocesseur. n Le microprocesseur 2 reconnaît ce numéro codé binaire de borne d'entrée et renvoie ce numéro par les sorties 2N du bus d'adresse BA vers des registres tampons d'entrée inclus dans les circuits 1 à 14, tels que le registre 16 du circuit 1 (Fig. 2). n n Simultanément, cette reconnaissance de numéro est traduite par un positionnement des sorties 21 du microprocesseur à l'état "1". Un signal de déclenchement de programme signifiant un acquittement d'impulsion d'interruption par le microprocesseur est ainsi transmis sous la forme d'un état O à la sortie de la porte NON-ET 25, la porte OU 24 validant les états "1" en entrée et la porte ET 23 validant les numéros codés autres que "000". Seule la porte OU 15 parmi les portes 151 à 154 a une seconde n 1 4 entrée, reliée à la sortie 321 du circuit d'arbitrage 32, qui est n à l'état "0". Par suite, seul le circuit de codage et mémorisation 1 a son entrée 1D à l'état "O". n ~ n En fait, comme montré à la Fig. 2, dans chacun des circuits li à 14, tels que le circuit 1 , l'entrée 1D est reliée à une unité n de calcul 17 qui est interconnectée à la mémoire morte 11 , au n n registre tampon d'entrée 16 , à une mémoire RAM à registres 18 et n n à un générateur d'acquittement 19 . L'unité de calcul 17 remplit n n la seconde fonction essentielle déjà citée du circuit 1 .L'entrée n 1Dn, les entrées 1N , et les sorties lAi constituent, à travers n n l'unité de calcul 17n, une entrée de commande de lecture, des entrées d'adresse, et des sorties de données de la mémoire RAM 19 n La mémoire 19 contient six adresses d'instruction à 8 bits n respectivement assignées aux bornes d'entrée d'impulsions BE à in BE et destinées à déclencher M=6 programmes d'instruction par le microprocesseur 2. Ces programmes peuvent être différents entre eux et sont propres à une analyse d'évènements prédéterminés signalés par les impulsions aux bornes d'entrée BE In à BE. Ainsi le signal de déclenchement à l'état "0" sur l'entrée 1D n indique à l'unité de calcul 17 du circuit 1 qu'elle peut n n continuer à poursuivre ses opérations par la lecture de l'adresse de programme de l'interruption active dans la mémoire 18 et la n présentation stable de celle-ci dans les huit fils IAI du bus de n données BD au microprocesseur 2. La lecture de l'adresse de programme dans la mémoire RAM 18 est fonction du numéro transmis par le microprocesseur au registre d'entrée 16 et validé par n l'unité de calcul 17 .Simultanément, en réponse au signal de n déclenchement à la borne 1D , l'unité de calcul 17 prévient le n microprocesseur 2 de la lecture d'adresse du programme correspondant par la production d'un signal d'acquittement sous la forme d'un état actif "O" mis à la sortie 1C par le générateur n d'acquittement 19 . L'adresse d'instruction appliquée aux huit n sorties lAD est lue par le microprocesseur 2, via le bus de n données BD. t'unité de calcul 17 a alors terminé ce cycle n d'opérations et est disponible pour traiter une autre interruption selon le même processus. En pratique, le microprocesseur 2 multiplie par quatre l'adresse d'instruction reçue en une adresse sélectionnant une instruction de déclenchement d'un programme dans une table interne au microprocesseur.Les instructions de programme sont pré-enregistrées dans une mémoire morte REPR0M 51 (voir Fig. 3). Le microprocesseur 2 après avoir exécuté le programme pour l'interruption en question, reprend ses tâches normales et peut être à nouveau dérouté pour exécuter un autre programme concernant une autre interruption. Les trois sorties de numéro 14 du circuit n 1 sont passées à l'état inactif "1" et ont libéré à l'état "0" une n entrée 320 du circuit de priorité et d'arbitrage 32 si la file n d'attente 12 dans le circuit 1 est vide, ou bien, le cas échéant, n n ont transmis le numéro de borne d'entrée suivant dans la file 12 n si l'une des bornes d'entrée BE in à BE6n a reçu une autre impulsion d'interruption.Si d'autres entrées 3201 à 3204 du circuit d'arbitrage 32 sont encore à l'état "1", ce qui correspond à des impulsions en attente de traitement provenant de circuits 11 à 14 autres que le circuit 1 , le circuit d'arbitrage procède à un n nouveau choix aléatoire des entrées actives 3201 à 3204 pour traiter l'impulsion correspondante selon le cycle décrit ci-dessus, en vue de transmettre une autre adresse d'instruction de programme par la mémoire RAM dans le circuit de codage et de mémorisation respectif au microprocesseur. Par contre, lorsque les circuits 11 à 14 détectent les uns après les autres des impulsions, les numéros de borne d'entrée sont pris en compte par le circuit d'arbitrage 32 et traités par le microprocesseur 2 selon l'ordre chronologique de réception des impulsions. De la description précédente, il apparat que le microprocesseur 2 dispose de temps libres entre deux impulsions successives pour effectuer d'autres tâches que celles des programmes inhérents au traitement des impulsions. En pratique, pour le type de microprocesseur déjà cité, la réception d'un numéro par le bus d'entrées d'interruption 20 interrompt le déroulement desdites autres tâches pendant environ 4 ps correspondant à la durée d'un traitement d'impulsion. Ainsi, selon l'invention, grâce aux moyens d'arbitrage 30 à 34, les programmes de traitement pour des impulsions détectées simultanément sont effectués les uns après les autres.Grâce aux circuits de codage et mémorisation 11 à 14, MkN=24 types d'évènement peuvent être traités par des programmes différents dans le microprocesseur, au lieu de sept pouvant être traités a priori par le microprocesseur, le nombre 7=23-1 correspondant aux possibilités de codage binaire des interruptions offertes par les trois fils du bus d'entrée 20 du microprocesseur 2. A titre d'exemple d'utilisation, le dispositif de gestion et d'arbitrage DGA est associé à d'autres circuits pour constituer un dispositif d'observation de trafic de voies de transmission. Le dispositif d'observation DO est montré à la Fig. 4 dans laquelle on retrouve seulement les N circuits de codage et mémorisation 11 à 1N et le microprocesseur 2 du dispositif DGA afin de ne pas surcharger la figure. Le nombre M de bornes d'entrée d'impulsion BE11 à BE61, à BEIN à BE6N affectées à chaque circuit li à 1N est au maximum égal à six, en référence au circuit SCB 68155 ici choisi. Cependant, les nombres M et N peuvent être quelconques et sont en pratique choisis en fonction du nombre d'entrées ou de voies à observer. Le dispositif d'observation DO présente donc MN voies d'entrée V11 à VMN recevant chacune des impulsions brèves réparties aléatoirement, et respectivement assignées aux bornes d'entrée des circuits 11 à 1N. Chaque voie d'entrée est associée par exemple à une voie temporelle dans un central de commutation numérique, synchrone du type MIC ou asynchrone du type paquet, à une voie analogique dans un central de commutation spatiale, à un bus dans un système informatique ou dans un calculateur par exemple à traitement symbolique, ou d'une manière générale, à un support de transmission ou à des signaux particuliers convoyés dans un moyen de transmission.Par exemple, une impulsion dans une voie d'entrée peut correspondre à un évènement, tel que transmission d'un paquet de données ayant un en-tête particulier, un signal d'ordre particulier, tel que demande d'instruction ou accusé de réception relatif à un protocole d'échange de signaux entre deux unités électroniques, à une tonalité à'invitation à numéroter dans une ligne téléphonique d'abonné, etc... Les voies V11 à VMN sont reliées au(x) dispositif(s) et/ou au(x) moyen(s) de transmission dont le trafic est à surveiller par une interface spécifique, n'entrant pas dans le cadre de la présente demande de brevet. Cette interface détecte les évènements de trafic prédéterminés et les convertit en des impulsions d'évènement brèves dans les voies d'entrée. En pratique, deux impulsions d'évènement dans une même voie peuvent se succéder avec un temps minimal TM de 200 ns. Ce temps étant très faible par rapport au temps de traitement d'un programme dans le microprocesseur 2, de l'ordre de 4 s, les impulsions d'évènement sont comptabilisées pour être regroupées en des impulsions d'interruption. A cet effet, chaque voie Vmn, où m et n sont compris entre 1 et M et 1 et N respectivement, est reliée à une première entrée d'une porte ET à deux entrées 41 dont la mn sortie est reliée à une entrée de comptage d'un compteur modulo J=21, 42mn, où I est un entier. La sortie de remise à zéro du compteur 42 est reliée à la borne d'entrée respective BE du mn mn dispositif de gestion et d'arbitrage DGA. Une impulsion d'interruption à la borne d'entrée BE est ainsi produiteaprès J=2 impulsionsd'évènementsuccessives reçues par la voie Vmn . Pour un microprocesseur à 16 bits, J est choisi égal à 216 et par conséquent, chaque compteur 421l à 42MN délivre 16 une impulsion d'interruption au plus toutes les (200 ns)x2 =12,8 ms. Par suite pour MxN=24 compteurs 411 à 464 le microprocesseur 2 doit en moyenne traiter une interruption toutes les 12800/24=530 ps. La durée de traitement d'une interruption étant de DP=4 ps environ, le microprocesseur 2 dispose donc de 530-4=526 s pour effectuer d'autres tâches. Selon une autre variante, si le microprocesseur 2 est un microprocesseur à 32 bits, les compteurs 411 à 4MN peuvent être des compteurs modulo 232 et délivrent chacun une interruption toutes les (200 ns)x2 32=820 secondes. Dans ce cas, le microprocesseur dispose de beaucoup plus de temps entre chaque interruption. Le nombre MN peut être nettement plus grand que 24 et les temps d'accès dans les voies V11 à VMN peuvent être nettement inférieurs à 200 ns. Le dispositif DO peut être alors utilisé pour surveiller des voies de transmission numérique à débit élevé, de l'ordre de 600 Mbit/s. D'une manière classique, le microprocesseur 2 est relié à une mémoire morte REPROM de programmes 51 et à une mémoire vive RAM 52 à travers le bus de données BD et le bus d'adresses BA. Typiquement, chacune de ces mémoires a une capacité de 32 koctets. La mémoire RAM 52 est divisée en MxN cellules de 32 bits 5211 à 52MN respectivement affectées aux comptes cumulés des impulsions d'interruption aux bornes d'entrée BE11 à B##. La mémoire morte 51 contient notamment les programmes déclenchés par les adresses d'instruction délivrées par les sorties lAI1 à 1AIN des circuits de codage et mémorisation 11 à 1N Chacun de ces programmes consiste essentiellement à lire le contenu de la cellule dans la mémoire 52 correspondant à l'impulsion d'interruption, à l'incrémenter d'une unité et à l'écrire dans ladite cellule.Ainsi chaque cellule 52 mn de la mémoire 52 contient, à un instant donné, la partie entière du quotient de la division du nombre réel d'impulsions d'évènement reçues dans la voie Vmn par le nombre J=2I. Entre les programmes d'incrémentation d'une unité des comptes cumulés d'impulsion ayant chacun une durée DP de 4 ps environ, le microprocesseur effectue un affichage en temps réel de l'évolution du trafic à surveiller dans les voies. A cet égard sont prévus dans le dispositif d'observation DO, une interface entrée/sortie 6 et une base de temps programmable 7 reliées aux bus BA et BD, et un circuit d'adressage de reliquat de compteur 8 relié au bus BA. La base de temps 7 indique notamment les instants de déclenchement "cycliques" d'affichage au microprocesseur 2. Ces instants sont différés par le microprocesseur en fonction des programmes prioritaires de traitement d'impulsion d'interruption. La base de temps 7 enregistre également les instants de début et de fin de mesure, et délivre, entre autres, un signal de durée de mesure SM et le signal RAZ. Le signal SM est à l'état "1" pendant toute la durée de mesure et est appliqué à des secondes entrées des portes ET 4111 à 41mon. L'interface 6 est une interface classique, du type à port série RS232, pour transmettre les comptes d'impulsion à un terminal d'affichage 61, et/ou à une imprimante 62, qui affiche sous forme de graphisme l'évolution du trafic dans les voies. Aux sorties des étages de chaque compteur 42 est relié un registre tampon mn respectif 43 contenant le compte instantané du compteur. Les mn sorties parallèles des registres 4311 à 43MN transmettent des reliquats de compte au microprocesseur 2, via le bus de données BD, respectivement en réponse à des adresses de lecture délivrées par le microprocesseur, via le bus d'adresses BA, et codées en série par le circuit d'adressage 8 dans un fil d'adresse 81. Les adresses de lecture pour lire les reliquats de compte sont transmises par le microprocesseur successivement de 1 à MN, soit cycliquement à chaque affichage en temps réel, soit à la fin de la durée de mesure déterminée par la base de temps. Le microprocesseur 2 additionne le reliquat lu dans le registre 43 n au compte cumulé lu dans la mn cellule de mémoire 52 en un compte réel qui est transmis au mn terminal 61 ou à l'imprimante 62, via le bus de données BD et l'interface 6. Comme montré schématiquement dans le bloc 61 de la Fig. 4, les comptes réels sont représentés par des segments parallèles à l'axe des abscisses et respectivement associés aux numéros de voie d'entrée 1 à MN indiqués en ordonnée. REVENDICATIONS 1 - Dispositif (DGA) pour gérer et arbitrer des impulsions reçues aléatoirement par MN bornes d'entrée (BEl1 à BE#) et destinées à interrompre des tâches effectuées par un microprocesseur (2) par MN programmes d'instructions respectifs, M et N étant des entiers prédéterminés, caractérisé en ce qu'il comprend - N moyens (11 à 1N ; 10 à 13 ) reliés respectivement à N n n groupes de M bornes d'entrée (BE11 à BEM1, à BEIN à BiN) pour coder chacune des impulsions reçues en un numéro codé (141 à 14N) de la borne d'entrée par laquelle est reçue ladite impulsion, - des moyens (30 à 33) pour sélectionner l'un des N numéros codés délivrés par les moyens pour coder en un numéro codé sélectionné appliqué à des entrées d'interruption de tâche (20) du microprocesseur (2), - N moyens (11 à 1 ; 18 ) associés aux N moyens pour coder, 1 n pour mémoriser MN adresses-de programme d'instruction correspondant respectivement aux bornes d'entrée, et - des moyens (21, 22, 23, 151 à 15 5 reliés au microprocesseur (2) et aux moyens pour sélectionner (30 à 33) pour délivrer un signal de déclenchement de programme (1D1 a 1D ) afin de lire une n adresse de programme mémorisée (lAI1 à 1AIN) correspondant au numéro sélectionné et la transmettre au microprocesseur pour effectuer un programme correspondant, et d'effarer le numéro codé sélectionné dans les moyens pour coder. 2 - Dispositif conforme à la revendication 1, caractérisé en ce que chacun (1 n) des N moyens pour coder comprend une mémoire morte (11 ) contenant les numéros codés des M bornes d'entrée (BE1n n à BeMn), des moyens (10 ) pour détecter les impulsions reçues afin de lire les numéros des bornes d'entrée correspondantes, des moyens cln > pour mémoriser momentanément chaque numéro de borne d'entrée lu, et des moyens (16n, 17 , 13 ) pour délivrer successivement des n n numéros de borne d'entrée mémorisés momentanément en réponse à des signaux de déclenchement de programme. 3 - Dispositif conforme à la revendication 2, caractérisé en ce que chacun (1n) des moyens pour coder comprend, en outre, des moyens (10n) pour ordonner des numéros de borne d'entrée lus (1 à M) correspondant à des impulsions reçues simultanément selon un ordre de priorité prédéterminé des bornes d'entrée (BE1 à BEM afin d'écrire les numéros codés lus selon cet ordre et l'ordre chronologique des impulsions reçues dans une file d'attente (In) incluse dans les moyens pour mémoriser momentanément. 4 - Dispositif conforme à la revendication 3, caractérisé en ce que des cellules dans des moyens pour mémoriser momentanément (12 ) qui sont vides initialement ou effacées en réponse à des signaux de déclenchement de programme contiennent un mot ("111") diffèrent de tous les numéros codés. 5 - Dispositif conforme à l'une quelconque des revendications 1 à 4, caractérisé en ce que les moyens pour sélectionner (30 à 33) comprennent N moyens (301 à 30N) pour détecter des numéros codés (141 à 14N)4 en sortie des moyens pour coder (11 à 1N) afin de convertir chaque numéro codé en un signal logique (3201 à 320N) ayant un état prédéterminé ("0") jusqu'au déclenchement du programme correspondant à ce numéro codé et à effectuer par le microprocesseur (2), des moyens (32) pour choisir selon un ordre de priorité, de préférence aléatoire, l'un des signaux logiques à l'état prédéterminé (3201 à 320N) en un signal logique choisi, et N moyens (311 à 31 recevant respectivement les numéros codés (141 à 14N) pour transférer le numéro codé sélectionné correspondant au signal logique choisi aux entrées d'interruption de tâche (20) du microprocesseur (2). 6 - Dispositif conforme à la revendication 5, caractérisé en ce que les moyens pour choisir l'un des signaux logiques (32) comprennent N portes ET (3221 à 322N), et N bascules bistables (3231 à 323N) ayant des entrées d'horloge (H) recevant un signal d'horloge (CL), chacune desdites portes ET (321 ) ayant une entrée recevant un signal logique (320n) de l'un respectif (30 ) des moyens pour détecter des numéros codés, une sortie reliée à une entrée de données (D) de l'une respective (323n) desdites bascules, et N-l autres entrées reliées respectivement à des sorties identiques (Q) des autres bascules. 7 - Dispositif conforme à l'une quelconque des revendications 1 à 6, caractérisé en ce que le microprocesseur (2) délivre un signal de validation d'interruption (2I) et retransmet le numéro codé sélectionné (2N) par un bus d'adresses (BA) en réponse au numéro codé sélectionné (20), et en ce que les moyens pour délivrer un signal de déclenchement de programme comprennent des moyens (23, 24, 25) pour combiner le signal de validation (2I) et le numéro codé sélectionné retransmis (2N) en le signal de déclenchement de programme, et des moyens (141 à 14N ; 17 ) recevant un signal logique (32ici n à 321N) correspondant au numéro codé sélectionné et établi par les moyens pour sélectionner (30 à 33) pour lire une adresse de programme mémorisée (lAI1 à 1AIN) qui est adressée par le numéro codé retransmis (2N) et qui est contenu dans le moyen pour mémoriser (11 à IN ; 18n) adressé par ledit signal logique (3211 à 321N), en réponse au signal de déclenchement de programme. 8 - Dispositif (DO) pour compter des impulsions représentatives d'évènements aléatoires et transmises par MN voies d'entrée (V11 à VMN) par l'intermédiaire d'un microprocesseur (2), caractérisé en ce qu'il comprend - MN moyens (4211 4311 à 42MN - 43M) respectivement reliés aux voies d'entrée pour compter les impulsions d'évènement modulo J dans les voies d'entrée (V11 à VMN) afin de transmettre des impulsions d'interruption de tâches de microprocesseur en réponse à des comptes de J impulsions d'évènement, - un dispositif (DGA) conforme à l'une quelconque des revendications 1 à- 7 pour gérer et arbitrer les impulsions d'interruption reçues à MN bornes d'entrée (BE11 à B i ) reliées respectivement aux sorties des MN moyens pour compter, - une mémoire (52) reliée au microprocesseur (2) et ayant MN cellules (521 à 52mu) respectivement associées aux bornes d'entrée (BEY1 à B#MN) pour mémoriser des comptes cumulés d'impulsion d'interruption, et - une mémoire de programmes de comptage (51) reliée au microprocesseur afin qu'en réponse à une adresse de programme d'instruction lue correspondant au numéro codé sélectionné d'une borne d'entrée, le microprocesseur effectue un programme de comptage consistant principalement à lire le compte dans la cellule correspondante à la borne d'entrée, à incrémenter ledit compte d'une unité, et à écrire le compte incrémenté dans ladite cellule. 9 - Dispositif pour compter conforme à la revendication 8, caractérisé en ce que lesdites tâches effectuées par le microprocesseur (2) consistent, entre autres, à commander l'affichage périodique des comptes cumulés des impulsions d'interruption dans des moyens d'affichage (6, 61, 62). 10 - Dispositif conforme à la revendication 8 ou 9, caractérisé en ce que l'une desdites tâches consiste à calculer les comptes réels cumulés des impulsions d'évènement en vue de leur affichage, en ce que le dispositif pour compter (DO) comprend des moyens (7) pour ordonner le calcul desdits comptes réels dans le microprocesseur (2), et des moyens d'adressage (8) pour lire successivement des reliquats de compte dans les MN moyens pour compter (42il - 4311 à 42MN - 43M) en fonction d'adresses délivrées par le microprocesseur, et en ce que, en réponse à chaque reliquat lu dans un moyen pour compter (42 - 43 ) associé à une cellule (52 ) de la mémoire de mn programme, le microprocesseur (2) lit le compte cumulé et le multiplie par l'entier J et additionne au produit obtenu le reliquat lu en un compte réel d'impulsions d'évènement à afficher. 11 - Dispositif pour compter conforme à l'une quelconque des revendications 8 à 10, caractérisé en ce que le produit de la durée minimale (TM) entre deux impulsions d'évènement successives dans une voie d'entrée par le rappor#t de nombres J/(MxN) est supérieur à la durée (DP) d'un programme- de comptage interrompant lesdites tâches.