FR 2626402 A1 19890728 FR 8815741 A 19881201 La présente invention concerne d'une façon gjénrale le contrôle, ou test, fonctionnel de mémoires et elle se rapporte en particulier à une méthode et un système pour contrôler, ou tester fonctionnellement des mémoires - dans des unités à microprocesseurs à des vitesses améliorées, tout en maintenant un haut degré de précision. Un test fonctionnel d'unités à microprocesseurs est utilisé pour localiser des défauts ou des erreurs qui affectent le fonctionnement de mémoires, ou microplaquettes, semi-conductrices, ou puces. I1 a été reconnu par les spécialistes de ce domaine qu'un test fonctionnel qui localise tous les défauts possibles pou- vant se produire est réalisé avec environ 2N accès, o3 N désigne le nombre d'emplacements ou cellules adressables dans la mémoire, et qu'il n'est par conséquent pas appli- cable en pratique à cause de la complexité et du temps à passer. En conséquence, en pratique, un processus de test applicable doit concerner seulement les défauts qui ris- quent le plus de se produire, comme, par exemple, des cellules de données collées, des décodeurs défectueux, des registres d'adresses ou de données défectueux, et des défauts entre des lignes d'adresses et de données. Un test capable de détecter les défauts les plus courants par exécution d'un certain nombre d'opéra- tions dans chaque adresse de mémoire est ce qu'on appelle le test opérationnel qui progresse séquentiellement vers le haut et vers le bas dans une gamme d'adresses entre des limites inférieures et supérieures données, en effec- tuant les mêmes opérations, par exemple une écriture et une lecture, dans chaque adresse. Des chercheurs ont pro- posé dans l'art antérieur d'effectuer des tests opération- nels assez longs et rigides, par exemple jusqu'à 30N tests, soit en écrivant le même bit dans toutes les cellules, soit en écrivant un motif fixé de "uns" et de "zéros". Bien que de tels tests localisent des défauts avec un haut degré de précision, ils prennent beaucoup de temps. Dans le brevet U.S. No. 4 715 034, David M. Jacobson a proposé un algorithme de test de mémoire rapide qui nécessite seulement SN opérations utilisant des données pseudo- aléatoires pour détecter la plupart des défauts courants *et a exploité le fait que la prcbabilité de non-détection d'un défaut était extrêmement petite. Lorsque les circuits de mémoires sont des mémoires à accès sélectif (RAM) de systèmes à microproces- seurs, on a utilisé depuis de nombreuses années des dispo- sitifs d'émulation de microprocesseurs pour effectuer des tests fonctionnels dans les processus de conception, de production, ou bien pour des tests de service et des ré- parations. Un exemple d'un tel système est décrit dans le brevet U.S. 4 455.654 de K.S. Bhaskar et al. Les per- formances de tests de mémoires dans de tels systèmes à microprocesseurs, ou unités soumises à un test (UUT), sont typiquement limitées par des relations, précisions/ vitesse qui dépendent de l'architecture de l'émulateur et de l'algorithme utilisé. Le dispositif d'émulation de microprocesseur qui contient un microprocesseur du même type que celui de l'unité UUT, est relié directement, ou par l'intermédiaire d'un module d'interface, avec la struc- ture de bus de l'unité UUT, par exemple, par une liaison directe à la prise du microprocesseur de l'unité UUT. Tous les tests effectués par de tels dispositifs d'ému- lation ont été réalisés jusqu'à maintenant selon un mode à accès par bus, o le dispositif d'émulation établit des cycles individuels d'accès par bus et agit dans chacun d'eux avant d'agir dans un autre. Ainsi, le dispositif d'émulation connaît des adresses d'écriture et de lecture et, pour un cycle de bus, il établit une connexion avec le bus d'unité UUT en relation avec une adresse spécifique préchargée, de telle sorte que la mémoire de l'unité UUT soit écrite à cette adresse, ou bien il fournit la valeur de la donnée mémorisée à cette adresse, en fonction de quoi un ordre d'écriture ou de lecture est produit. En- suite, le dispositif d'émulation commute sur son circuit interne de façon à produire un autre ordre d'écriture avec une nouvelle adresse, ou bien de manière à recevoir une information lue dans la mémoire de l'unité UUT. Avec l'al- gorithme de Jacobson mentionné ci-dessus, un nouveau nom- bre pseudo-aléatoire est calculé pour chaque adresse. Puisque l'utilisation de cycles individuels d'accès par bus a constitué la base des testsde mémoires RAM de l'art antérieur, qu'elles soient situées dlans une unité centrale ou un groupe de blocs fonctionnels, ou module, des augmentations des dimensions des mémoires se traduisent directement par plus de cycles d'accès par bus et par une augmentation correspondante du temps de test. En conséquence, même avec des algo- rithmes de tests rapidescomme le processus de test fonctionnel de Jacobson à probabilité de 5N pour mémoires RAM, la tendance à l'augmentation de l'espace pour mémoires RAM pose un problème en relation avec le temps nécessaire pour tester une unité UUT. Conformément à la présente invention, un pro- cédé et un système de test fonctionnel rapide et de haute précision de mémoires dans des unités UUT à microprocesseurs fournit une nouvelle solution au problème de test de mé- moires en relation avec la fonction vitesse/précision, cette solution permettant d'obtenir un à deux ordres de grandeur d'augmentation de la vitesse tout en étant affec- tée par une très petite diminution de précision. Un système de test utilisant un microproces- seur du même type que celui de l'unité UUT est effective- ment relié en permanence à la-structure de bus de l'unité UUT, et sert de microprocesseur de remplacement lors de l'exécution d'un programme de test à une vitesse établie par la propre horloge de l'unité UUT pour localiser des défauts dans la mémoire de l'unité UUT. Le programme de test peut être mémorisé dans la propre mémoire de l'unité UUT, ou de préférence dans la mémoire du système de test, et il est appliqué à l'unité UUT en utilisant une technique de recouvrement de mémoire. Le programme de test est mé- morisé ou-placé en recouvrement dans une partie de la mémoire de l'unité UUT qui n'est pas en train d'être tes- tée pour des défauts. Avec maintien d'une liaison effec- tivement permanente avec la structure de bus de l'unité UUT et avec l'exécution d'un programme de test à la vitesse d'horloge de l'unité UUT, il est possible d'obtenir une augmentation de vitesse de test supérieure d'un ordre de grandeur à la vitesse obtenue dans l'art antérieur pour un test de mémoire du type à émulateur. Une autre particularité de la présente in- vention qui permet d'obtenir une augmentation de la vi- test de test de la mémoire consiste à utiliser des ins- tructions à orientation de blocs ou de chaine,qui sont associées à certains des microprocesseurs. Par une ex- ploitation avantageuse des particularités de déplacement et de comparaison de blocs, les données provenant d'une gamme d'adresses de mémoire peuvent faire l'objet d'accès, de déplacements et de comparaisons, à la place des accès à des adresses individuelles une par une comme dans les systèmes de l'art antérieur. - Un algorithme qui exploite de telles parti- cularités de déplacement de comparaison de blocs est un algorithme de test de mémoires à probabilité de 5N, compre- nant quatre balayages ou exploration d'adresses de RAM ou trois opérations d'écriture et deux opérations de lecture sont effectuées. En premier lieu, une séquence pseudo-aléatoire de bits est écrite dans une gamme pré- déterminée de cellules de mémoire adressées consécutive- ment à l'extrémité d'adresse inférieure de la mémoire RAM de façon à produire un bloc de référence. Le bloc de réfé- rence est ensuite reproduit par itération en écrivant séquentiellement dans la même séquence pseudo-aléatoire de bits dans toutes les cellules restantes de la mémoire RAM, en commençant avec la première adresse après le bloc de référence et en poursuivant jusqu'à l'adresse la plus haute. Pour le second passage dans la mémoire, la sé- quence pseudo-aléatoire de bits fait l'objet d'une com- plémentation et les étapes de reproduction sont répétées pour effectuer la complémentation de la donnée dans chaque cellule. Pour le troisième passage, un balayage régressif depuis l'adresse la plus haute jusqu'à l'adresse la plus basse est effectué. Dans chaque emplacement, une donnée est lue et comparée avec sa valeur attendue, elle fait l'objet d'une complémentation e- elle est réécrite. Dans une quatrième passe finale dans la mémoire, un ba- layage progressif depuis l'extrémité de basse adresse de la mémoire RAM jusqu'à l'extrémité de haute adresse est effectué à mesure qu'une donnée provenant de chaque emplacement est lue et est comparée avec la séquence pseudo-aléatoire de bits d'origine. Un algorithme de test de mémoires RAM à pro- babilité de 8N conforme à la présente invention comprend quatre balayage d'adresses de mémoires RAM dans lesquels trois opérations d'écriture et cinq opérations de lecture sont effectuées. Dans ce cas, un bloc de bits pseudo- aléatoires de référence est lu par un premier pointeur et est écrit dans un bloc immédiatement suivant par un second pointeur. Les pointeurs sont déplacés ensemble en relation d'espacement mutuel au travers de la mémoire dans le premier passage jusqu'à ce que toutes les cellules soient écrites. Dans le second passage, les bits pseudo- aléatoires du bloc de référence font l'objet d'une complé- mentation et les opérations de lecture et d'écriture uti- lisant des pointeurs sont répétées. Le troisième et le quatrième passages sont sensiblement les mêmes que pour le test à 5N, excepté que le quatrième passage fait intervenir deux lectures de chaque cellule pour comparer des bits indiqués par les deux pointeurs. -En conséquence, un objet de la présente in- vention est de créer un procédé et un système pour tester fonctionnellement des mémoires dans des unités à micro- processeurs, o la vitesse de mémoire est augmentée d'au moins un ou deux ordres de grandeur tout en maintenant une grande précision pour l'identification et le signalement de défauts. Un autre objet de la présente invention est de créer un algorithme de test fonctionnel qui exploite les particularités de déplacement et de comparaison de blocs de microprocesseurs récents. - Encore un autre objet de la présente inven- tion est de créer un système de test qui soit efficacement relié en permanence à la structure de buse d'une unité dont la mémoire est en train d'être testée et qui exécute des instructions de test de mémoire à la vitesse d'horloge de l'unité. D'autres caractéristiques et avantages de l'invention seront mis en évidence, dans la suite de la description, donnée à titre d'exemple non limitatif, en référence aux dessins annexés dans lesquels: la Figure 1 est un schéma synoptique d'ensem- ble d'un système de test conforme à la présente invention; la Figure 2 représente une topographie de mémoire utilisable pour être placée sur une mémoire en cours de test; la Figure 3 représente un exemple d'un mouve- ment de blocs de mémoire o une donnée peut être déplacée d'une gamme d'adresses de mémoire dans une autre; et la Figure 4 est un graphique représentant un algorithme de test de mémoires RAM conforme à la pré- sente invention. 7- En référence à la Figure 1, qui est un sché- ma synoptique d'ensemble, un système de test fonctionnel de dispositifs de mémoires dans des unités à microproces- seurs conforme à la présente invention comprend une unité centrale 10 qui est reliée électriquement à un module d'interface 12. Le module d'interface 12 est relié par l'in- termédiaire d'un câble 14 avec un connecteur 16 placé à une extrémité éloignée. Le connezteur 16 est adapté à et enfiché dans une prise de microprocesseur 18 d'une unité soumise au test (UUT) 20. Evidemnent, si le microprocesseur était fixé par brasage, le connecteur 16 représenterait un adaptateur de maintien. Puisque les dispositifs de mémoires à tester sont logés à l'intérieur de l'unité UUT, les parties cor- respondantes de l'unité UUT 20 vont être décrites en pre- mier lieu. Le microprocesseur, qui est normalement placé dans la prise 18, a été enlevé et a été remplacé par le connecteur 16 de telle sorte que, en ce qui concerne l'unité UUT 20, le module d'interface 12 apparaisse comme son micro- processeur. La prise 18 est reliée à une structure de bus unité UUT 22 qui, comme cela est connu des spécialistes de ce domaine, comprend typiquement une pluralité de lignes d'adresses et de données, ainsi que des lignes d'états et de commande. La structure de bus UUT 22 est reliée à une mémoire à accès sélectif (RAM) 24 et à une mémoire morte (ROM) 26. Bien que la mémoire RAM 24 et la mémoire ROM 26 soient représentées comme des unités séparées, en pratique réelle, elles peuvent être logées physiquement dans la même puce ou ensemble. L'unité UUT 20 comprend également un circuit d'horloge UUT 28, qui produit des impulsions d'hor- loge à une fréquence désirée pour le fonctionnement du microprocesseur de l'unité UUT et de circuits associés. L'unité UUT 20 représentée ici est incomplète et peut par conséquent constituer la partie centrale ou de coeur de l'un quelconque d'une grande diversité de systèmes à micro- processeurs- comportant un dispositif de mémoiresqui peut être testé avantageusement conformément à la présente in- vention. L'unité centrale 10 comprend, entre autres, un dispositif d'affichage 30 et un clavier à touches 32 et elle est capable de fournir des instructions au module d'interface 12 de façon à amorcer un test de mémoire et à signer les résultats de ce test à un utilisateur. Des exemples d'équipements disponibles dans le commerce et correspondant à l'unité centrale 10 sont les équipements "Micro-System Troubleshooters" de la série 9000 et "Digital Test System" de la série 9100, fabriqués par John Fluke bIfg. Co., Inc. Le module d'interface 12 est relié électri- quement à l'unité centrale 10 par l'intermédiaire d'un câble 36 et d'une interface d'entrée-sortie (I/O) 40. Le module d'interface 12 est spécifiquement agencé de manière à tester une unité UUT qui utilise un type parti- culier de microprocesseur, par exemple un microprocesseur Intel 80286, et qui transmet en correspondance à la struc- ture de bus UUT 22, et reçoit de celle-ci, une information compatible avec le langage-machine du microprocesseur par- ticulier, des signaux de synchronisation et des niveaux logiques. Ainsi, les modules d'interfaces sont interchan- geables, et un utilisateur choisit simplement celui qui est conçu pour former une interface avec le type particu- lier de microprocesseur employé dans l'unité UUT. Pour cet exemple, on va supposer que le microprocesseur de l'unité UUT est le microprocesseur 80286 mentionné ci-dessus et qu'en correspondance le module d'interface 12 comprend un noyau 80286 complet comportant un microprocesseur (uP) 42, une mémoire RAM 44, une mémoire ROM 46-, et l'interface I/O 40 précitée qui sont interconnectées par des bus de données et d'adresses 48 et 50, respectivement. IDes tamDons de données et d'adresses 54 sont reliés aux bus 26-26402 de données et d'adresses 48 et 0EO. Les tampons de données sont bidirectionnels et sont validés par un signal de commande provenant d'un circuit de synchronisation et commande 56. Les tampons d'adresses sont des tampons seulement pour sorties. Il est interposé entre les tampons de données/adresses 54 et le connecteur de microprocesseur 16 un circuit de protection et un réseau de détection de niveau logique 58,qui protègent les circuits du module d'interface 12 contre des surtensions et qui contiennent des résistances de source et de détection pour détecter des défauts de transmission de sorties. Pour ce module d'interface particulier, les entrées au microprocesseur provenant de l'unité UUT sont appelées des lignes d'états et les sorties vers l'unité UUT sont appelées des lignes de commande. L'unité centrale 10 et le module d'interface 12 intervenant dans le présent système sont largement classiques; cependant, la structure est agencée de manière à permettre une compréhension complète du nouveau mode opératoire de test de mémoire qui va être décrit. Dans un mode opératoire normal, typiquement appelé le mode de dépannage, le fonctionnement de l'unité centrale et du module d'interface est sensiblement conforme'à ce qui a été décrit dans le brevet U.S. No. 4 455 654. Le mode opératoire intéressant est un second mode, ou mode auxiliaire, appelé le mode "RUN UUT" o le microprocesseur 42 du module d'interface est effectivement relié en permanence par l'intermédiaire de ses tampons à la structure de bus UUT 22 de façon à servir de micro- processeur de substitution pour exécuter les programmes internes propres à l'unité UUT, tels que ceux contenus dans la mémoire ROM 26. Dans ce mode opératoire, le module d'interface 12 remplit des fonctions de microprocesseur telles que celles associées aux lignes d'états/commande, au traitement d'interruptions, à la synchronisation, à la mémorisation et à l'adressage d'entrée/sortie. Egalement, et peut être ce qui est le plus important, le micro- processeur 42 exécute les programmes à la vitesse établie par l'horloge 28 de l'unité UUT. Pour effectuer un test fonctionnel de la mémoire de l'unité UUT, c'est-àdire la mémoire RAM 24, des instructions ou programmes de test de mémoire peuvent être mémorisées dans la mémoire d'exécution de l'unité UUT et être exécutées à partir de celle-ci, ou bien, de pré- férence, de telles instructions ou programmes de test de mémoire peuvent être mémorisées dans et exécutées à partir d'une mémoire "recouverte" qui est placée dans le module d'interface 12. Le recouvrement de mémoire est une technique 1-5 qui permet à un système de tête de remplacer électrique- ment ses propres instructions par les instructions que son microprocesseur tente de lire dans la mémoire de programmes de l'unité en train d'être testée. Un recouvrement de mé- moire peut être effectué dans n'importe quel emplacement de mémoire UUT ayant la même dimension que l'emplacement de la mémoire du système de test qui est occupé par la mémoire de recouvrement. Dans une réalisation préférée de la présente invention utilisant un microprocesseur 80286, une mémoire RAM de recouvrement de huit kilooctets de mémoire RAM contiguë est établie en utilisant une partie de la mémoire RAM 44. La mémoire RAM de recouvrement est établie sur une zone de huit kilo-octets, normalement occupée par des ins- tructions de réenclenchement de puissance et de mise en séquence en haut de la mémoire ROM de UUT. Se référer à la Figure 2. La Figure 2 représente une topographie d'une mémoire de 16 méga-octets comportant une adresse hexadéci- male 00 0000 en bas et FF FFFF en haut, et cela peut cor- respondre de façon appropriée à la mémoire de UUT comprenant la mémoire RAM 24 et la mémoire RAM 26. A chaque fois que la mémoire RAM de recouvrement est disposée de façon à commencer à une adresse particulière, comme dans ce cas à proximité du haut de la mémoire de UUT, et à chaque fois qu'elle est validée, une opération de lecture à l'intérieur de la gamme d'adresses de la mémoire RAM de recouvrement renvoie des données mémorisées dans la mé- moire RAM de recouvrement au lieu de renvoyer des données à partir de la mémoire de UUT. De cette manière, un code de programme précédemment mémorisé dans la mémoire UUT recouverte n'est pas "vu" par le processeur et il le sera ensuite après que la mémoire RAM de recouvrement sera invalidée. Les instructions ou programmes de test de mémoire sont chargées dans la mémoire RAM de recouvrement de huit kilo-octets, qui est validée dans le mode RUN UUT et qui replace électriquement l'espace de huit kilo-octets en haut de la mémoire de UUT, en permettant aux adresses restantes, c'està-dire presque toutes les adresses de la mémoire de UUT, d'être testées. Les résultats de tests sont accumulés dans des emplacement désignés dans le mo- dule d'interface 12, RAM 44, à mesure que le programme de test se déroule. A la fin du programme de test, le mode RUN UUT est terminé et les résultats de tests sont renvoyés à l'unité centrale 10. En conséquence, on peut voir que, dans le mode RUN UUT, le module d'interface 12 reste ef- fectivement relié en permanence à la structure de bus de UUT et que les programmes de test de mémoire mémorisés dans la mémoire RAM de recouvrement sont executés à la vitesse d'horloge de UUT, qui est établie par l'horloge 28, ce qui permet d'obtenir une augmentation de vitesse d'un ordre de grandeur par rapport à un test de mémoire du type-émulateur de l'art antérieur. - Dans des systèmes de tests de mémoires ne possédant pas la capacité de recouvrement de mémoire, l'avantage de la présente invention concernant la vitesse peut encore être obtenu en effectuant d'abord un posi- tionnement et un test d'une partie suffisamment grande de la mémoire RAM de UUT pour contenir le programme de test de mémoire par utilisation de la technique d'accès par bus de l'art'antérieur, puis en chargeant le programme de test de mémoire dans la partie testée de la mémoire RAM de UUT pour tester le reste de la mémoire RAM de UUT en utilisant laprésente invention. Cependant, un recouvrement de mémoire permet d'obtenir une un peu plus grande validité des ré- sultats de tests puisque l'intégrité électrique du module d'interface 12 est typiquement considéréecomme meilleure que celle d'une mémoire suspecte de l'unité UUT. Une autre particularité de la présente in- vention qui résulte d'une augmentation de la vitesse de test de la mémoire consiste à utiliser des instructions à orientation en blocs ou en chaîne qui sont spécifiaues au processeur soumis à émulation pour effectuer des trans- ferts en mémoire analogues à DMA sans être affectées par une surcharge résultant d'extraction et d'exécution d'ins- tructions multiples pour chaque adresse testée pour la mémoire. Des microprocesseurs récents, tels que le micro- processeur 80286, possèdent des caractéristiques de dé- placement et de comparaison de blocs, qui permettent un déplacement et une comparaison de gros blocs de données à partir de gammes d'adresses. Par exemple, le micro- processeur 80286 est capable de déplacer jusqu'à 64 kilo- octets de données avec une seule instruction de déplacement de bloc. En conséquence, au lieu d'utiliser une instruc- tion de programme de test de mémoire qui accéderait à des données à une seule adresse, il est possible d'accéder à des données dans une gamme d'adresses. En référence à la Figure 3, il est représenté un exemple simple de mouvement de bloc. Un pointeur de source indique la première adresse dans un bloc qui, pour cet exemple, comporte cinq adresses. Une donnée est écrite dans les cinq adresses. Un pointeur de destination indique la première adresse d'un bloc de cinq adresses dans lequel une donnée doit être amenée. Alors que l'adresse suivante, c'est-à-dire "6", est indiquée par le pointeur de destina- tion, en réalité toute adresse désirée pourrait être in- diquée. Lors de la réception d'un ordre, les données se trouvant aux adresses i à 5 sont déplacées respectivement jusqu'aux adresses "6" à "10", comme indiqué par les flè- ches sur la Figure 3. Ainsi, en particulier pour des dis- positifs ou unités à microprocesseurs comportant de gran- des mémoires, une utilisation d'opérations de déplacement et de comparaison de blocs permet d'obtenir pour des tests de mémoire une augmentation de vitesse d'un ordre de grandeur supplémentaire. Un algorithme de test de mémoire qui utilise avantageusement des opérations de déplacement et de compa- raison de blocs conformément à un aspect de la présente invention est représenté schématiquement sur la Figure 4. L'algorithme comprend quatre balayages ou passages sur les adresses de la mémoire RAM, en effectuant trois opé- rations d'écriture ("écritures") et deux ou cinq opérations de lecture ("lectures") dans chaque emplacement, en fonc- tion de l'agencement particulier et en employant des opé- rations de déplacement et de comparaison de blocs. En conséquence, chaque cellule fait l'objet d'un accès cina fois pour un algorithme 5N, ou huit fois pour un algorithme 8N. En premier lieu, un bloc de données pseudo- aléatoires est écrit dans l'extrémité d'adresse inférieure de la mémoire RAM de UUT en train d'être testée. Cela correspond au bloc de référence représenté sur la Figure 4 sous la forme d'un court segment proche de l'adresse de départ de chaque balayage vers le haut de la gamme d'adresses. La longueur du bloc de référence peut- dépendre de la taille de la mémoire et des capacités de déplacement de blocs d'un microprocesseur donné; cependant, une longueur choisie de manière à être relativement valable pour des puissances mathématiques de deux évitera des problèmes courants de confusion qui sont imputables à une absence de détection, par inadvertance d'erreurs de décodage d'adresses. Ensuite, un logiciel ou des pointeurs, tels que des pointeurs de source et de destination associés au microprocesseur 80286, sont établis de telle sorte que des données puissent être lues dans la première adresse de la mémoire RAM de UUT et puissent être écrites dans le premier emplacement suivant le bloc de référence. Par exemple, si le bloc de référence d'adresses est compris entre 0 et 99, le pointeur de source sera pointé sur l'adresse 0 et le pointeur de destination sera pointé sur l'adresse 100, et la donnée lue à l'adresse 0 sera déula- cée et écrite dans l'adresse 10C. Une opération de dépla- cement en chaîne est amorcée de façon à produire une re- production du bloc de référence (par itération) jusqu'à ce que la dernière adresse soit atteinte. Cela peut être réalisé pour l'algorithme 5N en utilisant le pointeur de source pour lire répétitivement le bloc de référence pendant que le pointeur de destination effectue le ba- layage de la gamme-d'adresses de la mémoire, en trans- férant par copiage une donnée depuis l'emplacement du pointeur de source ou inférieur jusque dans l'emplac ment du pointeur de destination ou supérieur, ou bien pour l'algorithme 8N, les deux pointeurs peuvent effec- tuer le balayage de la mémoire en tandem, en maintenant le décalage de longueur d'un bloc à mesure qu'ils pro- gressent vers le haut et jusqu'à ce que la dernière adresse soit écrite. Cela termine le premier passage au *travers de la mémoire. Pour le second passage au travers de la mémoire, le bloc original de données pseudo-aléatoires fait l'objet d'une complémentation bit pour bit, puis il est écrit dans l'extrémité d'adresse inférieure de la mémoire RAMI de l'unité UUT en train d'être testée de façon qu'il devienne le bloc de référence. A nouveau, les pointeurs sont réglés sur la première adresse de la mémoire RAM de UUT et sur le premier emplacement suivant la donnée pseudo-aléatoire complémentée bit pour bit de telle sorte qu'une donnée puisse être lue à l'adresse définie par le pointeur de source et puisse être écrite à l'adresse définie par le pointeur de destination. Comme décrit ci-dessus pour le premier passage dans la mémoire, une opération de déplacement en chaîne est ef- fectuée, soit en remplissant la mémoire RAM de UUT avec une série de blocs de données complémentées. A ce moment, chaque cellule de données a effectué au moins une transi- tion de valeur, en passant par exemple de zéro à un, ou bien de un à zero. Ensuite, une opération de balayage vers le bas depuis l'adresse la plus haute jusqu'à l'adresse la plus basse est effectuée. Dans chaque emplacement, une donnée est lue, comparée avec sa valeur attendue, com- plémentée et ré-écrite. Si un emplacement renvoie une aleur qui ne correspond pas à la donnée attendue, le test est arrêté et les résultats erronés sont notés. Au moment o l'adresse minimale est traitée, toutes les cellules de données ont effectué des transitions entre les deux états logiques. Pour le quatrième passage final dans la mé- moire, une donnée se trouvant à l'extrémité d'adresse mi- nimale de ia mémoire RAM de UUT est lue et comparée avec la donnée pseudo-aléatoire d'origine. Ensuite, les empla- cements restants de la mémoire sont lus et comparés à leurs valeurs attendues. A nouvwau, cela peut être réalisé pour l'algorithme 5N en utilisant le pointeur de source pour lire répétitivement le bloc de référence pendant que le pointeur de destination balaie la gamme d'adresses pour une lecture de la mémoire et pour une comparaison des données alors que, dans le cas d'un algorithme 81, un balayage vers le haut de la mémoire est amorcé avec les pointeurs réglés pour effectuer une comparaison en chaîne entre des emplacements qui ont déjà été validés et des emplacements décalés vers le haut d'une longueur de bloc dans la mémoire. A nouveau, si un emplacement ne renvoie pas la valeur de donnée attendue, le test est arrêté et les résultats erronés sont notés. Les algorithmes de test fonctionnel décrits ci-dessus peuvent être écrits sous la forme d'une série d'instructions qui sont mémorisées dans la mémoire-d'exé- cution de l'unité UUT 20 et qui sont exécutées à partir de cette mémoire, ou bien les instructions sont mémorisées dans et exécutées à partir d'une mémoire de recouvrement qui est placée dans le module d'interface 12 comme décrit ci-dessus. Le bloc de données pseudo-aléatoires peut être établi par un générateur de données pseudo-aléatoires qui est placé soit dans le module d'interface 12 soit dans l'unité centrale 10. Il est à noter que les données pseudo-aléatoires pour tout le test doivent être calculées seulement une fois et que la donnée initiale est réutili- sée et est manipulée lorsque cela est appropriée. Le bloc de données pseudo-aléatoires peut être mémorisé dans la mémoire RAM de recouvrement et peut être reproduit dans la zone correspondant au bloc de référence qui est située à l'extrémité d'adresse inférieure de la mémoire RAM de l'unité UUT. Egalement, des variantes évidentes peuvent modifier légèrement l'algorithme par rapport à un test de probabilité 5N ou 8N vrai, en fonction de la taille de la mémoire, de la quantité de données qu'un microprocesseur est capable de déplacer avec une seule instruction de déplacement de bloc et de la quantité de données pseudo- aléatoires calculées disponibles.-Par exemple, lors du premier passage dans la mémoire, la donnée se trouvant dans le bloc de référence peut être écrite dans un certain nom- bre de blocs consécutifs de façon à créer un segment, qui est utilisé à son tour par les pointeurs de source et de destination pour un balayage vers le haut au travers de la mémoire sous forme de segments ou même de groupes de segments. Dans une telle situation, certaines des adresses inférieures peuvent être lues plus d'une fois et, en con- séquence, ces adresses sont soumises à plus de huit accès. En conséquence, on peut se rendre compte que l'exécution d'instructions de test de mémoire à la propre vitesse d'horloge de l'unité UUT, et l'utilisation de par- ticularités de mouvement et de comparaison de blocs de microprocesseurs récents augmentent sensiblement la vi- tesse à laquelle des mémoires d'unités à microprocesseurs peuvent être testées, bien qu'un nombre légèrement supé- rieur d'accès, par comparaison à l'algorithme de Jacobson de l'art antérieur, soit réalisé en chaque emplacement de mémoire. Egalement, du fait du nombre légèrement supérieur d'accès qui sont réalisés, la précision de détection d'erreurs est au moins aussi bonne, et peut-être meilleure, que celle obtenue avec l'algorithme de Jacobson. Bien-qu'on ait dézrit et représenté la réa- lisation préférée de l'invention et qu'on ait défini à titre d'illustration le meilleur mode de mise en oeuvre de cette invention, il apparaîtra auxspécialistes dece domaine que l'invention est susceptible d'autres réali- sations différentes et que ses divers détails sont sus- ceptibles de modifications à de nombreux aspects, tout cela sans sortir du cadre de l'invention. Par exemple, des algorithmes de tests demémoires ROM peuvent être programmés dans une mémoire de recouvrement ou UUT en vue de l'exécution de tests de mémoires ROM, ou même ils peuvent être utilisés dans des systmes basés sur des techniques d'émulation de mémoire. Dans le dernier cas, l'algorithme est chargé dans la mémoire exécutive, soumise à émulation, d'une unité UUT et il est exécuté par le processeur de l'unité UUT sous la commande d'un système de test. Une autre variante consisterait à utiliser un émulateur DMA (Accès Direct en Mémoire) comme l'inter- face de UUT à la place d'un émul.ateur de processeur. Puisque des dispositifs DMA sont capables, par définition, d'effectuer des transferts de blocs, l'utilisation d'algo- rithmes de tests de mémoires à orientation de blocs, comme décrit cidessus, permettrait d'obtenir le même niveau d'amélioration de vitesse que celui obtenu avec les réalisations préférées décrites ci-dessus. REVENDICATIONS 1.- Méthode de contrôle, ou test, fonctionnel d'une mé- moire comportant une pluralité de cellules adressables, comprenant les étapes consistant à: (a) écrire une séquence pseudo-aléatoire de bits dans un nombre prédéterminé de cellules de mémoire adressées consécutivement de façon à créer un bloc de référence; (b) reproduire ledit bloc de référence par lec- ture itérative de ladite séquence pseudo-aléatoire de bits et écrire lesdits bits dans des blocs successifs suivants dclans une première direction jusqu'à ce que toutes les cellules de la mémoire soient édrites; (c) complémenter les contenus dudit bloc de ré- férence; (d) reproduire à nouveau ledit bloc de référence par lecture itérative de bits complémentés et écrire les- dits bits complémentés dans des blocs successifs suivants dans ladite première direction jusqu'à ce que toutes les cellules de la mémoire soient écrites; (e) lire séquentiellerient chaque cellule dans une seconde direction opposée à ladite première direction, complémenter la donnée se trouvant dans celle-ci et ré- écrire ladite donnée complémentée dans ladite cellule; (f) lire à nouveau chaque cellule dans ladite première direction et comparer ladite donnée complémentée avec ladite séquence pseudo-aléatoire de bits pour détec- ter des différences, et, en réponse, (g) identifier des erreurs en mémoire. 2.- Méthode selon- la revendication 1, Caractérisée en ce qu'elle comprend en outre l'étape consistant à comparer une donnée lue dans chaque cellule dans l'étape (e) avec une valeur attendue afin de détecter des différences et, en réponse, identifier des erreurs en mémoire. 3-Méthode selon la revendicetion 1, caractérisée en ce que le nombre de cellules de mémoire dans le- dit bloc de référence est en relation avec des puissances mathématiques de deux. 4. Mthode selon la revendication 1, caractérisée en ce que la reproduction effectuée dans les étapes (b) et (d) est réalisée en coopération avec un premier pointeur indiquant la cellule en train d'être lue et un second pointeur indiquant une cellule en train d'être écrite. 5. - Méthode selon la revendication 4, caractérisée en ce que lesdits premier et second pointeurs sont commandés par des instructions de déplacement de blocs provenant d'un processeur associé. 6. _ Méthode selon la revendication 1, caractérisée en ce que ladite première direction est orientée d'une adresse inférieure à une adresse supérieure, et ladite seconde direction est orientée de ladite adresse supérieure à ladite adresse inférieure. /.- Méthode de contr8le, ou test, fonctionnel d'une mémoire soumise à un test et reliée à une structure de bus dans une unité à microprocesseur, qui comprend également un circuit d'horloge pour produire des signaux de synchro- nisation, caractérisée en ce qu'elle comprend les étapes consistant à: relier un système de test à ladite structure de bus, le microprocesseur dudit système de test et une mémoire dudit système de test contenant un ensemble d'ins- tructions de test; - appliquer lesdits signaux de synchronisation provenant dudit circuit d'horloge audit microprocesseur du système de test; - transférer électriquement ledit ensemble d'instructions de test dans une partie prédéterminée de ia mémoire soumise au test; et - exécuter lesdites instructions de test sous la commande dudit microprocesseur du système de test en réponse auxdits signaux de synchronisation, et en ce que ledit système de test reste effectivement relié en permanence avec ladite structure de bus pendant l'exécution desdites instructions de test. 8.- Méthode selon la revendication 7, Caracterise en ce que ladite étape de transfert électrique dudit en- semble d'instructions est effectuée par une technique de recouvrement de mémoire. 9 - Méthode selon la revendication 7, caractérisée en ce que ledit microprocesseur du système de test utilise des instructions de déplacement de blocs pour l'exécution desdites instructions de test. 1- Méthode selon la revendication 7, caractérise en ce que lesdites instructions de test consistent à écrire une séquence pseudo-aléatoire de bits dans un segment fractionnel de ladite mémoire soumise au test de façon à créer un bloc de référence de cellules de mémoire, et ensuite à reproduire ledit bloc de référence dans une par- tie restante de ladite mémoire soumise au test. i1-_ Méthode de test fonctionnel d'une mémoire comportant une pluralité de cellules adressables dans une gamme allant d'une adresse inférieure à une adresse supé- rieure, caractérisé en ce qu'elle comprend les étapes con- sistant à: (a) écrire une séquence pseudo-aléatoire de bits dans ladite pluralité de cellules adressables en écrivant d'abord ladite séquence pseudo-aléatoire de bits dans un bloc de référence de cellules commençant à l'adresse infé- rieure et en reproduisant ledit bloc de référence dans ladite gamme jusqu'à l'adresse supérieure; (b) - complémenter tous les bits dans ladite pluralité de cellules adressables en effectuant d'abord une complémen- tation des bits se trouvant dans ledit bloc de référence et en reproduisant ledit bloc de référence dans ladite gamme jusqu'à ladite adresse supérieure; (c) lire séquentiellement chaque cellule de la gqume depuis l'adresse supérieure jusqu'à l'adresse inférieure et effectuer la complémentation du bit se trouvant- dans chaque cellule une seconde fois pour réta- blir un état logique écrit en premier lieu dans l'étape (a); et (d) lire séquentielleminent chaque cellule de la gamme depuis l'adresse inférieure jusqu'à l'adresse supérieure et comparer le second bit complémenté dans chaque cellule avec ladite séquence pseudo-aléatoire de bits afin de détecter une différence entre eux. 12._ Méthode selon la revendication 11, caractérisée en ce qu'elle comprend en outre l'étape consistant à indiquer des erreurs en mémoire en réponse à des dif- férences détectées. 13. - Méthode selon la revendication 11, caractérisée en ce qu'elle comprend en outre l'étape consistant à comparer le bit lu dans chaque cellule dans l'étape (c) avec une valeur attendue afin de détecter les différences et, en réponse, à identifier des erreurs en mémoire. 14.-_ Méthode selon la revendication 11, caractéri- en ce que ladite reproduction effectuée dans les étapes (a) et (b) est commandée par un microprocesseur ayant des capacités de déplacement de blocs. 15. Système pour tester fonctionnellement une mémoire soumise à un test, dans lequel la mémoire soumise au test est reliée à une structure de bus dans -) une unité à microprocesseur qui comporte également une horloge produisant des signaux de synchronisation à une vitesse prédéterminée, caractérisé en ce qu'il comprend: - un microprocesseur du système de test relié à ladite structure de bus pour communiquer avec ladite mémoire soumise au test; - une mémoire du système de test associée au- dit microprocesseur du système lde test et reliée à celui- ci, ladite mémoire du système de test contenant un en- semble d'instructions de test; - des moyens pour transférer électriquement ledit ensemble d'instructions de test dans une partie de ladite mémoire soumise au test; et - des moyens pour appliquer lesdits signaux de synchronisation audit microprocesseur du système de test pour faire en sorte que ledit ensemble d'instructions de test soit exécuté à ladite vitesse prédéterminée, et en ce que ledit microprocesseur du système de test reste en communication directe avec ladite mémoire sou- mise au test pendant que les instructions de test dudit ensemble sont exécutées. L6. Système selon la revendication 15, caracté- risé en ce que ledit microprocesseur du système de test est du même type que celui de l'unité à microprocesseur. 17. Système selon la revendication 15, caracté- risé en ce que lesdits moyens pour transférer électrique- ment ledit ensemble d'instructions de test dans une partie de ladite mémoire soumise au test comprennent des moyens pour recouvrir une partie de ladite mémoire soumise au test avec une partie de ladite mémoire du système de test. 18. Système selon la revendication 15, caracté- risé en ce que ledit microprocesseur utilise des capacités - de déplacement et de comparaison de blocs lors du test de ladite mémoire soumise au test. 19. Système selon la revendication 15, caracté- -risé en ce que ledit ensemble d'instructions de test comprend un algorithme qui écrit une séquence pseudo- aléatoire de bits dans un bloc de référence de cellules adressables de ladite mémoire soumise au test et reproduit ledit bloc de référence à itération dans des cellules adressables restantes de façon à établir une base ou test pour des erreurs en mémoire. 20. Système de test pour tester fonctionnelle- ment une mémoire soumise au test et comportant une plu- ralité de cellules adressables dlans une gamme allant d'une adresse inférieure à une adresse supérieure, carac- térisé en ce qu'il comprend: - des moyens pour écrire une séquence pseudo- aléatoire de bits-dans ladite pluralité de cellules adressables en écrivant d'abord ladite séquence pseudo- aléatoire de bits dans un bloc de référence de cellules commençant à l'adresse inférieure et en reproduisant par itération ledit bloc de référence dans ladite gamme jusqu'à l'adresse supérieure; - des moyens pour compiémenter tous les bits de ladite pluralité de cellules adressables en complé- mentant d'abord les bits se trouvant dans ledit bloc de référence et en reproduisant par itération ledit bloc de référence dans ladite gamme jusqu'à l'adresse supérieure; - des moyens pour lire séquentiellement chaque cellule dans la gamme depuis l'adresse supérieure jusqu'à l'adresse inférieure et pour complémenter le bit de chaque cellule une seconde fois; - des moyens pour lire séquentiellement chaque cellule dans la gamme depuis l'adresse inférieure jusqu'à l'adresse supérieure et comparer le second bit complémenté de chaque cellule avec ladite séquence pseudo-aléatoire de bits afin de détecter des différences entre eux; et des moyens répondant auxdites différences pour indiquer des erreurs en mémoire.