Brevet FR2634918A1 — publié le 19900202

DISPOSITIF DE DETECTION D'ERREUR ET DE MEMORISATION D'INFORMATIONS D'ERREUR ET PROCEDE DE MISE EN EVIDENCE L'invention concerne d'une façon générale un dispositif matériel pour détecter une erreur et pour mémoriser des informations sur celle-ci dans un système de traitement de données à pipeline et un procédé pour celuici et, plus spécifiquement, un dispositif et un procédé qui permettent une simplification de la confi- guration du matériel. La mise en oeuvre d'un pipeline est une technique matérielle pour obtenir des performances plus grandes en décomposant une fonction complexe prenant du temps en une série d'opérations plus simples et plus courtes, chacune d'elles pouvant être exécutée à la manière d'une chaine de montage avec un calcul simultané effectué sur différents groupes de données. C'est une pratique commune dans un système de traitement de données à pipeline de contr5ler un mauvais fonctionnement dans chacun des sousétages de traitement d'un pipeline. Cependant, un dispositif matériel classi- que pour détecter une erreur et pour mémoriser des in- -20 formations sur celle-ci dans un système de traitement de données à pipeline a posé le problème qu'il est plutôt compliqué et ne convient donc pas pour une intégration de circuit à grande échelle à titre d'exemple. Avant de décrire en détail la présente invention, on va décrire un dispositif connu de la Demanderesse en se référant à la Figure 1 des dessins annexés. On doit noter qu'un réseau de commande destiné au dispo- sitif de la Figure 1 n'est pas représenté pour simpli- fier la description du dessin et pour faciliter la des- cription du dispositif. Comme le montre la Figure 1, un pipeline 10 com- prend quatre étages 12,14,16-et 18 couplés en série qui, simplement à titre d'exemple, exécutent une lecture d'instruction, un décodage d'instruction, une génération d'adresse, et une lecture d'opérande, respectivement. Chacun des étages 12,14,16 et 18 comprend un sous-étage de mémoire locale (12a, 14a, 16a ou 18a) suivi par un sous-étage de traitement de données ou d'instructions (12b, 14b, 16b ou 18b). Chacun des sous-étages de trai- tement de données 12b à 18b traite les données qui sont dérivées du sousétage de mémoire locale précédent (12a, 14a, 16a ou 18a). Les sous-étages de mémoire locale 12a, 14a, 16a et 18a sont respectivement couplés à des détecteurs d'erreur 30, 32, 34 et 36 dont chacun est prévu pour détecter un mauvais fonctionnement dans le sous- étage de traitement de données associé (12b, 14b, 16b ou 18b). On suppose que le détecteur d'erreur 32 détecte un mauvais fonctionnement dans le sous-étage de traite- ment de données associé 14b. Lors de la détection d'un mauvais fonctionnement dans le sous-étage 14b, le détec- teur 32 applique un premier signal d'erreur par l'inter- médiaire d'une porte OU 38 à un moyen à mémoire d'infor- mations d'erreur -40 qui comprend des sections de mémoire 40a, 40b, 40c et 40d. Le premier signal d'erreur repré- sente simplement la présence d'une erreur. Pendant le même cycle d'opération que celui pendant lequel le détec- teur d'erreur 32 détecte le mauvais fonctionnement dans le sous-étage 14b, un deuxième signal d'erreur, conte- nant des informations d'erreur servant à analyser l'er- reur détectée, est dérivé du sous-étage de mémoire lo- cale 14a et il est mémorisé dans la section de mémoire b du moyen à mémoire de signaux d'erreur 40. Puisque le moyen à mémoire d'informations 40 mémorise à la fois les premier et deuxième signaux d'er- reur, il est nécessaire de sauvegarder les informations d'erreur pendant le même cycle o apparaît l'erreur pour empêcher qu'elles soient effacées pendant l'intervalle d'horloge suivant. Par conséquent, le moyen à mémoire d'informations d'erreur 40 est pourvue des quatre sec- tions de mémoire 40a, 40b, 40c et 40d dans cet exemple particulier. Dans la mesure o chacune des sections de mémoire 40a, 40b, 40c et 40d exige une grande capacité de mémoire (par exemple 32 ou 64 bits) pour mémoriser les informations d'erreur, il est hautement souhaitable de limiter le nombre des sections de mémoire. Un but de l'invention est de fournir un disposi- tif matériel pour mémoriser des informations d'erreur dans un système de traitement de données à pipeline, ce dispositif étant caractérisé par une configuration simple du matériel. Un autre but de l'invention est de fournir un procédé pour mémoriser des informations d'erreur dans un système de traitement de données à pipeline, ce pro- cédé étant caractérisé par une configuration simple du matériel. Un aspect de l'invention prend la forme d'un dis- positif matériel pour obtenir des informations d'erreur dans un système de traitement de données à pipeline dans lequel sont prévus deux (un premier et un deuxième) moyens à mémoire de signaux d'erreur séparés. Le premier moyen à mémoire de signaux d'erreur comporte un ensemble de cellules de mémoire à un bit (par exemple) qui sont respectivement affectées aux étages de pipeline. Le pre- mier moyen à mémoire de signaux d'erreur définit un étage de pipeline dans lequel une erreur est détectée initialement. Le deuxième moyen à mémoire de signaux d'erreur réagit à un signal de détection d'erreur et reçoit des informations d'analyse d'erreur du dernier étage du pipeline. Un autre aspect de l'invention prend la forme d'un dispositif matériel servant à obtenir des informa- tions d'erreur dans un système de traitement de données à pipeline, le système de traitement de données à pipe- line incluant un ensemble d'étages de pipeline couplés en série, chacun des étages incluant un sous-étage de mémoire locale et un sous-étage de traitement de données, le dispositif matériel comprenant: un ensemble de détec- teurs d'erreur, les détecteurs d'erreur étant couplés chacun à un des sous-étages de traitement de données, les détecteurs d'erreurs engendrant des premier et deux- ième signaux d'erreur en réponse à la détection d'une erreur dans le sous-étage de traitement de données asso- cié; un premier moyen à mémoire de signaux d'erreur, le premier moyen à mémoire de signaux d'erreur étant couplé à chacun de l'ensemble de détecteurs d'erreur et comportant un ensemble de sections de mémoire, cha- cune des sections de mémoire étant affectée à un des détecteurs d'erreur,, chacune des sections de mémoire étant agencée pour mémoriser le premier signal d'erreur appliqué par le détecteur d'erreur associé; et un deuxième moyen à mémoire de signaux d'erreur, le deuxiè- me moyen à mémoire de signaux d'erreur étant couplé au dernier étage des étages de pipeline couplés en série pour mémoriser des informations d'erreur provenant de celui-ci en réponse au deuxième signal d'erreur. Encore un autre aspect de l'invention prend la forme d'un dispositif matériel-pour obtenir des infor- mations d'erreur dans un système de traitement de don- nées à pipeline qui comprend un ensemble d'étages de pipeline couplés en série, les étages de pipeline cou- plés en série transférant cycliquement des données pro- venant d'un étage jusqu'à l'étage suivant conformément à un temps de synchronisation prédéterminé, chacun des étages incluant un sous-étage de mémoire locale et un sous-étage de traitement de données, le dispositif maté- riel comprenant: un moyen pour engendrer des premier et deuxième signaux d'erreur en réponse à la détection d'une erreur dans un sous-étage de traitement de données; un premier moyen à mémoire de signaux d'erreur pour re- cevoir directement le premier signal d'erreur et pour mémoriser le premier signal dans celui-ci; un deuxième moyen à mémoire de signaux d'erreur couplé au dernier des étages; et un ensemble de groupes de circuits'pour transférer pas-à-pas le deuxième signal d'erreur vers le deuxième moyen à mémoire de signaux d'erreur confor- mément au temps de synchronisation prédéterminé, chacun des groupes de circuits étant associé à un des étages; dans lequel le deuxième moyen à mémoire de signaux d'erreur mémorise des données relatives à l'erreur,qut: a produit les premier et deuxième signaux d'erreur, provenant du dernier des étages en réponse au deuxième signal d'erreur qui est relayé à partir des groupes de circuits. Encore un autre aspect de l'invention prend la forme d'un procédé pour obtenir des informations d'er- reur dans un système de traitement de données à pipeline qui comprend un ensemble d'étages de pipeline couplés en série, chacun des étages incluant un sous-étage de mé- moire locale et un sous-étage de traitement de données, consistant à: transférer cycliquement des données d'un étage à l'étage suivant conformément à un temps de syn- chronisation prédéterminé; engendrer des premier et deuxième signaux d'erreur en réponse à la détection d'une erreur dans un sous-étage de traitement de données; fournir le premier signal d'erreur directement à un pre- mier moyen à mémoire de signaux d'erreur et mémoriser le premier signal dans celui-ci; transférer pas-à-pas le deuxième signal d'erreur vers un deuxième moyen à mémoire de signaux d'erreur par un ensemble de groupes de circuits et conformément au temps de synchronisation prédéterminé, chacun des groupes de circuits étant asso- cié un des étages; décaler séquentiellement les don- nées relatives à l'erreur qui a produit les premier et deuxième signaux d'erreur, de l'étage dans lequel s'est produite l'erreur Jusqu'aux étages suivants conformé- ment au temps de synchronisation prédéterminé; et à fournir les données relatives à l'erreur provenant du dernier des étages au deuxième moyen à mémoire de signaux d'erreur en réponse au deuxième signal d'erreur qui est relayé du groupe de circuits associé au dernier étage au deuxième moyen à mémoire de signaux d'erreur. D'autres caractéristiques et avantages de la pré- sente invention seront mis en évidence dans la descrip- tion suivante, donnée à-titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels: la Figure 1 est un schéma fonctionnel représen- tant u- système de traitement de données à pipeline qui compri un dispositif de sauvegarde d'informations d'erreur connu; et la Figure 2 est un schéma fonctionnel représen- tant un système de traitement de données à pipeline qui comprend un dispositif de sauvegarde d'informations d'erreur perfectionné selon la présente invention. Un exemple de réalisation préféré de l'invention est représenté schématiquement sur la Figure 2. Un pipe- line de données 50 de la Figure 2 peut être identique au pipeline de données 10 de la Figure 1, aussi on; omet- tra une autre description de celui-ci pour des raisons de simplicité. Un réseau de commande destiné au dispo- sitif de la Figure 2 n'est pas représenté pour simpli- fier la description du dessin et pour faciliter la des- cription du dispositif. Quatre détecteurs d'erreurs 60, 62, 64 et 66 ont leurs entrées couplées aux sous-étages de traitement de données 12b, 14b, 16b et 18b, respectivement, et ils ont leurs sorties couplées à un premier moyen à mémoire de signaux d'erreur 70. Chacun des détecteurs d'erreur 60, 62, 64 et 66 engendre un premier signal d'erreur à la première sortie de celuici lors de la détection d'une erreur dans le sous-étage de traitement de données associé. Le moyen à mémoire 70 comprend, dans cet exem- ple de réalisation, quatre sections de mémoire 70a, 70b, 70c et 70d qui mémorisent chacune le premier signal d'erreur appliqué à partir du sousétage de traitement de données associé. Puisque le premier signal d'erreur indique simplement l'existence d'une erreur, chacune des sections de mémoire 70a, 70b, 70c et 70d peut mémo- riser le premier signal d'erreur tant qu'elle a une capacité de mémoire à un bit disponible à cette fin. Une porte OU 72 est couplée à la deuxième sortie du détecteur d'erreur 60 et reçoit un deuxième signal d'erreur de celui-ci quand le détecteur d'erreurs 60 détecte un mauvais fonctionnement dans le sous-étage 12b. Le deuxième signal d'erreur représente simplement une détection d'erreur dans le sous-étage 12b et c'est donc un signal à un bit. La porte OU 72 applique son signal de sortie à l'étage suivant, c'est-à-dire, à un registre 80. Pareillement, une porte OU 74 est couplée à la deuxième sortie du détecteur d'erreur 62 et reçoit un deuxième signal d'erreur de celui-ci quand le détec- teur d'erreur 62 détecte un mauvais fonctionnement dans le sous-étage 14b. La porte OU 74 applique son signal de sortie à un registre 82. Une porte OU 76 est couplée à la deuxième sortie du détecteur d'erreur 64 et reçoit un deuxième signal d'erreur de celui-ci quand le détec- teur d'erreur 64 détecte un mauvais fonctionnement dans le sous-étage 16b. La porte OU 76 applique son signal de sortie à un registre 84. Enfin, une porte OU 78 est couplée à la deuxième sortie du détecteur d'erreur: 66 et reçoit un deuxième signal d'erreur de celui-ci quand le détecteur d'erreur 66 détecte un mauvais fonctionne- ment dans le sous-étage 18b. La porte OU 78 applique son signal de sortie à un deuxième moyen à mémoire de signaux d'erreur 86. Le moyen à mémoire 86 est pourvu d'une capacité de mémoire de 32 ou de 64 bits (par exem- ple), ce qui correspond à une section de mémoire du moyen à mémoire 40 représenté sur la Figure 1. Le moyen à mémoire 86 mémorise les informations d'erreur conte- nues dans le sous-étage de mémoire locale 18a en réponse au deuxième signal d'erreur appliqué par la porte OU 78. On va décrire en détail dans la suite l'opération de mémorisation des informations d'erreur. On suppose pour simplifier l'explication que le détecteur d'erreur 62 détecte un mauvais fonctionnement dans le sous-étage de traitement de données 14b pendant un cycle d'horloge (TO)donné. Lors du mauvais fonction- nement détecté dans le sous-étage 14b, le détecteur 62 applique le premier signal d'erreur (un niveau logique "1" ou "O") directement à la cellule de mémoire 70b pen- dant le cycle d'horloge (TO+l) suivant. Le premier si- gnal d'erreur représente simplement l'apparition d'une erreur dans le sous-étage 14b. On remarquera qu'une capacité de mémoire d'un bit de chaque cellule de mé- moire (70a, 70b, 70c ou 70d) du moyen à mémoire 70 est suffisante pour mémoriser le premier signal d'erreur. Afin de spécifier le sous-étage de traitement dans le- quel une erreur est détectée, une fois qu'une cellule de mémoire du moyen à mémoire 70 mémorise un signal d'er- reur, une écriture dans la cellule de mémoire est inter- dite jusqu'à ce que son contenu soit lu. Les données qui contiennent l'erreur détectée par le détecteur 62 sont appliquées par le sous-étage de traitement 14b au sous-étage de mémoire locale 16a pen- dant le cycle d'horloge (TO+l) et ensuite au sous-étage de mémoire locale 18a pendant le cycle d'horloge (TO+2). D'autre part, quand le détecteur 62 détecte une erreur, un niveau logique "1" (par exemple) indiquant qu'une erreur est détectée est appliqué au registre 82 comme deuxième signal d'erreur pendant le cycle d'horloge (TO+ l) et il y est mémorisé. Le deuxième signal d'erreur est relayé jusqu'au registre 84 pendant le cycle d'hor- loge (TO+2), après quoi le deuxième signal atteint le deuxième moyen à mémoire de signaux d'erreur 86 pendant le cycle d'horloge (TO+3). Le deuxième moyen à mémoire de signaux d'erreur 86, réagissant au deuxième signal d'erreur appliqué par la porte OU 78, mémorise les données dans le sous-étage de mémoire locale 18a pendant le cycle d'horloge (TO+3). Les données ainsi mémorisées dans le deuxième moyen à mémoire de signaux d'erreur 86 incluent les informations d'erreur nécessaires pour ana- lyser l'erreur détectée par le détecteur 62. Le registre 79 est prévu pour relayer un deuxième signal d'erreur produit dans un dispositif (non repré- senté) précédant le dispositif de la Figure 2 jusqu'au registre 80. Dans le cas o cette transmission du signal d'erreur est inutile, le registre 79 peut être omis. Le premier moyen à mémoire de signaux d'erreur 70 spécifie le sous-étage de traitement de données dans lequel est détecté initialement le mauvais fonctionne- ment, alors que le deuxième moyen à mémoire de signaux d'erreur 86 mémorise les données contenant les informa- tions d'erreur pour analyser l'erreur détectée. Dans la description ci-dessus, les données erro- nées détectées dans le sous-étage 14b peuvent faire en sorte que les sousétages suivants 16b et 18b traitent les données de façon erronée. Il en résulte que.chacun des détecteurs d'erreur 64 et 66 engendre un deuxième signal qui est mémorisé dans le premier moyen à mémoire de signaux d'erreur 70. Cependant, le sous-étage 14b dans lequel est détectéeinitialement l'erreur peut être défini par l'état de mémoire dans la section de mémoire a. On remarquera que, dans l'exemple de réalisation préféré ci-dessus, selon la présente invention, le deux- ième moyen à mémoire de signaux d'erreur 86 n'occupe qu'un quart de la zone de mémoire par rapport au moyen à mémoire 40 représenté sur la Figure 1 pour le même nombre d'étages. Bien que la présente invention soit pourvue du premier moyen à mémoire de signaux d'erreur qui est inutile dans l'art antérieur, la présente in- vention permet d'avoir un dispositif qui est plus simple que l'art antérieur en ce que le moyen à mémoire 70 ne comporte que 4 positions de bit (par exemple). Bien que la description précédente ne décrive qu'un exemple de réalisation de la présente invention, les différentes alternatives et modifications possibles sans sortir du cadre de la présente invention, qui n'est limité que par les revendications annexées, seront évi- dentes pour l'homme de l'art. REVENDICATIONS 1. Dispositif matériel pour obtenir des informa- tions d'erreur dans un système de traitement de données à pipeline, le système de traitement de données à pipe- line incluant un ensemble d'étages de pipeline (12,14, 16,18) couplés en série, chacun des étages incluant un sous-étage de mémoire locale (12a, 14a, 16a, 18a) et un sous-étage de traitement de données (12b, 14b, 16b, 18b), le dispositif matériel étant caractérisé en ce qu'il comprend: un ensemble de détecteurs d'erreur (60,62,64,66), les détecteurs d'erreur étant couplés chacun à un des sous-étages de traitement de données (12b, 14b, 16b, 18b), les détecteurs d'erreur engendrant des premier et deuxiè- me signaux d'erreur en réponse à la détection d'une erreur dans le sous-étage de traitement de données asso- cié6- un premier moyen à mémoire de signaux d'erreur(70), ce premiermoyenàmémoire de signaux d'erreur étant cou- plé à chacun de l'ensemble de détecteurs d'erreur et comportant un ensemble de sections de mémoire (70a,70b, c,70d), chacune des sections de mémoire étant affectée à un des détecteurs d'erreur, chacune des sections de mémoire étant agencée pour mémoriser le premier signal d'erreur appliqué par le détecteur d'erreur associé;'et un deuxième moyen à mémoire de signaux d'erreur (86), le deuxième moyen à mémoire de signaux d'erreur étant couplé au dernier (18) des étages de pipeline couplés en série pour mémoriser desinformations d'erreur provenant de-celui-ci en réponse au deuxième signal d'erreur. 2. Dispositif selon la revendication 1, caracté- risé-en ce qu'il comprend en outre: une première porte OU (78) qui est couplée entre le deuxième moyen à mémoire de signaux d'erreur (86) et le détecteur d'erreur (66) affecté au dernier (18) des étages de pipeline couplés en série, le deuxième moyen à mémoire de signaux d'erreur réagissant au deuxième signal appliqué par l'intermédiaire de la première porte OU; et un ensemble de circuits en série constitués cha- cun d'une deuxième porte OU (72,74,76) et d'un registre (80,82, 84), chacun des circuits en série étant affecté à un des détecteurs d'erreur (60,62,64) à l'exception du détecteur d'erreur (66) prévu pour le dernier (18) des -. es de pipeline couplés en série, la deuxième porte OU recevant le deuxième signal à une entrée de celle-ci et recevant le signal de sortie du registre la précédant à son autre entrée, le signal de sortie de la porte OU étant mémorisé dans le registre du même circuit en série, et le registre appliquant son signal de sortie à la porte OU du circuit en série suivant. 3. Dispositif matériel selon la revendication 1, caractérisé en ce que chacune des sections de mémoire (70a, 70b, 70c, 70d) du premier moyen à mémoire de si- gnaux d'erreur (70) est une cellule de mémoire à un bit. 4. Dispositif matériel selon la revendication 2, caractérisé en ce que chacune des sections de mémoire (70a, 70b, 70c, 70d) du premier moyen à mémoire de si- - gnaux d'erreur (70) est une cellule de mémoire à un bit. 5. Dispositif matériel pour obtenir des informa- tions d'erreur dans un système de traitement de données à pipeline qui comprend un ensemble d'étages de pipeline (12,14,16,18) couplés en série, les étages de pipeline couplés en série transférant cycliquement des données d'un étage au suivant conformément à un temps de syn- chronisation prédéterminé, chacun des étages incluant un sous-étage de mémoire locale (12a,14a,16a,18a) et un sous-étage de traitement de données (12b,14b,16b,18b), le dispositif matériel étant caractérisé en ce qu'il comprend: un moyen (60,62,64,66) pour engendrer des premier et deuxième signaux d'erreur en réponse à la détection d'une erreur dans un sous-étage de traitement de données (12b,-14b, 16b, 18b); un premier moyen à mémoire de signaux d'erreur (70) pour recevoir directement le premier signal d'erreur et pour y mémoriser le premier signal; un deuxième moyen à mémoire de signaux d'erreur (86) couplé au dernier (18) des étages; et un ensemble de groupes de circuits (72,80;74,82; 76,84;78) pour transférer pas-à-pas le deuxième signal d'erreur vers le deuxième moyen à mémoire de signaux d'erreur (86) conformément au temps de synchronisation prédéterminé, chacun des groupes de circuits étant asso- cié à un des étages; dans lequel le deuxième moyen à mémoirede signaux d'erreur (86) mémorise des données concernant l'erreur, qui a produit les premier et deuxième signaux d'erreur, provenant du dernier (18) des étages en réponse au deuxième signal d'erreur qui est relayé par les groupes de circuits. 6. Procédé pour obtenir des informations d'erreur dans un système de traitement de données à pipeline qui comprend un ensemble d'étages de pipeline (12,14,16,18) couplés en série, chacun des étages incluant un sous- étage de mémoire locale (12a,14a,16a,18a) et un sous- étage de traitement de données (12b,14b,16b,18b), carac- térisé en ce qu'il consiste à: transférer cycliquement des données d'un étage à l'étage suivant conformément à un temps de synchronisa- tion prédéterminé; engendrer des premier et deuxième signaux d'er- reur en réponse à la détection d'une erreur dans un sous-étage de traitement de données; fournir le premier signal d'erreur directement à un premier moyen à mémoire de signaux d'erreur (70) et mémoriser le premier signal dans celui-ci; transférer pas-à-pas le deuxième signal d'erreur vers un deuxième moyen à mémoire de signaux d'erreur (86) par l'intermédiaire d'un ensemble de groupes de circuits (72,80;74,82;76,84; 78) et conformément au temps de synchronisation prédéterminé, chacun des groupes de circuits étant associé à un des étages; décaler séquentiellement les données relatives à l'erreur qui a produit les premier et deuxième signaux d'erreur, de l'étage dans lequel l'erreur se produit jusqu'aux étages suivants conformément au temps de syn- chronisation prédéterminé; et à fournir les données relatives à l'erreur prove- nant du dernier des étages au deuxième moyen à mémoire de signaux d'erreur en réponse au deuxième signal d'er- reur qui est relayé par le groupe de circuits(78)associé au dernier étage (18) jusqu'au deuxième moyen à mémoire de signaux d'erreur.