Brevet FR2741974A1 — publié le 19970606

PROCEDE ET APPAREIL POUR CORRIGER UNE ERREUR DANS LE CHAMP DE COMMANDE D'UNE MEMOIRE CACHE ARRIERE-PLAN DE L'INVENTION La présente invention se rapporte à un procédé et à un circuit pour corriger une erreur dans une mémoire cache, et plus particulièrement, à la correction d'erreur dans un champ de commande d'une mémoire cache de mise en mémoire dans un système multiprocesseur. Dans un système multiprocesseur classique dans lequel chaque processeur possède une mémoire cache de mise en mémoire, chaque mémoire cache a un des quatre états de cache suivants (par exemple les états: "IV", "CE", "CS" et "DE") pour maintenir une cohérence de cache. Un état de cache "IV" représente qu'une donnée dans une ligne correspondante est invalide. Un état de cache "CE" représente qu'une donnée dans une ligne correspondante est cohérente avec une donnée stockée dans une mémoire principale (par exemple elle est "cohérente"), et qu'aucune autre mémoire cache ne possède une copie de la donnée (par exemple elle est "exclusive"). Un état de cache "CS" représente qu'une donnée dans une ligne correspondante est cohérente à une donnée stockée dans une mémoire principale (par exemple elle est "cohérente"), et que toute autre mémoire cache (par exemple, au moins une mémoire cache particulière) peut avoir une copie de la donnée (par exemple elle est "partagée"). Un état de cache à "DE" représente qu'une donnée dans une ligne correspondante n'est pas cohérente avec une donnée stockée dans une mémoire principale (par exemple elle est "incohérente"), et qu'aucune autre mémoire cache ne possède une copie de la donnée (par exemple elle est "exclusive"). SR 12396 JP/DB Dans le système classique, lorsque l'état de cache est "DE", si on détermine, de façon erronée, qu'il est à "CS" ou à "CE", à cause d'un défaut dans le champ de commande, une donnée représentant une information unique ou exclusive dans le système est perdue. Ainsi, parce que le défaut dans le cache de mise en mémoire provoque un défaut dans la mémoire principale, la fiabilité du champ de commande devrait être améliorée. En se référant à la figure 1, une mémoire cache classique possède un champ de commande à trois bits comprenant un bit de validité (V), un bit de partage (S), et un bit d'incohérence (D). Le bit de validité représente qu'une donnée dans une ligne correspondante est valide si le bit de validité est actif (par exemple V = "1"). Le bit de partage représente qu'une donnée dans une ligne correspondante est partagée par une quelconque autre mémoire cache (par exemple, au moins une mémoire cache particulière) si le bit de partage est actif (par exemple S = "1"). Le bit d'incohérence représente qu'une20 donnée dans une ligne correspondante n'est pas cohérente avec une donnée stockée dans une mémoire principale (par exemple D = "1"). La mémoire cache classique a un état de cache "IV" quand tous les bits du champ de commande sont inactifs (par exemple V = "0", S = "0", et D = "0"). La mémoire cache classique a un état de cache "CS" seulement lorsque le bit d'incohérence est inactif (par exemple V = "1", S = "1", et D = "0"). La mémoire cache classique a un état de cache "DE" seulement lorsque le bit de partage est inactif (par exemple V = "1", S = "0", et D = "1"). La mémoire cache classique a un état de cache "CE" seulement lorsque le bit de validité est actif (par exemple V = "1", S = "0", et D = "0"). En se référant à la figure 2, dans la mémoire cache classique, on détermine si une erreur s'est produite dans SR 12396 JP/DB le champ de commande à l'étape S901. Si une quelconque erreur est détectée, alors l'erreur est rapportée à un processeur ou à un processeur de diagnostic à l'étape S908, et un processus est abandonné (par exemple le système est arrêté). Si aucune erreur n'est détectée, alors un état de cache est déterminé en fonction du champ de commande selon les étapes S902 à S907. Cependant, cette mémoire cache classique a un problème en ce que le champ de commande ne peut pas être corrigé tandis qu'une erreur est détectée dans le champ de commande. Par exemple, quand une erreur est détectée dans le bit de validité, le bit de validité ne peut pas être corrigé sur la base du bit de partage ou du bit d'incohérence. De plus, dans la mémoire cache classique, étant donné qu'une erreur dans le champ de commande provoque un arrêt du système, la fiabilité du système est diminuée. RESUME DE L'INVENTION En vue des problèmes précédents du système classique, un objet de la présente invention est de corriger une erreur dans le champ de commande d'une mémoire cache. Dans un circuit de correction d'erreur, selon un premier aspect de la présente invention, un premier circuit de correction corrige au moins un bit particulier d'une pluralité de bits dans le champ de commande d'une manière fixe, prédéterminée; et un second circuit de correction corrige l'au moins un bit particulier sur la30 base d'un état de la mémoire cache. Avec la structure unique et non évidente de la présente invention, une erreur dans le champ de commande est corrigée de manière appropriée sans abandonner le processus ou sans arrêter le système. SR 12396 JP/DB BREVE DESCRIPTION DES DESSINS Les objets précédemment mentionnés et autres objets, particularités et avantages de cette invention vont devenir plus évidents en se référant à la description détaillée qui va suivre de l'invention, prise en relation avec les dessins annexés, dans lesquels: la figure 1 est un tableau montrant la correspondance entre un champ de commande et un état de cache dans un mémoire cache classique; la figure 2 est un organigramme représentant la mise en ouvre de la détermination de l'état de cache dans la mémoire cache classique; la figure 3 est un schéma fonctionnel représentant la conformation d'une mémoire cache selon un mode de réalisation de la présente invention; la figure 4 est un tableau montrant la correspondance entre un champ de commande et un état de cache dans la mémoire cache selon le mode de réalisation de la présente invention;20 la figure 5 est une conformation d'un registre de mode 410 dans un circuit de correction de champ de commande 400; la figure 6 est un organigramme représentant la mise en oeuvre de la détermination de l'état de cache dans la mémoire cache selon le mode de réalisation de la présente invention; la figure 7 est un organigramme représentant l'opération de correction d'erreur du champ de commande dans la mémoire cache selon le mode de réalisation de la30 présente invention; la figure 8 est un organigramme représentant l'opération de correction d'erreur d'un bit de validité dans la mémoire cache selon le mode de réalisation de la présente invention; SR 12396 JP/DB la figure 9 est un organigramme représentant l'opération de correction d'erreur d'un bit d'exclusivité dans la mémoire cache selon le mode de réalisation de la présente invention; et la figure 10 est un organigramme représentant l'opération de correction d'erreur dans un bit de "cohérence" dans la mémoire cache selon le mode de réalisation de la présente invention. DESCRIPTION DETAILLEE DU MODE DE REALISATION PREFERE Un circuit et un procédé de correction d'erreur dans un champ de commande d'une mémoire cache, selon un mode de réalisation préféré de la présente invention, vont être décrits en détail en se référant aux dessins annexés. En se référant à la figure 3, une mémoire cache possède un registre d'adresse 100, une mémoire de drapeau , un circuit de correction d'adresse 310, un comparateur 320, un circuit de détection d'erreur de champ de commande 330, un circuit de correction de champ de commande 400, et un circuit de détermination de "succès" de cache 350. Le registre d'adresse 100 comporte un champ de drapeau 110 et un champ d'index 120. Le champ d'index 120 est utilisé pour sélectionner une rangée (par exemple, un ensemble) de la mémoire cache. Le champ de drapeau 110 est utilisé en tant que "clé" de concordance pour trouver une ligne. La mémoire de drapeau 200 possède une pluralité de mots. Chacun des mots comprend un champ de drapeau d'adresse 210, un champ de code de correction d'erreur (ECC) 220, et un champ de commande 230. Le champ de drapeau d'adresse 210 est comparé au champ de drapeau 110 dans le registre d'adresse 100. L'ECC 220 est utilisé SR 12396 JP/DB pour corriger le champ de drapeau d'adresse 210 quand une erreur se produit dans le champ de drapeau d'adresse 210. Le champ de commande 230 comprend un bit de validité (V), un bit d'exclusivité (E), et un bit de "cohérence" (C). Le bit de validité représente qu'une donnée dans une ligne correspondante est valide si le bit de validité est actif (par exemple V = "1"). Le bit d'exclusivité représente qu'une donnée dans une ligne correspondante n'est pas partagée par une quelconque autre mémoire cache (par exemple, au moins une mémoire cache particulière) si le bit de partage est actif (par exemple E = "1"). Le bit de cohérence représente qu'une donnée dans une ligne correspondante est cohérente avec une donnée stockée dans une mémoire principale (par exemple C = "1"). Le champ de commande 230 comprend également des bits de parité pour le bit de validité (VP), le bit d'exclusivité (EP), et le bit de cohérence (CP). Ces bits de parité ont les mêmes contenus que les bits originaux sous un état de non- erreur (par exemple V = V?, E = EP, et C = CP). Le circuit de correction d'adresse 310 corrige le drapeau d'adresse 210 avec l'ECC 220 quand une erreur se produit dans le drapeau d'adresse 210. Le comparateur 320 compare le champ de drapeau 110 et le drapeau d'adresse 210 corrigé par le circuit de correction d'adresse 310 pour trouver une ligne de "concordance". Le circuit de détection d'erreur de champ de commande 330 détecte une erreur dans le champ de commande 230 en utilisant les bits de parité. Si un quelconque couple d'un bit original et d'un bit de parité est incompatible (par exemple V X VP, E: EP, ou C # CP), alors le circuit de détection d'erreur de champ de commande 330 détermine qu'une erreur s'est produite. SR 12396 JP/DB Le circuit de correction de champ de commande 400 corrige le champ de commande 230 quand une erreur se produit dans le champ de commande 230. Le circuit de détermination de succès de cache 350 détermine si la donnée nécessaire est dans la mémoire cache (par exemple, un "succès" de cache). En se référant à la figure 4, la mémoire cache a un des quatre états de cache (par exemple les états "IV", "CE", "CS" et "DE") pour maintenir une cohérence de cache comme dans la mémoire cache classique. De manière spécifique, la mémoire cache a un état de cache "IV" quand tous les bits dans le champ de commande sont inactifs (par exemple V "0", E = "0", et C = "0"). La mémoire cache a un état de cache "CS" seulement lorsque le bit d'exclusivité est inactif (par exemple V = "1", E = "0", et C = "1"). La mémoire cache a un état de cache "DE" seulement lorsque le bit de cohérence est inactif (par exemple V = "1", E = "1", et C = "0"). La mémoire cache a un état de cache "CE" quand tous les bits20 sont actifs (par exemple V = "1", E = "1", et C = "1"). En se référant à la figure 5, un registre de mode 410 dans le circuit de correction de champ de commande 400 détient des drapeaux d'état pour les opérations de correction. Le registre de mode 410 détient des drapeaux d'inhibition de correction, des drapeaux d'inhibition de correction partielle, et des drapeaux de détection d'incompatibilité. Le registre de mode 410 est paramétré par un opérateur système (par exemple, par l'intermédiaire d'un processeur de diagnostic).30 Les drapeaux d'inhibition de correction comprennent un drapeau Inhibition de Correction V (ICV) 411, un drapeau Inhibition de Correction E (ICE) 412, et un drapeau Inhibition de Correction C (ICC) 413. Si les drapeaux d'inhibition de correction sont actifs (par35 exemple ICV = "1"), alors les bits dans le champ de SR 12396 JP/DB commande (par exemple V) ne sont pas corrigés même si les bits contiennent des erreurs. Les drapeaux d'inhibition de correction partielle comprennent un drapeau Inhibition de Correction partielle E (IPE) 414, un drapeau Inhibition de Correction partielle C (IPC) 415. Si les drapeaux d'inhibition de correction partielle sont actifs (par exemple IPE = "1"), alors les bits dans le champ de commande (par exemple E) ne sont pas corrigés lorsque la correction est non déterministe (par exemple toutes les fois que E = "0" ou E ="1"). Les drapeaux de détection d'incompatibilité comprennent un drapeau de Détection d'Incompatibilité E (DIE) 416, un drapeau de Détection d'Incompatibilité C (DIC) 417. Si les drapeaux de détection d'incompatibilité sont actifs (par exemple DIC = "1"), alors les bits dans le champ de commande (c'est-à-dire C) ne sont pas corrigés même si le champ de commande corrigé a une combinaison incompatible (par exemple V = "0" & E = "1" & C = "0"). Dans la suite du document et en se référant aux figures 3 et 6 à 10, on va expliquer le fonctionnement de la mémoire cache selon le mode de réalisation préféré précédemment mentionné de la présente invention. En se référant à la figure 6, si le circuit de détection d'erreur de champ de commande 330 détecte une erreur dans le champ de commande à l'étape S601, alors le circuit de correction de champ de commande 400 corrige l'erreur à l'étape S700, comme décrit par la suite. A30 l'inverse, si le circuit de détection d'erreur de champ de commande 330 ne détecte pas d'erreur dans le champ de commande à l'étape S601, alors le circuit de détermination de succès de cache 350 détermine un état de cache dans les étapes S602 à S607. SR 12396 JP/DB A l'étape S602, on détermine si le bit de validité est actif. Si le bit de validité n'est pas actif (par exemple V = "0") à l'étape S602, alors un état de cache est déterminé comme étant à "IV" à l'étape S604. Si le bit de validité est actif (par exemple V = "1") à l'étape S602, alors le bit d'exclusivité et le bit de cohérence sont vérifiés à l'étape S603 pour déterminer si ces bits sont actifs. Si seul le bit de cohérence est actif (par exemple E = "0" et C = "1"), alors un état de cache est déterminé comme étant à "CS" à l'étape S605. Si le bit d'exclusivité et le bit de cohérence sont tout les deux actifs (par exemple E = "1" et C = "1"), alors un état de cache est déterminé comme étant à "CE" à l'étape S606. Si seul le bit d'exclusivité est actif (par exemple E = "1" et C = "0"), un état de cache est déterminé comme étant à "DE" à l'étape S607. En se référant à la figure 7, on va décrire ci- dessous le processus de correction d'erreur de l'étape S700 de la figure 6. Si l'erreur est déterminée comme20 étant provoquée par le bit de validité (par exemple V X VP) à l'étape S701, alors l'ICV est vérifié à l'étape S702 pour déterminer s'il est actif. Si l'ICV n'est pas actif (par exemple ICV = "0"), alors le bit de validité est corrigé à l'étape S710. Si l'ICV est actif (par25 exemple ICV = "1") alors l'erreur dans le bit de validité est rapportée à l'étape S703, et le processus est abandonné. Si l'erreur est provoquée par le bit d'exclusivité (par exemple E É EP) à l'étape S704, alors l'ICE est vérifié à l'étape S705. Si l'ICE n'est pas actif (par exemple ICE = "0"), le bit d'exclusivité est corrigé à l'étape S730. Si l'ICE est actif (par exemple ICE = "1"), alors l'erreur dans le bit d'exclusivité est rapportée à l'étape S703, et le processus est abandonné. SR 12396 JP/DB Si l'erreur est provoquée par le bit de cohérence (par exemple C X CP) à l'étape S704, alors l'ICC est vérifié à l'étape S706 pour déterminer si l'ICC est actif. Si l'ICC n'est pas actif (par exemple ICC = "0"), alors le bit de cohérence est corrigé à l'étape S750. Si l'ICC est actif (par exemple ICC = "1"), alors l'erreur dans le bit de cohérence est rapportée à l'étape S703, et le processus est abandonné. En se référant à la figure 8 et comme décrit ci- dessous, le bit de validité est corrigé à l'étape S710 représentée à la figure 7. Premièrement, le bit d'exclusivité et le bit de cohérence sont tout les deux vérifiés à l'étape S711. Si ni le bit d'exclusivité ni le bit de cohérence ne sont actifs (par exemple E = "0" et C = "0"), alors le bit de validité est corrigé (par exemple il est positionné à un) pour être rendu inactif (par exemple V = "0") à l'étape S712, et un état de cache est déterminé comme étant à "IV" à l'étape S713. Si seul le20 bit de cohérence est actif (par exemple E = "0" et C = "1"), alors le bit de validité est corrigé pour être rendu actif (par exemple V = "1") à l'étape S714, et un état de cache est déterminé comme étant à "CS" à l'étape S715. Si le bit d'exclusivité et le bit de cohérence sont tout les deux actifs (par exemple E = "1" et C = "1"), alors le bit de validité est corrigé pour être rendu actif (par exemple V = "1") à l'étape S716, et un état de cache est déterminé comme étant à "CE" à l'étape S717. Si30 seul le bit d'exclusivité est actif (par exemple E = "1" et C = "0"), alors le bit de validité est corrigé pour être rendu actif (par exemple V = "1") à l'étape S718, et un état de cache est déterminé comme étant à "DE" à l'étape S719. SR 12396 JP/DB ll De préférence, un circuit pour corriger le bit de validité comprend une porte logique OU. En se référant à la figure 9 et comme décrit avec davantage de détails dans la suite du document, le bit d'exclusivité est corrigé à l'étape S730 représentée à la figure 7. Premièrement, si le bit de validité n'est pas actif (par exemple V = "0") à l'étape S731, alors le DIE est vérifié à l'étape S732 pour déterminer s'il est actif. Si le DIE est actif (par exemple DIE = "1"), alors le bit de cohérence est vérifié à l'étape S733 pour déterminer si le bit de cohérence est actif. Si le bit de cohérence est actif (par exemple C = "1"), alors l'erreur dans le bit de cohérence, à cause de l'incompatibilité (par exemple elle est non définie à la figure 4), est rapportée à l'étape S736, et le processus est abandonné. Si le DIE n'est pas actif (par exemple DIE = "0") à l'étape S732 ou si le bit de cohérence n'est pas actif (par exemple C = "0") à l'étape S733, alors le bit d'exclusivité est corrigé (par exemple il est positionné à un) pour être rendu inactif (par exemple E = "0") à l'étape S742, et un état de cache est déterminé comme étant à "IV" à l'étape S743. Si le bit de validité est actif (par exemple V = "1") à l'étape S731, alors le bit de cohérence est vérifié à l'étape S734 pour déterminer si le bit de cohérence est actif. Si le bit de cohérence n'est pas actif (par exemple C = "0") à l'étape S734, alors le bit d'exclusivité est corrigé pour être rendu actif (par exemple E = "1") à l'étape S748, et un état de cache est30 déterminé comme étant à "DE" à l'étape S749. Si le bit de cohérence est actif (par exemple C = "1") à l'étape S734, alors l'IPE est vérifié à l'étape S735. Si l'IPE est actif (par exemple IPE = "1") à l'étape S735, alors l'erreur dans le bit d'exclusivité est rapportée à l'étape S736 parce qu'elle n'est pas SR 12396 JP/DB déterministe (par exemple elle est inconnue ou au moins non connue avec certitude) quant à savoir si le bit d'exclusivité est actif (par exemple un état de cache est à "CE" dans la dernière rangée d'un tableau à la figure 4) ou non (par exemple un état de cache est à "CS" dans la seconde ligne d'un tableau à la figure 4). Ensuite, le processus est abandonné. Si l'IPE n'est pas actif (par exemple IPE = "0") à l'étape S735, alors le bit d'exclusivité est corrigé pour être rendu inactif (par exemple E = "0") à l'étape S744 et un état de cache est déterminé comme étant à "CS" à l'étape S745. Bien que cette correction du bit d'exclusivité soit non déterministe, la sélection d'un état de cache à "CS" (par exemple "cohérence-partage") est plus sûre et potentiellement moins dangereuse pour le fonctionnement du système que la sélection d'un état de cache à "CE" (par exemple "cohérence-exclusivité"). De manière spécifique, un état de cache à "CS" exige l'invalidation d'autres mémoires caches lors d'une prochaine demande d'écriture. Cependant, cette invalidation n'est pas "dangereuse" (par exemple elle ne porte pas préjudice au fonctionnement du système). A l'inverse, quand un état de cache est déterminé, de manière erronée, comme étant à "CE" au lieu d'être à "CS", les états de cache des autres mémoires caches restent à "CS", ce qui provoque des états de cache incompatibles et un fonctionnement erroné du système à cause de l'incohérence des données de cache. De préférence, un circuit pour corriger le bit d'exclusivité comprend une porte logique OU EXCLUSIF. En se référant à la figure 10 et comme décrit dans la suite du document, le bit de cohérence est corrigé à l'étape S750, comme le montre la figure 7. Si le bit de validité n'est pas actif (par exemple V = "0") à l'étape35 S751, alors le DIC est vérifié à l'étape S752 pour SR 12396 JP/DB déterminer s'il est actif. Si le DIC est actif (par exemple DIC = "1"), alors le bit d'exclusivité est vérifié à l'étape S753. Si le bit d'exclusivité est actif (par exemple, E = "1"), alors l'erreur dans le bit d'exclusivité, à cause de l'incompatibilité (par exemple elle n'est pas définie à la figure 4), est rapportée à l'étape S756, et le processus est abandonné. Si le DIC n'est pas actif (par exemple DIC = "0") à l'étape S752 ou si le bit d'exclusivité n'est pas actif (par exemple E = "0") à l'étape S753, alors le bit de cohérence est corrigé pour être rendu inactif (par exemple C = "0") à l'étape S762, et un état de cache est déterminé comme étant à "IV" à l'étape S763. Si le bit de validité est actif (par exemple V = "1") à l'étape S751, alors le bit d'exclusivité est vérifié à l'étape S754. Si le bit d'exclusivité n'est pas actif (par exemple E = "0") à l'étape S754, alors le bit de cohérence est corrigé pour être rendu actif (par exemple C = "1") à l'étape S764, et un état de cache est déterminé comme étant à "CS" à l'étape S765. Si le bit d'exclusivité est actif (par exemple, E = "1") à l'étape S754, alors l'IPC est vérifié à l'étape S755 pour déterminer si l'IPC est activé. Si l'IPC est activé (par exemple IPC = "1") à l'étape S755,25 alors l'erreur dans le bit de cohérence est rapportée à l'étape S756 parce qu'elle n'est pas déterministe (par exemple elle n'est pas connue avec certitude) quant à savoir si le bit de cohérence est actif (par exemple un état de cache est à "CE" dans la dernière rangée d'une table à la figure 4) ou non (par exemple un état de cache est à "DE" dans la troisième rangée d'une table à la figure 4). Ensuite, le processus est abandonné. Si 1'IPC n'est pas actif (par exemple IPC = "0") à l'étape S755, le bit de cohérence est corrigé pour être rendu inactif (par exemple C = "0") à l'étape S768, et un SR 12396 JP/DB état de cache est déterminé comme étant à "DE" à l'étape S769. Bien que cette correction du bit d'exclusivité soit non déterministe, la sélection d'un état de cache à "DE" est plus sûre que la sélection d'un état de cache à "CE". De manière spécifique, un état de cache à "DE" ("IncohérenceExclusivité") exige la réécriture d'une ligne "d'incohérence" dans une mémoire principale. Mais, cependant, la réécriture n'est pas "dangereuse". Au contraire, quand un état de cache est déterminé, de façon erronée, comme étant à "CE" au lieu d'être à "DE", la ligne "d'incohérence" est prévue même si la ligne "d'incohérence" comprend les données les plus nouvelles. Ainsi, les données les plus nouvelles vont être perdues et il peut y avoir un problème potentiel de cohérence de données. De préférence, un circuit pour corriger le bit de cohérence comprend une porte logique OU EXCLUSIF. Comme il est évident à partir de la description précédente, selon la présente invention, étant donné qu'une erreur dans le champ de commande d'une mémoire cache peut être corrigée de façon appropriée et relativement aisément, un état de cache et un "succès" de cache peuvent être déterminés de façon efficace sans abandonner le processus et sans arrêter le système. Donc, 25 le champ de commande peut être corrigé tandis que l'erreur dans le champ de commande est détectée. Par exemple, quand une erreur de bit de validité est détectée, le bit de validité peut être corrigé soit à partir d'un bit de "partage" ou d'un bit "d'incohérence".30 En outre, la fiabilité du système est augmentée de façon supérieure par rapport au système classique. Tandis que l'invention a été décrite en termes de mode de réalisation préféré, les hommes de l'art vont reconnaître que l'invention peut être mise en pratique SR 12396 JP/DB avec des modifications contenues dans l'esprit et dans l'étendue des revendications annexées. SR 12396 JP/DB REVENDICATIONS 1. Circuit de correction d'erreur pour une mémoire cache ayant un champ de commande (230), ledit circuit de correction d'erreur (400) étant caractérisé en ce qu'il comprend: un premier circuit de correction pour corriger au moins un bit particulier (V; C; E) d'une pluralité de bits (V, C, E) dans le champ de commande d'une manière fixe, prédéterminée; et un second circuit de correction pour corriger ledit au moins un bit particulier (V; C; E) sur la base d'un état (IV; CE; CS; DE) de ladite mémoire cache. 2. Circuit de correction d'erreur selon la revendication 1, caractérisé en ce que ledit premier circuit de correction corrige ledit au moins un bit particulier (V; C; E) sur la base de bits autres que ledit au moins un bit particulier (V; C; E) dans le champ de commande. 3. Circuit de correction d'erreur selon la revendication 1, caractérisé en ce que ledit second circuit de correction corrige ledit au moins un bit particulier (V; C; E) sur la base d'un état (IV; CE; CS; DE) de ladite mémoire cache et de bits autres que ledit au moins un bit particulier (V; C; E). 4. Circuit de correction d'erreur selon la revendication 1, caractérisé en ce que ledit second circuit de correction corrige ledit au moins un bit particulier (V; C; E) en sélectionnant un état30 prédéterminé (IV; CE; CS; DE) en tant que dit état de ladite mémoire cache. 5. Circuit de correction d'erreur selon la revendication 4, caractérisé en ce que ledit second circuit de correction corrige ledit au moins un bit35 particulier (V; C; E) en sélectionnant une valeur SR 12396 JP/DB représentant un état de cohérence-partage (CS) de ladite mémoire cache par rapport à une valeur représentant un état de cohérence-exclusivité (CE) de ladite mémoire cache. 6. Circuit de correction d'erreur selon la revendication 4, caractérisé en ce que ledit second circuit de correction corrige ledit au moins un bit particulier (V; C; E) en sélectionnant une valeur représentant un état d'incohérence-exclusivité (DE) de ladite mémoire cache par rapport à une valeur représentant un état de cohérence-exclusivité (CE) de ladite mémoire cache. 7. Circuit de correction d'erreur selon la revendication 1, caractérisé en ce que ledit premier circuit de correction comprend une porte logique OU. 8. Circuit de correction d'erreur selon la revendication 1, caractérisé en ce que ledit second circuit de correction comprend une porte logique OU EXCLUSIF.20 9. Circuit de correction d'erreur selon la revendication 1, caractérisé en ce qu'il comprend, de plus: un registre de mode (410) pour détenir, de manière sélective, des drapeaux d'inhibition de correction (ICV; ICC; ICE), des drapeaux d'inhibition de correction partielle (IPE; IPC), et des drapeaux de détection d'incompatibilité (DIE; DIC) dans un état particulier parmi un état actif et un état inactif. 10. Circuit de correction d'erreur selon la revendication 9, caractérisé en ce qu'il comprend, de plus: des moyens pour déterminer un état desdits drapeaux d'inhibition de correction (ICV; ICC; ICE) détenus dans ledit registre de mode (410), SR 12396 JP/DB dans lequel une erreur est rapportée à ladite mémoire cache sans correction d'erreur lorsque lesdits drapeaux d'inhibition de correction (ICV; ICC; ICE) sont déterminés comme étant actifs par lesdits moyens de détermination. 11. Circuit de correction d'erreur selon la revendication 9, caractérisé en ce qu'il comprend, de plus: des moyens pour déterminer un état desdits drapeaux d'inhibition de correction partielle (IPE; IPC) détenus dans ledit registre de mode (410); et des moyens pour déterminer si une correction d'erreur est non déterministe, dans lequel une erreur est rapportée sans ladite correction d'erreur si ladite correction d'erreur est déterminée comme étant non déterministe lorsque lesdits drapeaux d'inhibition de correction partielle (IPE; IPC) sont déterminés comme étant actifs. 12. Circuit de correction d'erreur selon la revendication 9, caractérisé en ce qu'il comprend, de plus: des moyens pour déterminer un état desdits drapeaux de détection d'incompatibilité (DIE; DIC) détenus dans ledit registre de mode (410); et25 des moyens pour déterminer si ladite correction d'erreur provoque une incompatibilité quand lesdits drapeaux de détection d'incompatibilité (DIE; DIC) sont actifs, dans lequel une erreur est rapportée sans ladite correction d'erreur si ladite correction d'erreur provoque une incompatibilité lorsque lesdits drapeaux de détection d'incompatibilité (DIE; DIC) sont déterminés comme étant actifs. 13. Mémoire cache caractérisée en ce qu'elle comprend: SR 12396 JP/DB une mémoire de drapeau (200) pour détenir un drapeau d'adresse (210) et un champ de commande (230); un circuit de détection d'erreur (330) pour détecter une erreur dans ledit champ de commande (230); et un circuit de correction d'erreur (400) pour corriger, sur la base d'un état (IV; CE; CS; DE) de ladite mémoire cache, l'erreur détectée par ledit circuit de détection d'erreur (330). 14. Mémoire cache selon la revendication 13, caractérisée en ce que ledit circuit de correction d'erreur (400) comprend: un premier circuit de correction pour corriger au moins un bit particulier (V; C; E) d'une pluralité de bits dans le champ de commande d'une manière fixe, 15 prédéterminée; et un second circuit de correction pour corriger ledit au moins un bit particulier (V; C; E) sur la base d'un état (IV; CE; CS; DE) de ladite mémoire cache. 15. Mémoire cache selon la revendication 14, caractérisée en ce que ledit premier circuit de correction corrige ledit au moins un bit particulier (V; C; E) sur la base de bits autres que ledit au moins un bit particulier dans le champ de commande. 16. Mémoire cache selon la revendication 14, caractérisée en ce que ledit second circuit de correction corrige ledit au moins un bit particulier (V; C; E) sur la base dudit état (IV; CE; CS; DE) de ladite mémoire cache et de bits autres que ledit au moins un bit particulier (V; C; E).30 17. Mémoire cache selon la revendication 14, caractérisée en ce que ledit second circuit de correction corrige ledit au moins un bit particulier (V; C; E) en sélectionnant une valeur représentant un état prédéterminé (IV; CE; CS; DE) de ladite mémoire cache SR 12396 JP/DB en tant que dit état (IV; CE; CS; DE) de ladite mémoire cache. 18. Mémoire cache selon la revendication 17, caractérisée en ce que ledit second circuit de correction corrige ledit au moins un bit particulier (IV; CE; CS; DE) en sélectionnant une valeur représentant un état de cohérence-partage (CS) de ladite mémoire cache par rapport à une valeur représentant un état de cohérence- exclusivité (CE) de ladite mémoire cache. 19. Mémoire cache selon la revendication 17, caractérisée en ce que ledit second circuit de correction corrige ledit au moins un bit particulier (V; C; E) en sélectionnant une valeur représentant un état d'incohérence-exclusivité (DE) de ladite mémoire cache par rapport à un état de cohérence-exclusivité (CE) de ladite mémoire cache. 20. Mémoire cache selon la revendication 13, caractérisée en ce que ledit champ de commande (230) comprend un premier bit et des seconds bits, dans lequel ledit premier bit peut être corrigé à partir desdits seconds bits d'une manière fixe, prédéterminée. 21. Mémoire cache selon la revendication 20, caractérisée en ce que ledit premier bit comprend un bit de validité (V), et lesdits seconds bits comprennent un25 bit d'exclusivité (E) et un bic de cohérence (C). 22. Mémoire cache selon la revendication 13, caractérisée en ce qu'elle comprend, de plus: un registre de mode (410) pour détenir, de manière sélective, des drapeaux d'inhibition de correction (ICV; ICC; ICE), des drapeaux d'inhibition de correction partielle (IPE; IPC), et des drapeaux de détection d'incompatibilité (DIE; DIC) dans un état particulier parmi un état actif et un état inactif. 23. Mémoire cache selon la revendication 22, caractérisée en ce qu'elle comprend, de plus: SR 12396 JP/DB des moyens pour déterminer un état desdits drapeaux d'inhibition de correction (ICV; ICC; ICE) détenus dans ledit registre de mode (410), dans lequel une erreur est rapportée à ladite mémoire cache sans correction d'erreur lorsque lesdits drapeaux d'inhibition de correction (ICV; ICC; ICE) sont déterminés comme étant actifs. 24. Mémoire cache selon la revendication 22, caractérisée en ce qu'elle comprend, de plus: des moyens pour déterminer un état desdits drapeaux d'inhibition de correction partielle (IPE; IPC) détenus dans ledit registre de mode (410); et des moyens pour déterminer si une correction d'erreur est non déterministe, dans lequel une erreur est rapportée sans ladite correction d'erreur si ladite correction d'erreur est déterminée comme étant non déterministe lorsque lesdits drapeaux d'inhibition de correction partielle (IPE; IPC) sont déterminés comme étant actifs. 25. Mémoire cache selon la revendication 22, caractérisée en ce qu'elle comprend, de plus: des moyens pour déterminer un état desdits drapeaux de détection d'incompatibilité (DIE; DIC) détenus dans ledit registre de mode (410); et25 des moyens pour déterminer si une correction d'erreur provoque une incompatibilité quand lesdits drapeaux de détection d'incompatibilité (DIE; DIC) sont actifs, dans lequel une erreur est rapportée sans ladite correction d'erreur si la correction d'erreur est déterminée comme provoquant une incompatibilité lorsque lesdits drapeaux de détection d'incompatibilité (DIE; DIC) sont actifs. SR 12396 JP/DB 26. Procédé de correction d'erreur dans une mémoire cache ayant un champ de commande (230), caractérisé en ce que ledit procédé comprend les étapes suivantes: détection d'une erreur dans ledit champ de commande (230) de ladite mémoire cache; et correction de ladite erreur en corrigeant au moins un bit particulier d'une pluralité de bits dans le champ de commande (230) sur la base de bits autres que ledit au moins un bit particulier et d'un état (IV; CE; CS; DE) de ladite mémoire cache. 27. Procédé selon la revendication 26, caractérisé en ce qu'il comprend, de plus, les étapes suivantes: fourniture d'un registre de mode (410) pour détenir, de manière sélective, des drapeaux d'inhibition de correction (ICV; ICC; ICE) dans un état particulier parmi un état actif et un état inactif; et rapport de l'erreur et abandon d'un processus de ladite mémoire cache si lesdits drapeaux d'inhibition de correction (ICV; ICC; ICE) sont actifs. 28. Procédé de correction d'erreur selon la revendication 26, caractérisé en ce qu'il comprend, de plus, les étapes suivantes: fourniture d'un registre de mode (410) pour détenir, de manière sélective, des drapeaux d'inhibition de correction partielle (IPE; IPC) dans un état particulier parmi un état actif et un état inactif; et détermination si une correction d'erreur est non déterministe; et rapport de l'erreur et abandon d'un processus de ladite mémoire cache si la correction d'erreur est déterminée comme étant non déterministe lorsque lesdits drapeaux d'inhibition de correction partielle (IPE; IPC) sont actifs. SR 12396 JP/DB 29. Procédé de correction d'erreur selon la revendication 26, caractérisé en ce qu'il comprend, de plus, les étapes suivantes: fourniture d'un registre de mode (410) pour détenir, de manière sélective, des drapeaux de détection d'incompatibilité (DIE; DIC) dans un état particulier parmi un état actif et un état inactif; et détermination si une correction d'erreur provoque une incompatibilité; et rapport de l'erreur et abandon d'un processus de ladite mémoire cache si la correction d'erreur est déterminée comme provoquant une incompatibilité lorsque lesdits drapeaux de détection d'incompatibilité (DIE; DIC) sont déterminés comme étant actifs. SR 12396 JP/DB