Brevet FR2656438A1 — publié le 19910628

DISPOSITIF DE REECRITURE D'UNE MEMOIRE DE CONTROLE. La présente invention concerne un dispositif de traitement de données comportant une mémoire de contrôle et, plus spécifiquement, elle concerne un système de réécri- ture de la mémoire de contrôle pour effectuer la réécriture du contenu mémorisé dans la mémoire de contrôle. Dans un dispositif de commande tel qu'un ordinateur à usage général, on utilise conventionnellement un système microprogrammé selon un système à Logique Mémorisée, car ce système est d'une part approprié pour une conception statistique, d'autre part destiné à un usage général et de plus économiquement avantageux en comparaison d'un système à Logique Câblée selon des transistors, etc.. En cours de réalisation de la mémoire de contrôle, le microprogramme est conventionnellement mémorisé dans une mémoire morte (ROM) d'un type non-destructeur. Cependant, on a récemment remplacé la mémoire ROM par une mémoire à accès sélectif (RAM). Dans ce cas, quand on coupe la source de tension d'alimentation, la mémoire RAM perd son contenu. Par conséquent, dans un usage effectif, le contenu doit être chargé quand le système est mis en fonctionnement. Conventionnellement, le contenu de la mémoire RAM est considéré comme étant maintenu comme il est, une fois que ce contenu est chargé pour commander le système tant que la mémoire RAM ne provoque pas une défaillance ou que le contenu de la mémoire RAM n'est pas détruit par le rayonnement d'un espace. Cependant, on a récemment trouvé que le contenu pouvait diminuer en raison d'une décharge spontanée, ce qui nécessite une contre-mesure.Si on n'adopte pas de contre-mesure, le contenu de la mémoire RAM diminue en raison de la décharge spontanée, ce qui entraîne un fonctionnement incorrect du système à cause d'une erreur de commande de mémoire induisant un sérieux problème à moins que l'erreur ne puisse être autrement corrigée ou que le système soit pourvu d'un circuit de correction d'erreurs. Généralement, puisque l'ordinateur est normalement mis en fonctionnement pour un long temps, la diminution du contenu de la mémoire RAM peut se produire fréquemment en raison de la décharge spontanée. Afin de résoudre le problème noté ci-dessus, on a adopté conventionnellement le système suivant appelé système à antémémoire. C'est-à-dire qu'une partie du microprogramme est mémorisée dans la mémoire de contrôle et l'autre partie du microprogramme est mémorisée dans un dispositif de mémoire centrale. Le microprogramme mémorisé dans le dispositif de mémoire centrale est chargé dans la mémoire de contrôle à la demande. Conventionnellement, le système à antémémoire noté ci-dessus est adopté pour éviter la diminution du contenu de la mémoire de contrôle due à la décharge spontanée de la mémoire RAM. Cependant, il se pose le problème qu'une attente d'exécution de traitement se produit chaque fois qu'une absence de correspondance d'antémémoire est générée. Un but de l'invention est d'éviter la diminution du contenu de la mémoire de contrôle due à une décharge spontanée sans produire d'attente d'exécution de trai tement Plus précisément, le dispositif de traitement de données selon la présente invention, comportant une mémoire de contrôle constituée d'un moyen à mémoire accessible sélectivement et mettant en oeuvre une partie microprogrammée, est caractérisé en ce qu'il comprend un moyen de jugement pour juger si la partie microprogrammée est dans un état inactif; un moyen générateur d'adresse actif quand le moyen de jugement juge que la partie microprogrammée est dans état inactif pour générer successivement une adresse de la mémoire de contrôle; et un moyen de réécriture actif chaque fois que le moyen générateur d'adresse génère une adresse pour extraire le contenu à l'adresse générée de la mémoire de contrôle et réécrire le contenu extrait à la même adresse pour effectuer le rafraichissement de la mémoire de contrôle. D'autres caractéristiques et avantages de la présente invention seront mis en évidence dans la description 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 structurel du système de l'invention; et la Figure 2 est un schéma fonctionnel d'un exemple de réalisation du système de l'invention. Afin d'atteindre le but décrit précédemment, on réalise le dispositif de traitement de données comportant une mémoire de contrôle constituée d'un moyen à mémoire accessible sélectivement comme l'indique la Figure 1. Ce dispositif est pourvu d'un moyen de jugement 2 pour juger si une partie microprogrammée est dans un état inactif, d'un moyen générateur d'adresse 3 actif quand le moyen de jugement 2 juge que la partie microprogrammée est dans l'état inactif pour générer successivement une adresse de la mémoire de contrôle 1, et un moyen de réécriture 4 actif chaque fois que le moyen générateur d'adresse génère une adresse pour lire le contenu de l'adresse générée par le moyen générateur d'adresse 3 dans la mémoire de contrôle 1 et pour réécrire le contenu lu à la même adresse. De préférence, le moyen générateur d'adresse 3 est constitué d'un registre dans lequel est mémorisée une adresse de la mémoire 1, et d'un circuit compteur progressif pour effectuer le comptage progressif de l'adresse mémorisée dans le registre chaque fois qu'une réécriture est effectuée. Autrement, le moyen générateur d'adresse 3 est constitué d'un registre dans lequel est mémorisée une adresse de la mémoire 1, et d'un circuit compteur régressif pour effectuer un comptage régressif de l'adresse mémorisée dans le registre chaque fois qu'une réécriture est exécutée. En fonctionnement, le moyen de jugement 2 juge si la partie microprogrammée est dans l'état inactif ou non. Le moyen générateur d'adresse 3 fonctionne quand le moyen de jugement 2 juge que la partie microprogrammée est dans l'état inactif pour générer successivement une adresse de la mémoire de contrôle 1. Le moyen de réécriture 4 fonctionne chaque fois que le moyen générateur d'adresse 3 génère une adresse pour lire dans la mémoire de contrôle 1 le contenu de l'adresse générée et pour réécrire le contenu lu à la même adresse. On va maintenant décrire en détail un exemple de réalisation de la présente invention en se référant à la Figure 2 qui est un schéma fonctionnel d'un exemple de réalisation du dispositif de traitement de données. Le dispositif 21 est constitué d'une mémoire de contrôle 22 dans laquelle est ou sont mémorisés un microprogramme ou des microcommandes, d'un registre 23 prévu pour une opération de réécriture, d'un registre 25 prévu pour l'exécution des microcommandes, d'un circuit générateur d'adresse 26 pour générer une adresse d'une microcommande à exécuter en succession conformément à une partie de désignation de séquence de commande de la microcommande alors mémorisée dans le registre 25 et conformément à des variables d'état d'entrée fournies par une bascule ou par un registre d'état, d'un circuit de jugement d'état inactif 27 pour juger si la partie microprogrammée est dans l'état inactif ou non afin de sortir un signal d'état inactif quand la partie microprogrammée est jugée comme étant dans l'état inactif, d'un circuit générateur de signaux d'écriture 28 actif quand la partie microprogrammée est dans l'état inactif pour générer un signal d'écriture à un temps de synchronisation donné, d'un registre 29 pour maintenir une adresse où est effectuée une opération de réécriture, d'un circuit compteur progressif 30 pour compter progressivement l'adresse maintenue dans le registre 29, d'une porte ET 31 pour exécuter une opération logique ET sur le signal d'état inactif sorti du circuit de jugement d'état inactif 27 et sur le signal d'écriture sorti du circuit générateur de signaux d'écriture 28, d'un circuit sélecteur 32 actif alors que le circuit de jugement d'état inactif 27 sort le signal d'état inactif pour sélectionner le registre 29 et actif alors que le circuit de jugement d'état inactif 27 ne sort pas le signal d'état inactif pour sélectionner le circuit générateur d'adresse 26, et d'un circuit à porte 24 qui est maintenu dans un état bloqué alors que le circuit de jugement d'état inactif 27 sort le signal d'état inactif. On va maintenant décrire le fonctionnement du dispositif 21. Quand la partie microprogrammée est dans l'état actif, le circuit de jugement d'état inactif 27 ne sort pas le signal d'état inactif. Par conséquent, le circuit sélecteur 32 est commandé pour sélectionner le circuit générateur d'adresse 26, et le circuit à porte 24 est maintenu dans l'état conducteur. En conséquence, quand la partie microprogrammée est dans l'état actif, le circuit générateur d'adresse 26 fonctionne conformément à la partie de désignation de séquence de commande de la microcommande alors mémorisée dans le registre 25 et conformément aux variables d'état d'entrée pour générer une adresse qui est successivement appliquée à la mémoire de contrôle 22 par l'intermédiaire du circuit sélecteur 32.Ainsi, la microcommande suivante mémorisée à l'adresse appliquée est lue dans la mémoire de contrôle 22 par l'intermédiaire du circuit à porte 24 et chargée dans le registre 25. La microcommande lue par le registre 25 est utilisée pour un signal de commande 33 comme elle est ou après avoir été décodée, en étant envoyée à différentes parties du dispositif. Ensuite, selon les signaux de commande 33, une procédure de traitement telle que la lecture d'une commande, le décodage d'une commande, la conversion d'une adresse d'opérande, la lecture d'un opérande, l'exécution d'un traitement et la mémorisation des résultats, est ensuite exécutée. Le traitement par la partie microprogrammée est accidentellement interrompu pour différentes raisons. Par exemple, quand des données de traitement d'une mémoire sont chargées, puisque sa vitesse de fonctionnement est inférieure à d'autres vitesses de fonctionnement, le traitement est suspendu à une certaine adresse pendant cet intervalle de temps et le dispositif est donc inactif. Cet état est appelé l'état inactif de la partie microprogrammée. Dans cet état inactif de la partie microprogrammée, la mémoire de contrôle n'est effectivement pas utilisée. Compte-tenu de cela, le système de l'invention est conçu pour effectuer la réécriture de la mémoire de contrôle 22 pendant l'état inactif de la partie microprogrammée afin d'éviter la diminution ou la perte du contenu de la mémoire de contrôle à cause d'une décharge spontanée. On va maintenant dir-i-ger la description sur le fonctionnement dans l'état inactif de la partie microprogrammée. Quand la partie microprogrammée est maintenue dans l'état inactif, le circuit de jugement d'état inactif 27 sort le signal d'état inactif. Le jugement est fait en détectant si la microcommande mémorisée dans le registre 25 indique l'état inactif ou non. En outre, le passage de l'état inactif à l'état actif est détecté, par exemple, par un signal d'interruption indiquant l'achèvement du chargement des données de traitement relatives à la mémoire. Quand le circuit de jugement d'état inactif 27 sort le signal d'état inactif, le circuit sélecteur 32 fonctionne pour sélectionner le registre 29. Simultanément, le circuit à porte 24 est mis à l'état bloqué. Le circuit générateur de signaux d'écriture 28 fonctionne en réponse au signal d'état inactif pour sortir un signal d'écriture à un temps de synchronisation donné. Quand le circuit sélecteur 32 est commuté pour sélectionner le registre 29, une adresse mémorisée dans le registre 29 est envoyée à la mémoire de contrôle 22, de sorte que le contenu de la mémoire de contrôle 22 mémorisé à cette adresse est extrait par le registre 23. Puisque le circuit à porte 24 est mis à l'état bloqué à ce moment-là, le contenu du registre 25 est maintenu comme celui mémorisé avant que le signal d'état inactif soit sorti. Le registre 29 est commandé pour effacer son contenu au moment du déclenchement du fonctionnement du registre 29. Ensuite, quand le signal d'écriture est sorti du circuit générateur de signaux d'écriture 28, le contenu mémorisé dans le registre 23, c'est-à-dire la microcommande extraite est à nouveau réécrite à la même adresse de la mémoire de contrôle 22. Simultanément, en réponse à la sortie du signal d'écriture, une adresse mise à jour qui a été comptée progressivement par le circuit compteur progressif 30 est mise dans le registre 29. L'opération décrite ci-dessus est exécutée d'une façon répétitive, mais alors que la partie microprogrammée est maintenue dans l'état inactif de manière à réécrire ou à rafraîchir successivement les contenus des adresses respectives dans la mémoire de contrôle 22. De cette manière, le contenu de chaque adresse de la mémoire de contrôle 22 est successivement lu et réécrit ensuite à la même adresse pour rafraîchir le contenu de manière à éviter une perte du contenu à cause d'une décharge spontanée. Quand la partie microprogrammée est remise de l'état inactif à l'état actif, le circuit de jugement d'état inactif 27 arrête la sortie du signal d'état inactif de sorte que le circuit sélecteur 32 est commuté pour sélectionner le circuit générateur d'adresse 26 et le circuit à porte 24 est commuté à l'état conducteur. En conséquence, la mémoire de contrôle 22 reçoit du circuit générateur d'adresse 26 une adresse désignant une microcommande à exécuter, de sorte que le contenu de cette adresse est extrait de la mémoire de contrôle 22 par le registre 25 de manière à effectuer un traitement régulier selon la microcommande extraite sous la forme d'un algorithme pratique. Le contenu du registre 29 est mis à jour par la mise en oeuvre du circuit compteur progressif 30 dans l'exemple de réalisation décrit plus haut; cependant, on peut utiliser un circuit compteur régressif à la place de celui-ci. L'utilisation d'un circuit compteur progressif ou d'un circuit compteur régressif est préférable pour désigner successivement une adresse afin d'exécuter l'opération de réécriture de manière à réécrire régulièrement l'ensemble des adresses de la mémoire de contrôle 22 plutôt que d'utiliser d'autres types de circuits pour désigner des adresses d'une manière différente que le circuit compteur progressif ou le circuit compteur régressif. Comme on l'a décrit plus haut, le dispositif de l'invention est pourvu du moyen générateur d'adresse constitué du registre 29 pour sortir successivement une adresse de la mémoire de contrôle quand la partie microprogrammée est dans l'état inactif, et du circuit compteur progressif 30, etc.. Chaque fois que le moyen générateur d'adresse sort une adresse, le contenu mémorisé à cette adresse de la mémoire de contrôle est lu et réécrit ensuite à la même adresse par le moyen de réécriture constitué du registre 23 et du circuit générateur de signaux d'écriture 28,etc.. Au moyen de cette construction, les contenus des adresses respectives de la mémoire de contrôle peuvent être rafraîchis ou réécrits successivement quand la partie microprogrammée est dans l'état inactif, d'où l'avantage que le système de l'invention peut éliminer les effets nocifs produits par un fonctionnement involontaire dû à la perte du contenu de mémoire de contrôle à cause d'une décharge spontanée sans générer d'attente d'exécution de traitement. REVENDICATIONS 1. Dispositif de traitement de données comportant une mémoire de contrôle (1;22) constituée d'un moyen à mémoire accessible sélectivement et mettant en oeuvre une partie microprogrammée, caractérisé en ce qu'il comprend: un moyen de jugement (2;27) pour juger si la partie microprogrammée est dans un état inactif; un moyen générateur d'adresse (3;26,29,30) actif quand le moyen de jugement juge que la partie microprogrammée est dans l'état inactif pour générer successivement une adresse de la mémoire de contrôle; et un moyen de réécriture (4;28,23) actif chaque fois que le moyen générateur d'adresse génère une adresse pour extraire le contenu de l'adresse générée de la mémoire de contrôle et pour réécrire le contenu extrait à la même adresse afin d'effectuer le rafraîchissement de la mémoire de contrôle. 2. Dispositif de traitement de données selon la revendication 1, caractérisé en ce que le moyen générateur d'adresse (3;26,29,30) comprend un registre (29) dans lequel est mémorisée une adresse, et un circuit compteur progressif (30) pour compter progressivement l'adresse mémorisée dans le registre chaque fois que l'opération de réécriture est exécutée. 3. Dispositif de traitement de données selon la revendication 1, caractérisé en ce que le moyen générateur d'adresse (3;26,29,30) comprend un registre (29) dans lequel est mémorisée une adresse, et un circuit compteur régressif (30) pour compter régressivement l'adresse mémorisée dans le registre chaque fois que l'opération de réécriture est exécutée.