Brevet FR2561414A1 — publié le 19850920

SYSTEME A MICROPROCESSEUR ET MEMOIRE VIVE DYNAMIQUE AVEC RAFRAICHISSEMENT PAR LOGICIEL, APPLICATION A UN ENREGISTREUR DE PERTURBATIONS L'invention concerne les systèmes informatiques utilisant un ou plusieurs microprocesseurs ayant accès à au moins une mémoire vive dynamique. Elle concerne plus particulièrement le rafrai- chissement de la mémoire dynamique. Une application de l'invention se rapporte à un appareil de surveillance tel qu'un enregistreur de perturbations. Un système microprocesseur est constitué classiquement d'une unité centrale ou microprocesseur, d'un générateur d'horloge, des circuits d'entrée/sortie, d'au moins une mémoire morte contenant le programme du système et d'au moins une mémoire vive pour stocker les données. Ces différents circuits sont interconnectés par un bus d'adres- ses, un bus de données et un bus de contrôle. La mémoire vive peut être du type statique ou dynamique. Dans le premier cas, la cellule d'information élémentaire est une bascule à transistors. Dans le deuxième cas, la cellule est un condensateur. A capacité égale, les mémoires dynamiques cotent moins cher et prennent moins de place que les mémoires statiques. Elles ont cependant l'inconvénient de nécessiter une opération de rafraichissement destinée à recharger cycliquement les conden- sateurs. De plus, ces mémoires sont le plus souvent à adressage multiplexé. Les cellules de la mémoire sont classées par rangées et par colonnes. Pour effectuer l'opération de rafraîchissement, il faut appli- quer une adresse de rangée et fournir une impulsion négative sur l'entrée d'adresse de rangée, l'entrée d'adresse de colonne restant au niveau inactif: dans ce cas, toutes les cellules de la rangée adressée sont simultanément rafraîchies. L'utilisation correcte des mémoires dynamiques nécessite un ensemble de circuits auxiliaires comprenant principalement un mul- tiplexeur d'adresse, un compteur de rafraîchissement et un système d'arbitrage, c'est-à-dire plusieurs circuits intégrés plus ou moins complexes. Une autre solution consiste à utiliser un circuit intégré dit "contrôleur de mémoire dynamique", mais c'est une solution assez onéreuse. Différents dispositifs ont été imaginés pour économiser les circuits de rafraîchissement. On peut par exemple utiliser un circuit appelé "contrôleur d'accès direct mémoire". L'invention vise à remédier à ces inconvénients, c'est-à-dire d'éviter l'emploi de circuits complexes spécifiques à l'opération de rafraîchissement. Une particularité de l'invention consiste à utiliser le caractère périodique du logiciel du microprocesseur ainsi que le compteur ordinal de ce dernier. On propose plus précisément un système informatique compor- tant, au moins un microprocesseur avec un compteur ordinal pour l'adressage d'une mémoire morte contenant le programme, au moins une mémoire vive du type dynamique nécessitant des rafrai- chissements, et un multiplexeur des adresses de ladite mémoire vive, le système étant caractérisé en ce que les adresses de rafraîchissement sont issues du compteur ordinal et appliquées à la mémoire vive dynamique, par l'intermédiaire du multiplexeur. Les particularités et avantages de l'invention seront mieux compris à la lecture de la description qui suit, donnée à titre d'exemple, et illustrée des figures qui représentent: - la figure 1, un diagramme général d'une réalisation du système selon l'invention; - la figure 2, un diagramme relatif au fonctionnement du système représenté figure 1; - les figures 3A à 3G, des formes d'ondes relatives au fontionnement du système représenté figure 2; - la figure 4, un diagramme d'une réalisation du système selon l'invention dans le cadre d'une utilisation pour un enregistreur de perturbations; - les figures 5A à 5D, des formes d'ondes relatives au fonction- nement de la réalisation représentée figure 4. En référence à la figure 1 le microprocesseur I comnporte un compteur ordinal 9 et est piloté par un générateur d'horloge 3. Il est relié aux autres circuits du système par l'intermédiaire de trois bus: un bus d'adresses 2A, un bus de commande 2C, et un bus de données 2D. Les différents circuits sont un circuit d'interfaces entrée-sortie 4, une mémoire morte 5 du type ROM contenant le programme du microprocesseur, une mémoire vive 6 du type RAM dynamique. La commande de cette mémoire vive est assurée par un multiplexeur d'adresses 7 commandé par un séquenceur 8. Ce dernier est lui-même piloté par le microprocesseur et le générateur d'hor- loge 3. Le trait fort symbolise la liaison qui, selon l'invention, relie la sortie du compteur ordinal 9, à la mémoire vive dynamique 6 par l'intermédiaire du bus d'adresses 2A et du multiplexeur 8. Cette liaison est active lors d'un accès à la mémoire morte. Le fonctionnement du système est maintenant décrit en réfé- rence à la figure 2. Le microprocesseur est représenté seulement avec son compteur ordinal. Pour adresser une cellule mémoire, le microprocesseur, par l'intermédiaire du multiplexeur, fournit successivement sur les entrées adresses de la mémoire vive 6 une adresse de rangée, puis une adresse de colonne. Ces adresses sont prises en compte par la mémoire sur l'ordre de signaux d'échantillonnage de l'adresse de rangée RAS et de l'adresse de colonne CAS. L'opération effectuée sera une lecture ou une écriture en fonction de l'état d'un signal d'écriture ou de lecture R/W fourni par le microprocesseur au séquenceur 6. Ce dernier commande la mémoire vive par un signal d'écriture-lecture WR, les signaux d'échantillonnage des adresses RAS et CAS, ainsi qu'un signal de commande HL du multiplexeur. Ces signaux sont élaborés à partir d'un signal d'horloge HO et des signaux fournis par le microprocesseur. Les figures 3A à 3G représentent les différents signaux à des instants correspondant à différents types d'opérations du micropro- cesseur: lecture de la mémoire morte 5, lecture de la mémoire vive 6, écriture en mémoire vive et accès du circuit d'entrée- sortie 4. La figure 3A représente le signal de fréquence d'horloge Ho ou fréquence de bits. Le signal de fréquence de fonctionnement H1 de la figure 3B, représente le cycle élémentaire du microprocesseur. Sa fréquence est un sous- multiple de la fréquence d'horloge Ho. Il partage chaque cycle en deux moitiés. La première est réservée à la sélection du circuit à brancher (RAM, ROM...) la deuxième aux opérations à effectuer. Sur la figure 3C, le signal R/W, fourni par le microprocesseur, indique si le cycle est un cycle de lecture ou d'écriture (signal haut pour lecture, signal bas pour l'écriture.) Pour un cycle donné ce signal est déclenché pendant la première moitié de ce cycle. La figure 3D représente le signal HL de commande du multi- plexeur 7. Pendant la deuxième moitié du cycle et lorsque le signal est au niveau haut, le multiplexeur envoie à la mémoire vive 6 les adresses de poids faible AL. Inversement, lorsque le signal est au niveau bas, la mémoire vive reçoit les adresses de poids fort AH. Sur la figure 3E, le signal RAS est le signal d'échantillonnage de l'adresse de rangée. Sur la figure 3F est représenté le signal d'échantillonnage de l'adresse de colonne. Ces impulsions d'échantil- lonnage se situent dans la deuxième moitié du cycle, au début pour les adresses de rangées à la fin pour les adresses de colonnes, en synchronisme avec le signal HL. Enfin, la figure 3G le signal représenté est le signal WR fourni par le multiplexeur indiquant, sur la base du signal R/W si le cycle est un cycle de lecture ou d'écriture (signal haut pour lecture, signal bas pour écriture) ceci toujours dans la deuxième moitié du cycle. Le premier cycle des figures 3A à 3G (tO à t2) est relatif à une période de lecture de la mémoire morte (lecture ROM) pour lire une instruction du programme. Seul le signal RAS est activé dans la deuxième partie de ce cycle (tl à t2), ce qui provoque un rafraî- chissement de la mémoire (cycle I). Dans les deuxième et troisième cycles lecture RAM (t2 à t3), écriture RAM (t3 à t4), les signaux RAS et CAS sont activés successivement, en synchronisme avec le signal HL; l'ordre d'écriture WR est émis dans le troisième cycle. Enfin, pour le quatrième cycle, les signaux adresses rangée et colonne RAS et CAS restent au niveau haut inactif. Le microprocesseur I effectue une lecture des différents codes d'instruction places en mémoire morte 5. Ces codes sont adressés par le compteur ordinal du microprocesseur qui est automa- tiquement incrémenté à chaque pas d'instruction et qui, selon l'invention sert de compteur de rafraîchissement. Le rafraîchis- sement de la mémoire vive 6 est obtenu lors de chaque cycle de lecture de la meiroire mlorte 5. L'adresse de la rangée rafraîchie est alors donnée par l'adresse de ?instruction lue. Pour que le rafraîchis- semnent soit correct,: le programme du microprocesseur devra être écrit de telle manière que les 2n adresses de rangée soient balayées au rythme minimal imposé par la mémoire dynamique. Il suffit pour cela de réaliser un sous-programme comprenant 2n codes d'ins- iruction successifs et de faire exécuter cette séquence périodi- quemrent, soit par une boucle infinie, soit par interruption. Le rafraîchissement de la mémoire vive ne nécessitant que les adresses de rangée, si l'on dispose de 2n bits d'adresses, les n premiers bits, appelés bits de poids faible, sont utilisés pour représenter les adresses des rangées. Les n derniers bits, dits de poids fort, sont utilisés pour représenter les adresses des colonnes. Les applications de l'invention sont possibles dans des systèmes dont le logiciel prévoit une séquence de au moins 2n instructions successives (au moins toutes les 2 millisecondes); en particulier, les appareils effectuant des surveillances permanentes de valeurs. Une application possible de ce système est celle à un enregistreur de perturbations (voir figure 4). Ce dernier est un appareil qui assure une surveillance permanente de grandeurs analogiques et logiques. Les signaux de mesure SM issus d'un perturbographe I0 sont échantillonnés, après numérisation, par un premier microprocesseur 1 et stockés dans une mémoire de prédéclenchement 12. Lorsque l'on veut visualiser ou exploiter les signaux de mesure SM, on transfère le contenu de la mémoire de prédéclen- chement 12 dans une mémoire tampon 13 de grande capacité, sur ordre de déclenchement interne ou externe. Cet ordre peut être donné soit manuellement, soit par un circuit externe au système, par exemple un circuit d'interface 15, ou par des circuits de surveil- lance, par exemple un comparateur à seuil détectant les fortes intensités de courant. L'enregistrement dans la mémoire tampon 12 se poursuit ensuite pendant une durée prédéterminée. Ainsi, les états des signaux d'entrée avant, pendant et après l'ordre de déclenchement sont mémorisés et peuvent être restitués sur papier par un dispositif d'impression graphique 14. Pour remplir cette fonction, il est commode de disposer de deux microprocesseurs: le premier I assure la fonction de surveil- lance (échantillonnage, numérisation et rangement dans la mémoire de prédéclenchement), le deuxième 1i1 gère les enregistrements (rangement dans la mémoire tampon, commande du dispositif d'im- pression). Etant donné le volume important de données à échanger entre les deux microprocesseurs, l'utilisation d'une mémoire dynamique 6 commune aux deux microprocesseurs s'impose. Le rafraîchissement de cette mémoire est assuré par le programme d'échantillonnage des entrées exécuté cycliquement par le premier microprocesseur I. En se reportant aux figures 5A à 5D, on constate que les signaux de fréquences de fonctionnement Hi et H2 des deux microprocesseurs sont en opposition. De ce fait, pendant que le premier des microprocesseurs est dans la première moitié d'un cycle (sélection du circuit), le deuxième est dans la deuxième moitié du cycle (prise en compte des adresses rangée et de colonne. Ainsi la mémoire vive est utilisée en alternance, soit pour Pun, soit pour l'autre des microprocesseurs. Si on dispose d'une mémoire de 64K octets, 16K octets peuvent être utilisés par les deux microprocesseurs, les 48K octets restants constituant la mémoire tampon et étant utilisés seulement par le deuxième microprocesseur 11. Dans le cas o la capacité d'adressage du deuxième micropro- cesseur Il est inférieure à la taille de la mémoire tampon, on procède par une sélection dite "par page", les bits d'adresse supplé- mentaires sont fournis par un registre 16 commandé par le deuxième microprocesseur. REVENDICATIONS 1. Système informatique comportant au moins, un micropro- cesseur (1) avec un compteur ordinal (9) pour l'adressage d'une mémoire morte (5) contenant le programme, une mémoire vive (6) du type dynamique nécessitant des rafraîchissemments, et un mul- tiplexeur (7) des adresses de ladite mémoire vive, le système étant caractérisé en ce que les adresses de rafraîchissement sont issues du compteur ordinal et appliquées à la mémoire vive dynamique, par l'intermédiaire du multiplexeur. 2. Système selon la revendication 1, caractérisé en ce qu'un séquenceur (8) commandé par le microprocesseur est utilisé pour commander la mémoire vive (6) par des signaux de commande d'écriture ou de lecture (WR), des signaux d'échantillonnage de l'adresse de rangée (RAS) et d'échantillonnage de l'adresse de colonne (CAS), le séquenceur commandant le multiplexeur (7) par un signal de commande du multiplexeur (HL). 3. Système selon la revendication 2, caractérisée en ce que les premiers bits d'adresse dits bits d'adresse de poids faible donnent l'adresse de rangée (RAS), et en ce que les derniers bits d'adresse dits bits d'adresse de poids fort donnent l'adresse de colonne (CAS). 4. Système selon la revendication 2 ou 3, caractérisé en ce qu'un générateur d'horloge (3) délivre un signal de fréquence de bits (HO) au séquenceur (8) et un signal de fréquence de fonction- nement (HI) au microprocesseur (1). 5. Système selon l'une quelconque des revendications précé- dentes, caractérisé en ce qu'il comprend un deuxième micropro- cesseur (11) ayant accès à la mémoire vive dynamique (6) en alter- nance avec le premier microprocesseur (1). 6. Système selon les revendications 4 et 5, caractérisé en ce que le générateur d'horloge (3) délivre au séquenceur (8) un signal de fréquence de fonctionnement (H2) du deuxième microprocesseur ( l) en opposition avec le signal de fréquence de fonctionnement (HI) du premier microprocesseur (1) de sorte que la mémoire vive dyna- mique (6) est accessible pour l'un des deux microprocesseurs pendant la première moitié de cycle élémentaire, et est accessible à l'autre pendant la deuxième moitié de cycle. 7. Système selon la revendication 6, caractérisé en ce que le microprocesseur (1) est utilisé pour assurer la fonction surveillance de grandeurs en échantillonnant des grandeurs mesurées et en les mémorisant dans une mémoire de prédéclenchement constituée par une première zone (11) de la mémoire vive dynamique (6), un deuxième microprocesseur (11l) étant utilisé pour gérer les enregis- trements des mesures en vue de les exploiter en les mémorisant dans une deuxième zone (12) de la mémoire dynamique, le rafraîchis- sement de la mémoire é'ant assuré par le premier microprocesseur. &8 Système selon l'une quelconque des revendications 5,6,7, caracterisé en ce que la capacité de la mémoire vive dynamique (6) -tant supérieure h la capacité d'adressage du deuxième mnicropro- cesseuw (11) ce dernier commande un registre (16) qui fournit les bits supplémentaires d'adresse. 9. Systême selon l'une quelconque des revendications précé- dentes, caractérise en ce qu'il est utilisé dans un système enregis- treur de perturbations.