Brevet FR2495355A1 — publié le 19820604

La présente invention est relative à une disposition de circuit apte à relever la présence de mauvais fonctionnements dans les organes du type LSI dénommés "contrôleurs DMA" préposés à la réalisation du transfert direct de données entre les unités périphériques et des unités de mémoire dans un système gouverné par un microprocesseur de type commercial. Dans le cadre des applications téléphoniques gérées par un microprocesseur de type commercial se présente le problème de releveren temps utile les erreurs commises par les différents modules du système dans le but d'en empêcher la propagation. Considérant par exemple le cas o le microprocesseur est préposé à l'élaboration des codes exprimant les critères de taxation des usagers: si l'élaboration de ces critères est sujette à des erreurs on enregistre l'inconvénient que l'usager auquel se rapportent les critères est taxé d'une manière erronée. Il faut donc prévoir la présence de moyens aptes à relever la présence de ces erreurs dans le but d'en empêcher la propagation (dans l'exemple considéré les erreurs se propagent jusqu'aux mémoires contenant les données de taxation des usagers). Le but de la présente invention-est la réalisation d'une disposition de circuit particulièrement simple et économi- que apte à émettre un signal d'alarme lorsqu'elle relève la présence de mauvais fonctionnements dans l'un desdits contrôleurs DMA Puisqu'un contrôleur DMA générique gère soit les données soit les adresses la disposition de circuit suivant l'invention est apte à relever la présence de mauvais fonctionnements en exécutant des contrôlesdu bit de parité soit des données soit des adresses.En particulier elle est apte à émettre un signal d'alarme lorsque le contrôleur DMA altère une donnée dans l'o- pération de lecture-écriture, ce qui fait que le bit de parité qui présente la donnée, avant d'être mémorisé, diffère du bit de parité que présente la même donnée lorsqu'elle est émise en sortie. En ce qui concerne les adresses la disposition de cir- cuit suivant l'invention est apte Par contre à émettre un sicnal dcalar-- me lorsque le bit de parité de l'adresse i-ème, calculé sur la base de l'adresse i-l disponible pendant le transfert de la donnée d i1, diffère du bit de parité de l'adresse i-ème fournie en sortie avec la donnée dl. D'autres caractéristiques de l'invention se comprendrons à la lecture de la description suivante relative à un exemple non limitatif de réalisation et accompagnée des figures ci- jointes dans lesquelles La figure 1 montre les organes préposés à la réalisation du transfert direct de données ainsi que le diagramme à blocs de la disposition de circuit réalisée suivant l'invention. La figure 2 illustre la forme particulière de réalisa- tion de l'unité ROM de la figure 1. Dans la figure 1 on a indiqué par DMAJ,......, DMAn les n contrôleurs DMA aptes à réaliser l'échange direct de données entre les unités périphériques et les unités de mémoire. Chaque contrôleur DMA est apte à réaliser un canal de transfert de données et il est par conséquent connecté d'une manière rigide, ou bien attribué sur demande, à une unité péri- phérique. Lorsque cette dernière doit réaliser un transfert direct de données elle émet un signal dr qui parvient au contrôleur DMA qui lui est connecté, lequel envoie au micro- processeur (non illustré) une requête d'accès br au bus de données bd. L'unité CPU attribue au contrôleur DMA le bus de données bd en émettant un signal-ba. Le transfert direct de données de la part du contrôleur DMA prioritaire peut donc être mis en marche une fois que le signal ba a été reçu. Chaque contrôleur DMA est apte à exécuter le transfert d'une donnée (cycle DMA) en deux phases successives. Dans la première phase il émet l'adresse de la source dans laquelle la donnée à transférer a été emmagasinée; la source de données caractérisée par cette adresse émet donc la donnée qui est mémorisée par l'organe DMA même. Dans la deuxième phase il émet la donnée ainsi que l'adresse de l'organe auquel la donnée est destinée. Puisqu'un contrôleur DMA générique gère soit les données soit les adresses, la disposition de circuit suivant l'invention est apte à effectuer soit un contrôle de parité sur les données soit un contrôle de parité sur les adresses. Les contrôleurs DMA sont connectés au bus des données bd ainsi qu'au bus des adresses bi. En ce qui concerne le contrôle de parité sur les données l'invention prévoit la présence d'un premier générateur de parité GP1, connecté au bus de données bd, la sortie duquel parvient sur l'entrée des données d'un premier circuit bistable FF1 de type D. L'entrée de synchronisation de l'unité FF1 est connectée à la sortie d'un premier circuit porte P1 alimenté par un signal r, actif lorsqu'est effectuée une opération de lecture (dite première phase du cycle DMA), ainsi que par un signal d, actif lorsqu'est en cours un transfert direct de données (cycle - (DMA). A la fin de la première phase du cycle DMA, à la sortie de l'unité FF1 le bit de parité de la donnée entrante est mémorisé. Au cours de la deuxième phase, lorsque la donnée est émise en sortie, l'unité GP1 engendre de nouveau le bit de parité qui parvient à la première entrée d'une première unité de somme logique exclusive EO1 dont la deuxième entrée est connectée à la sortie de l'unité FF1.- Si la donnée a été altérée par l'organe DMA examiné les entrées de l'unité E01 sont différentes, ce qui fait que la sortie de cette unité est excitée. La sortie de l'unité E01 parvient sur l'entrée des données d'un deuxième circuit bistable FF2 de type D à l'entrée de synchronisation duquel est connectée la sortie d'un deuxième circuit porte P2 qui reçoit en entrée ledit signal d ainsi qu'un signal w actif lorsqu'est effectuée une opération d'écriture (deuxième phase du cycle DMA). A la fin du cycle DMA, si la donnée a été altérée, l'u- nité FF2 excite donc sa propre sortie émettant un signal d'alarme A1. En ce qui concerne le contrôle de parité sur les adres- ses la disposition de circuit suivant l'invention se base sur l'hypothèse que le transfert direct de données soit effectué dans des zones séquentielles de mémoire et adressables au moyen d'une augmentation de l'adresse précédente et, à ce propos, elle prévoit la présence de deuxièmes moyens SM comprenant une mémoire limitée à la lecture ROM qui est connectée au bus d'adresses bi. L'unité ROM, sur la base de l'adresse i-ème fournie par le contrôleur DMA examiné, rend disponible en sortie le bit de parité de l'adresse i+l. La sortie de l'unité ROM parvient sur l'entrée des don- nées d'une pluralité de circuits bistables Ff1,...., Ffn, en nombre égal à celui des contrôleurs DMA, dont les entrées de synchronisation sontconnectées à autant de sorties d'un premier multiplexeur MX L'unité MX1, sur la base de l'état de deux impulsions de contrôle c et c2 transfère sur une des sorties un signal k apte à autoriser à l'écriture un des circuits bis- tables Ff. Les sorties des unités Ff parviennent à autant d'entrées d'un deuxième multiplexeur MX2 dont la sortie est connectée à la première entrée d'une deuxième unité de somme logique exclu- sive E02. La deuxième entrée de l'unité EO est connectée à la 2' 2 sortie d'un deuxième générateur de parité GP2 qui aboutit au bus d'adresses bi. La sortie de l'unité E02 parvient sur l'entrée des don- nées d'un troisième circuit bistable FF3 de type r qui reçoit sur l'entrée de synchronisation ledit signal k. Avant de mettre en marche le transfert direct des don- nées le programme opératif du microprocesseur se charge de programmer le contrôleur DMAi intéressé au transfert ainsi qu'à écrire dans le circuit bistable Ffi correspondant le bit de parité de l'adresse qui doit mettre en train le transfert. Sup- posons par exemple qu'on requière le transfert de données d'une unité périphérique aux unités de mémoire du système, en commen- çant l'écriture de la première donnée à l'adresse 1000: dans ce 5. cas le programme opératif écrit dans ledit bistable Ff1 le bit de parité de cette adresse 1000. Les bits de contrôle c1 et c2 de Mî1 présentent dans ce cas une valeur logique telle qu'ils rendent apte à la mémorisation le circuit bistable Ffi et à la sélection l'entrée correspondante de MX2. De cette manière le bit de parité de l'adresse 1000 se présente à la première entrée de l'unité E02 et lorsque sur le bus des adresses apparaît cette adresse, l'unité GP2 se charge d'engendrer le bit de parité et de l'envoyer sur la deuxième entrée de E02. En cas de mauvais fonctionnementsle bit de parité mémo- risé dans le bistable Ff. diffère du bit de parité engendré au i moment de l'émission de l'adresse, à la suite de quoi la sortie de l'unité EO2 est excitée. Lorsque l'unité FF3 reçoit le signal k elle excite sa propre sortie émettant un signal d'alarme A2. En même temps le signal k autorise la mémorisation du bit de parité de l'adresse 1001, qui est engendré par l'unité ROM, dans ledit circuit bistable Ff.. De cette façon lorsque sur le bus d'adresses bi apparaît l'adresse 1001 l'unité GP2 se charge d'engendrer le bit de parité correspondant dans le but d'en permettre la comparaison avec le bit de parité prévu, sui- vant des modalités analogues à celles qui ont été décrites. Il faut tenir compte du fait qu'en ce qui concerne l'u- nité ROM, on ne dispose pas sur le marché de mémoires présentant une capacité de mémorisation coincidant avec la capacité théori- que requise (64K x 1), ce qui fait que dans la figure 2 on a illustré une forme préférée de réalisation de cette unité qui utilise des mémoires que l'on trouve facilement sur le marché. Attendu que sur le bus d'adresses bi passent les bits A0 + A,5, les bits Ao + A7 parviennent en entrée à une première mémoire limitée à la lecture ROM1, tandis que les bits A, + A15 parviennent en entrée à une deuxième mémoire limitée à la lectu- re ROM2; l'unité ROM, et l'unité ROM2 présentent une capacité de mémorisation égale à 256 x 2, ce qui fait que chacune de ces dernières est constituée par une première et par une deuxième colonne de cellules de mémoire. X Dans la première colonne de l'unité ROM1 sont mémorisés les bits de parité de l'adresse qui suit celle qui est exprimée par les bits A0 + A7 tandis que dans la deuxième colonne sont mémorisés des bits présentant la valeur logique 0 à l'exception de la cellule repérée par l'adresse 255 dans laquelle est mémo- risé un bit présentant la valeur logique 1. La sortie u1 de la première colonne de l'unité ROM1 est connectée à la première entrée d'une unité de somme logique exclusive E03, tandis que la sortie u2 de la deuxième colonne parvient sur l'entrée de contrôle d'un multiplexeur MX3 dont la sortie est connectée à la deuxième entrée de l'unité EO3. Dans la deuxième colonne de l'unité ROM2, respectivement dans la première colonne, sont mémorisés les bits de parité de l'adresse exprimée par les bits A8 + A15, respectivement les bits de parité de l'adresse qui suit celle qui est exprimée par ces bits. La sortie u1 de la première colonne de l'unité ROM2, respectivement la sortie u2, parvient à la première entrée, respectivement à la deuxième entrée, de l'unité MX3. En ce qui concerne les adresses comprises entre 0 et 254 le calcul du bit de parité de l'adresse successive à celle qui est exprimée par les bits A + A15 est calculé en effectuant la somme logique exclusive du bit de parité de l'adresse future et du bit de parité de l'adresse courante de la partie la moins significative de l'adresse (bits A0 + A7), respectivement de la partie la plus significative (bits A8 + A). Lorsqu'à l'entrée de l'unité ROM se présente l'adresse 255, à la sortie u2 corres- pond un bit présentant la valeur logique un qui détermine l'émis- sion de la part de MX3 du bit de parité qui correspond à la sor- tie ul' de ROM2, de cette manière l'unité E03 calcule le bit de parité de l'adresse succédant à celle qui est exprimée par les bits A0 + A15 effectuant la somme logique exclusive du bit de parité de l'adresse future soit de la partie la moins signifi- cative (bits A0 + A7) soit de la partie la plus significative (bits A8+ A15) de l'adresse. Aux adresses successives le bit de parité qui corres- pond à la sortie u2 de l'unité ROM1 présente la valeur logique zéro, à la suite de quoi l'unité MX3 émet de nouveau en sortie les bits de parité qui correspondent à la sortie u2' de l'unité ROM2. 7. REVENDICATIONS ______________ 1. Disposition de circuit apte à relever la présence de mauvais fonctionnements de n contrôleurs DMA préposés à la réalisation du transfert direct de données, entre unités périphériques et unités de mémoire, dans un système utilisant un microprocesseur de type commercial qui comprend aussi un bus de données (bd) et un bus d'adresses (bi) auxquels sont connec- tés lesdits n contrôleurs DMA, caractérisée par le fait qu'elle comprend des premiers moyens (PM) aptes à émettre un signal d'alarme lorsque le bit de parité des données entrant dans l'un desdits n contrôleurs DMA diffère du bit de parité des données sortant du même contrôleur, et comprenant en outre des deuxièmes moyens (SM) aptes à émettre.un signal d'alarme lorsque le bit de parité de l'adresse i-ème, calculé sur la base de l'adresse i-l disponible pendant le transfert de la donnée di_,, diffère du bit de parité de l'adresse i-ème founi en sortie avec la donnée di. 2. Disposition de circuit suivant la revendication 1 caractérisée par le fait que lesdits premiers moyens (PM) comprennent: - un premier générateur de parité (GP 1), apte à engen- drer le bit de parité des données qui passent sur le bus de données (bd); - un premier circuit bistable (FF1) de type D dont l'en- trée des données est connectée à la sortie du premier générateur de parité (GP1); - un premier circuit porte (P1); la sortie duquel par- vient sur l'entrée de synchronisation du premier circuit bista- ble (FF1), qui reçoit en entrée un premier signal (d) actif 2495355- lorsqu'est en cours un transfert direct de données, ainsi qu'un deuxième signal (r) actif lorsqu'est en cours d'exécution une opération de lecture; - une première unité de somme logique exclusive (EO1) à la première entrée de-laquelle est connectée la sortie du premier circuit bistable (FF1) et à la deuxième entrée de la- quelle est connectée la sortie du premier générateur de parité (GP 1) - un deuxième circuit bistable (FF2) de type D dont l'en- trée des données est connectée à la sortie du premier circuit de somme logique exclusive (EO1) et à l'entrée de synchronisa- tion duquel est connectée la sortie d'un deuxième circuit porte (P2); - un deuxième circuit porte (P2) qui reçoit en-entrée le- dit premier signal (d) ainsi qu'un troisième signal (w) actif lorsqu!est en cours d'exécution une opération d'écriture. 3. Disposition de circuit suivant la revendication 1 caractérisée par le fait que lesdits deuxièmes moyens (SM) comprennent - un deuxième générateur de parité (GP2) apte à engendrer le bit de parité des adresses présentes sur le bus des adresses (bi) - un deuxième circuit de somme logique exclusive (E02) à la première entrée duquel est connectée la sortie du deuxième générateur de parité (GP2); - une mémoire limitée à la lecture (ROM), présentant une capacité de mémorisation égale à 1 x 21-, o m est le nombre de bits d'adresse qui parviennent sur le bus d'adresse (bi), apte à émettre en sortie le bit de parité de l'adresse successive à celle qui est présente sur le bus d'adresses (bi); - une pluralité de circuits bistables (Ffl,.... Ffn) en nombre égal-au nombre desdits contrôleurs DMA (DMA11..., DMAn), dont les entrées des données sont connectées à la sortie de la mémoire limitée à la lecture et dont les entrées de synchroni- sation sont connectées à la sortie d'un premier multiplexeur (MX1); 9. - un premier multiplexeur (MX1) apte à émettre un qua- trième signal (k) sur une desdites n sorties sur la base de l'état de deux signaux de contrôle (cl, c2) - un deuxième multiplexeur (MX2), aux n entrées duquel parvient une sortie respective desdits n circuits bistables, la sortie duquel parvient sur la deuxième entrée du deuxième circuit de somme logique exclusive (EO2); - un troisième circuit bistable (FF3) de type D dont l'entrée des données est connectée à la sortie du deuxième circuit de somme logique exclusive (EO2) et à l'entrée de synchronisation duquel parvient ledit quatrième signal (k). 4. Disposition de circuit suivant la revendication 3 caractérisée par le fait que ladite mémoire limitée à la lecture (ROM) est constituée par les éléments caractéristiques suivants: - une première mémoire limitée à la lecture (ROM1) pré- sentant une capacité de mémorisation égale à 2 x 2m/2bits, apte à mémoriser sur la première colonne de cellules de mémoire le bit de parité de l'adresse successive à celle qui est exprimée par les m/2 bits les moins significatifs de l'ensemble d'adres- ses et sur la deuxième colonne un bit présentant la valeur logique un, dans la cellule de mémoire repérée par l'adresse 2m/2, et des bits présentant la valeur logique zéro, dans les autres cellules de mémoire; une.deuxième mémoire limitée à la lecture (ROM2), présentant une capacité de mémorisation égale à 2 x 2 bits, apte à mémoriser sur la deuxième colonne de cellules de mémoire, respectivement sur la première colonne, le bit de parité de l'adresse exprimée par les m/2 bits les plus significatifs de l'ensemble d'adresses, respectivement le bit de parité de l'adresse successive à celle qui est exprimée par ces m/2 bits les plus significatifs; - un troisième multiplexeur (MX3), dont la première entrée respectivement dont la deuxième entrée, est connectée à la première, respectivement à la deuxième, colonne (ul, respective- ment u2) de cellules de la deuxième mémoire limitée à la lecture (ROM2), apte à émettre en sortie les bits présents à la première entrée lorsque le bit de contrôle, disponible à la sortie (u2) de la deuxième colonne de cellules de la première mémoire limitée à la lecture (ROM1), présente la valeur logique un; - une troisième unité de somme logique exclusive (E03) dont la première entrée est connectée à la sortie (u1) de la première colonne de cellules de la première mémoire limitée à la lecture (ROM1) et dont la deuxième entrée est connectée à la sortie du troisième multiplexeur (MX3).