FR 2627594 A1 19890825 FR 8902016 A 19890216 La présente invention concerne d'une façon générale le contrôle et le dépannage de systèmes élec- troniques à base de microprocesseurs et en particulier le contrôle et le dépannage de systèmes à base de micro- processeurs utilisant des techniques d'émulation de mémoire. Du fait de l'augmentation de la complexité des systèmes à base de microprocesseurs qui sont présen- tement incorporés dans une grande diversité de produits pour consommateurs et industriels, une automatisation des processus de contrôle et de dépannage est devenue virtuellement une nécessité. Un certain nombre de techni- ques de contrôle ou tests comme une analyse de signature, une détection de niveau logique, un comptage de fréquence et d'événement, un contrôl61e à effet d'émulation, sont bien connues et ont été utilisées depuis de nombreuses années. En particulier, des appareils de contrôle à effet d'émulation, qui sont ainsi appelés du fait qu'ils améliorent par émulation le comportement de dispositifs en relation avec le noyau, sont avantageux pour effectuer un contrôle fonctionnel et une isolation de défauts dans des plaquettes ou systèmes à base de microproces- seurs du fait qu'en premier lieu ils contrôlent le sys- tème de l'intérieur et qu'en second lieu ils permettent de tester un système dans lequel le noyau est mort. Un tel appareil de test par émulation est un émulateur de microprocesseur décrit dans le brevet U.S. No. 4 455 654 délivré à K.S. Bhaskar et al. et affecté à John Fluke Mfg. Co., Inc. Ici, un système de test, qui est lui-même un système à base de micropro- cesseur, est connecté à la place d'un microprocesseur dans une unité soumise au test (UUT). Le système de test de Bhaskar et al. opère dans un mode d'accès par bus selon lequel des cycles individuels d'accès par bus sont produits et réalisés avant de passer à un autre. Ainsi, pour un cycle d'autobus, le microprocesseur du système de test est mis en communication de signaux avec le bus de UUT afin d'effectuer une opération de lecture ou d'écriture. Ensuite, le microprocesseur du système de test est commuté sur le circuit interne du système de test de façon à produire un autre ordre de lecture ou d'écriture avec une nouvelle adresse ou bien de traiter une information lue dans la mémoire de l'unité UUT. La commutation de bus nécessaire pour produire des cycles individuels d'accès par bus est devenue une limitation des dispositifs d'émulation de microprocesseurs tels que celui décrit par Bhashar et al., car les systèmes à base de microprocesseurs deviennent plus complexes et opèrent à des vitesses plus grandes. Des commutateurs de bus appropriés pour des unités UUT à base de microproces- seurs, par exemple pour des systèmes 80386, ne sont pas simples et sont d'une conception difficile. En consé- quence, il serait souhaitable de disposer d'un procédé différent par lequel un système de test puisse être relié au noyau d'une unité UUT der manière à effectuer des processus de tests de diagnostics. Un autre type de contrôle par émulation qui a été pris en considération est l'émulation d'une mémoire ROM (Mémoire Morte) du fait que des mémoires ROM sont en communication directe avec le bus du système UUT et également du fait que les configurations de fiches des mémoires ROM sont relativement simples, de sorte que des connecteurs d'interfaces sont faciles à concevoir. Historiquement, des dispositifs d'émulation de mémoire ROM ont été utilisés pour la réalisation de logiciels ou bien pour vérifier qu'une partie matérielle fonctionne correctement. Des dispositifs d'émulation de mémoire ROM n'ont historiquement pas été utilisés pour un dépan- nage ou une détection de défauts du fait qu'aucun signal de synchronisation n'est disponible pour synchroniser l'équipement de contrôle avec les résultats de contrôle et du fait qu'en outre un équipement de contrôle ne pourrait pas extraire directement une information de contrôle de la prise de la mémoire ROM de l'unité UUT. Une solution partielle à ce problème est décrite dans le brevet U.S. No. 4 691 316, o un dispositif d'émula- tion de mémoire ROM est relié à une borne d'entrée/sortie de ROM d'une unité UUT et o les résultats du test de diagnostic sont lus dans le bus d'adressage de UUT sous la forme d'informations d'adresses codées, qui sont ensuite décodées et mémorisées dans le dispositif d'ému- lation de ROM. Cependant il est à noter que ce système ne permet pas un diagnostic complet des défauts existant dans un noyau d'unité UUT et qu'il est minuté à ce qui peut être communiqué par un bus d'adressage. En outre, la tendance se manifestant dans des systèmes à microprocesseurs consiste dans une augmentation de la proportion de mémoires vives et en une réduction de la proportion de mémoires mortes. On peut concevoir que finalement les mémoires mortes ROM soient éliminées de sorte que l'utilisation de dispositifs d'émulation de mémoires ROM serait supprimée. Conformément à la présente invention, un procédé et un système pour tester et dépanner des systè- mes électroniques à base de microprocesseurs utilisent des techniques d'émulation de mémoire en addition à d'autres techniques de dépannage pour réaliser des tests complets de fonctionnalité et une localisation des dé- fauts. Le système de test comprend un poste principal à base de microprocesseur et un bloc d'interface compre- nant également un système à base de microprocesseur qui est relié à la fois au microprocesseur et à l'espace de mémoire d'une unité soumise au test (UUT). Le bloc d'interface comprend un circuit logique spécial qui est relié au microprocesseur de UUT afin de produire une impulsion de synchronisation et résolution précise pendant un cycle de bus intéressant de façon à assurer une isolation des défauts et un dépannage complet, qui soient aussi efficaces que ceux obtenus par le procédé connu d'émulation de microprocesseur. Le bloc d'interface assure la commande du microprocesseur de UUT, qui exécute alors des instructions fournies par une mémoire RAM O10 d'émulation qui est reliée à l'espace de mémoire de l'unité UUT. Un analyseur à mémoire RAM contrôle les connexions de la mémoire de UUT sur une base-cycle-de- bus-par-cycle-de-bus et il indique s'il se produit des défauts et dans quel cycle de bus. Le système global permet d'effectuer plusieurs opérations de test, notam- ment en utilisant les lignes d'adresse de la mémoire de UUT pour extraire des données de diagnostic, l'utili- sation de la ligne de sélection de bus de UUT pour coder une donnée qui est extraite et analysée, une utilisation de l'analyseur à RAM pour faciliter une technique de test de bus de UUT qui permet une isolation complète des défauts, ainsi qu'un système de vérifications et d'adaptations pour faire en sorte que l'accès à un bus se produise correctement et que l'unité UUT soit mainte- nue en action pendant qu'une donnée est en train d'être analysée. Egalement, l'analyseirà RAM facilite une tech- nique de correction en pipeline pour faire en sorte que des microprocesseurs de UUT ayant des propriétés d'opératiorr en pipeline ou de pré-extraction fonctionnent correctement. En conséquence, un objet de la présente inven- tion est de créer un procédé et un système pour tester et dépanner des systèmes électroniques à base de micro- processeurs par utilisation de techniques d'émulation de mémoire. Un autre objet de la présente invention est de créer un système de test pour des systèmes à base de microprocesseurs, qui ne soit pas entravé par la limitation des circuits de commutation de bus. Un autre objet de la présente invention est de produire une impulsion de synchronisation pour une isolation complète d'un défaut, qui soit aussi effi- cace que celle obtenue par émulation de microprocesseur. Encore un autre objet de la présente invention est de créer un système de test pour des systèmes à base de microprocesseurs opérant par émulation de mémoire et dans lequel ladite mémoire peut être une mémoire ROM ou une mémoire RAM ou bien une combinaison des deux. D'autres caractéristiques et avantages de la présente 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 les- quels: la Figure 1 est un schéma à blocs généralisé d'un système de test conforme à la présente invention; la Figure 2 est un schéma à blocs plus détail- lé de la connexion d'émulation de RAM intervenant dans le bloc d'interface de la Figure 1; la Figure 3 est un schéma à blocs plus détail- lé du circuit logique du bloc d'interface de la Figure 1 et de sa connexion avec le microprocesseur de UUT;et la Figure 4 est un organigramme d'un programme d'exécution d'octet de commande comprenant une boucle de réserve. En référence à la Figure 1, qui représente un schéma à blocs généralisé d'un système de test servant au test fonctionnel et au diagnostic de défauts existant dans des systèmes à base de microprocesseurs, ou dans des unités soumises au test (UUT), le système conforme à la présente invention comprend un poste principal 10 2627594. relié électriquement à un bloc d'interface 12, qui est à son tour relié électriquement à une unité UUT 14 d'une manière qui sera décrite en détail dans la suite. Le poste principal 10 comprend, entre autres, un clavier à touches 20 et un dispositif d'affichage 22 relié électriquement à un ensemble 24 comportant des circuits de commande et de mesure. L'ensemble compor- tant les circuits de commande et de mesure comporte un système à base de microprocesseur et est couplé par l'intermédiaire d'un bus 26 avec un circuit d'entrée/ sortie (I/O) 28 pour communiquer avec le bloc d'inter- face 12. L'ensemble 24 de circuits de commande et de mesure est également relié par l'intermédiaire d'un câble 30 à une sonde 32, qui est représentée physiquement placée, à des fins de dépannage, à l'intérieur de l'unité UUT 14. En conséquence, le poste principal commande le test fonctionnel et le dépannage de l'unité UUT en réponse à des actions d'un opérateur, en envoyant des instructions et des ordres au bloc d'interface et en renvoyant les résultats à l'opérateur. Des exemples d'un équipement disponible dans le commerce et représen- tant un poste principal 10 constitué par les dépanneurs de système de la série 9000 et les systèmes de test numérique 9100 qui sont fabriqués par John Fluke Mfg. Co., Inc. Le bloc d'interface 12 comprend un système à base de microprocesseur qui est désigné par l'expres- sion "noyau de blocs" sur le dessin. Le noyau de blocs est formé d'un microprocesseur 40, d'une mémoire ROM 42, d'une mémoire RAM 44 et de bornesd'entrée/sortie 46, qui sont tous interconnectés par des bus de données, d'adresses et de commande. Le bloc d'interface 12 est relié au poste principal 10 par un câble à conducteurs multiples 50, qui est branché entre la borne entrée/ sortie 28 et les bornes entrée/sortie 46. Le noyau de blocs est relié par l'intermédiaire de ses bus de données, d'adresseset de commande à un circuit logique 60 ainsi qu'à une RAM d'analyse 62 et à une RAM d'émulation 64. La fonction de ces blocs sera décrite dans la suite. L'unité UUT 14 constitue un exemple de l'un quelconque d'une grande diversité de systèmes à base de microprocesseurs qui peuvent être testés en utilisant le système et les techniques de la présente invention et on ne décrira ici que la section centrale ou de coeur. Cette section centrale comprend un noyau de UUT qui est formé d'un microprocesseur 70 et d'une mémoire 72 interconnectés par un bus de données 74 et un bus d'adresses 76. Les bus de données et d'adresses de UUT 74 et 76 sont respectivement connectés à d'autres cir- cuits de UUT 78 qui n'interviendront pas dans cette description. Le bus d'adresses de UUT est connecté à un décodeur d'adresses 80 qui produit des signaux de sélection de bus dans une ligne de sélection de bus 82 reliée à la mémoire de UUT 72. Un câble à conduc- teurs multiples est connecté entre le circuit logique intervenant dans le bloc d'interface 12 et le micro- processeur de UUT 70 afin d'établir une communication entre eux. Un autre câble à conducteurs multiples- 92 est connecté entre la RAM d'émulation 64 et la mémoire de UUT 72. Il est à noter que la mémoire de UUT 72 est représentée par une ligne en trait interrompu pour mon- trer que la mémoire de UUT est soit invalidée, soit enlevée de sa prise. Le câble 92 peut par conséquent être soit enfiché directement dans la prise de la mémoire de UUT, soit retiré des fiches d'une mémoire de UUT invalidée. Cependant, le microprocesseur de UUT 70 reste dans le circuit et est utilisé pour l'excécution d'ins- tructions provenant de la RAM d'émulation 64. A cet égard, le microprocesseur de UUT 70 peut être d'un type complètement différent du microprocesseur du bloc d'in- terface. Par exemple, le microprocesseur du bloc d'inter- face 40 peut être de façon appropriée un microprocesseur 68008 tandis que le microprocesseur de UUT 70 peut être de façon appropriée un microprocesseur 80386. Egalement, la mémoire de UUT 72 peut être une mémoire RAM ou une mémoire ROM ou bien elle peut être une combinaison des deux. Par exemple, dans certains des systèmes à micropro- cesseurs récents, une seule mémoire est pourvue d'un espace de mémorisation de quelques octets du type ROM à l'extrémité supérieure de l'espace d'adressage et à des fins d'assistance tandis que la partie prédominante de l'espace de mémorisation est du type RAM. On va décrire dans la suite rapidement le fonctionnement du système représenté sur la Figure 1. Un opérateur amorce un test particulier en utilisant le clavier à touches 20 et le dispositif d'affichage 22, et l'ensemble 24 de circuits de commande et de mesure produit des instructions et des ordres qui sont transmis par l'intermédiaire de la borne d'entrée/sortie 28, du câble 50 et de la borne d'entrée/sortie 46 du bloc d'interface au noyau de blocs d'interface. Le micropro- cesseur de bloc 40 excite le circuit par l'intermédiaire du bloc d'interface 12 pour l'exécution du test désiré. Des instructions de diagnostic sont placées dans la RAM d'émulation 64 et une commande de retour à l'état initial est transmise par l'intermédiaire de la borne d'entrée/sortie 46 et du câble 90 à la commande de gain du microprocesseur 70, ce qui produit un retour à l'état initial de ce dernier, qui commence alors à exécuter les instructions contenues dans la RAM d'émulsion 64. La RAM d'analyse 62 contrôle les résultats de testsarri- vant par l'intermédiaire du câble 92 et elle transmet ces résultats au noyau de bloc d'interface qui transmet à son tour les informations au poste principal 10 par l'intermédiaire du câble 50. Le câble 90 capte les signaux de synchronisation provenant du microprocesseur 70 et les renvoie au circuit logique 60, qui produit à son tour une impulsion de synchronisation qui est renvoyée au poste principal 10 par l'intermédiaire du câble 50. Lorsque de défauts sont détectés, l'opérateur peut rapi- dement placer la sonde 32 sur un noeud particulier à l'intérieur de l'unité UUT 14 et l'impulsion de synchro- nisation extraite du microprocesseur de UUT 70 fait en sorte qu'une information lue par la sonde apparaisse à l'instant approprié, c'est-àdire à l'intérieur du cycle de bus intéressant. Un aspect important de la présente invention consiste dans l'utilisation de la ligne de sélection de puce 82 pour extraire une information utile à partir d'une opération de lecture effectuée sur une mémoire ROM de UUT dans l'espace de mémorisation 72. Dans ce pro- cessus de test, le microprocesseur de UUT 70 est ramené à l'état initial et il commence l'exécution d'instruc- tions présentées à l'espace de mémorisation 72 par la RAM d'émulation 64. Lorsque le microprocesseur de UUT a exécuté un certain nombre de sigles de bus, le décodeur d'adresses de UUT 80 décode la sélection de puce sous la forme d'une série de uns et de zéros. La RAM d'analyse 62 contrôle la fiche de sélection de puce qui se trouve dans la prise de la mémoire 72 et elle indique des défauts si un signal de sélection de puce se produisant pendant un cycle de bus particulier n'a pas le niveau logique attendu. De cette manière, des résultats de test peuvent être retransmis au bloc d'in- terface à partir d'une prise de ROM. La Figure 2 montre de façon plus détaillée l'interconnexion existant entre la RAM d'émulation 64 et la mémoire de UUT 72. En particulier, du fait que le câble 92 peut être assez long, on peut prévoir un module de mémorisation 100 pour conditionner les signaux en vue d'obtenir un fonctionnement correct. Evidemment, si le câble 92 est très court, alors le module de mémo- risation 100 n'est pas nécessaire. Il est prévu dans le module de mémorisation 100 des tampons 102 et 104 qui sont interposés dans les voies de transmission de signaux. L'extrémité du câble 92 peut comprendre un connecteur 110 destiné à être relié directement à une prise de mémoire de UUT et le module de mémorisation peut comprendre une prise 112 destinée à recevoir par enfichage la mémoire de UUT. Avec une telle configu- ration, un opérateur peut effectuer un choix entre des instructions provenant du bloc d'interface 12, c'est- à-dire provenant de la RAM d'émulation 64, ou bien prove- nant de la mémoire de UUT placée dans la prise 112. En correspondance, on peut prévoir un commutateur 114 pour enclencher le tampon de données 102 ou bien la prise de mémoire 112 tout en empêchant l'activation de l'autre. Dans des situations o la mémoire de UUT en train de subir une émulation est la mémoire ROM d'as- sistance, il peut exister, en fonction de la largeur du bus de UUT, plusieurs mémoires ROM d'assistance de UUT, qui nécessitent plusieurs connecteurs 110 et plu- sieurs modules de mémorisation 100. En pratique, la présente invention établit une souplesse suffisante pour s'adapter pratiquement à n'importe quelle configura- tion de mémoire de UUT. Une particularité importante de la présente invention consiste à prévoir deux groupes de RAM d'éffiula- tion qui sont représentés par les groupes de RAM d'émula- tion 64A et 64B. Pour faire en sorte que l'unité UUT reste active pendant un test fonctionnel, un groupe de RAM d'émulation est toujours présenté au microproces- seur de UUT 70 pendant le test. Avec cette particularité de fonctionnement de la présente invention, le noyau du bloc d'interface 12 peut charger des instructions dans l'un quelconque des groupes pendant que l'autre il est relié & l'espace de mémorisation de la mémoire de UUT et pendant que le microprocesseur de UUT 70 est en train d'exécuter des instructions provenant de l'autre groupe. A l'instant approprié, les groupes peuvent être commandés de manière que le microprocesseur de UUT 70 ne soit pas averti que les instructions en train d'être exécutées proviennent- de l'autre RAM d'émulation. Des signaux de sélection de groupe d'émulation sont produits par le circuit logique 60 et seront décrits en relation avec la Figure 3. Une donnée provenant des groupes de RAM d'émulation 64A et 64B est transmise par l'intermé- diaire d'un bus de données 120 et elle parvient par l'intermédiaire du tampon 102 à la prise de mémoire. Une information provenant de la prise de mémoire de UUT sous la forme de signaux d'entrée dans la mémoire de UUT est renvoyée par l'intermédiaire d'un bus 122 et par l'intermédiaire du tampon 104 au module de mémori- sation 100 pour parvenir dans le bloc d'interface 112 et, comme cela sera précisé dans la suite, ces signaux d'entrée de mémoire de UUT seront utilisés par la RAM d'analyse 62 et par le circuit logique 60. On a également représenté sur la Figure 2 un circuit logique de sélec- tion de type de ROM 126 qui est relié au bus d'entrée de mémoire de UUT 122 et qui, si la mémoire de UUT 72 est une mémoire ROM, produit un signal pour faire en sorte qu'une information de fiche correcte soit transmise au bloc d'interface 12. Ainsi, bien que les configura- tions de fiches JEDEC physiques puissent être les mêmes d'une mémoire ROM à une mémoire ROM, les connexions électriques peuvent être différentes (en d'autres emplace- ments) d'une mémoire ROM à une mémoire ROM. Le noyau de bloc signale au circuit logique 126 quel type de mémoire ROM doit faire l'objet d'une émulation. La Figure 3 représente de façon plus détaillée le circuit logique 60, la RAM d'analyse 62 et l'intercon- nexion du circuit logique 60 avec le microprocesseur de UUT 70. Un aspect important de la présente invention consiste dans la génération d'impulsions de synchronisa- tion et de résolution précise aux instants appropriés, comme mentionné cidessus. Cela est facilité par -le captage d'un de signaux d'entrée de synchronisation au microprocesseur de UUT 70. Par exemple, pour le micro- processeur 80386, HOLD, HLDA (Maintien de Connaissance), =S, RE=A-Y, CLK et RESET constituent des signaux d'en- trée de synchronisation appropriés. Des connexions peu- vent être établies par des "conducteurs volants" 140 à partir d'un module de synchronisation 150, qui est relié au câble 90. Le module de synchronisation 150 contient un tampon approprié d'entrée de synchronisation 152 pour conditionner les signaux afin d'obtenir un fonctionnement correct. Le câble 90 comporte également une ligne de commande de retour à l'état initial, qui est couplée avec l'entrée d'un amplificateur de commande de retour à l'état initial 154 intervenant dans le module de synchronisation 150. Le signal de sortie de l'ampli- ficateur de commande de retour à l'état initial 154 est un signal de commande de retour à l'état initial, qui est appliqué comme un signal prioritaire à la sortie de retour à l'état initial de système d'un générateur de retour à l'état initial de système 158 intervenant - dans.l'unité UUT 14 afin de commander le gain du micro- processeur de UUT 70. Des signaux du microprocesseur qui pourraient nuire à l'aptitude de production de si- gnaux de synchronisation, comme la ligne HOLD dans le microprocesseur 80386, peuvent être contrebalancés par des signaux de commande appropriés. A nouveau, d'une façon semblable dans la situation existant dans le module de mémorisation 100 de la Figure 2, le module de synchro- nisation 150 intervient dans le circuit à cause de la grande longueur du câble 92 et il peut être omis si l'interconnexion entre le circuit logique 60 et le micro- processeur de UUT est suffisamment courte. Le circuit logique 60 intervenant dans le bloc d'interface 12 comprend un contrôleur d'état de cycle de bus 200, un contrôl61eur d'état de génération d'impulsionsde synchronisation 202, un contrôleur d'état de synchronisation de bascule d'adressage 204,un contrô- leur d'état de génération d'adresse de RAM d'analyse 206 et un contrôleur d'état de sélection de groupe de RAM d'émulation 208, un comparateur d'adresses 210 et une bascule d'adressage 212. Tous ces dispositifs sont connectés de manière à émettre et recevoir des signaux d'entrée provenant du bus de commande de noyau de bloc d'interface. Ainsi, ils reçoivent leurs instructions de fonctionnement en provenance du microprocesseur 40 du noyau de bloc d'interface et de ses composants asso- ciés. Le contrôleur d'état decycle de bus 200 reçoit,comme un de ses signaux d'entrée, les signaux d'entrée de synchronisation qui sont captés en provenance du micro- processeur de UUT 70, et l'autre signal d'entrée, comme mentionné cidessus, est un signal de commande provenant du microprocesseur 40 du noyau de bloc d'interface. Le contrôleur d'état de cycle de bus 200 contrôle l'exé- cution d'opérations par le microprocesseur de UUT 70 et, quand le cycle de bus intéressé apparaît, ce qui est déterminé par le signal d'entrée de commande prove- nant du microprocesseur de bloc d'interface 40, il envoie des signaux de commande aux entrées de synchronisation des autres contrôleurs d'état 202208 intervenant dans le circuit logique 60. Le comparateur d'adresses 210 reçoit comme un de ses signaux d'entrée les signaux d'entrée provenant de la mémoire de UUT par l'intermédiaire du bus 122 de la Figure 2 ainsi qu'une adresse ou un groupe d'adresses qui est fourni par le microprocesseur de bloc d'inter- face 40. Lorsque le microprocesseur de UUT exécute les instructions fournies par la RAM d'émulation 64, le comparateur d'adresses contrôle les lignes d'adresses de mémoire de UUT qui sont alimentées par le bus 122 et, lorsque deux signaux d'entrée sont en correspondance, le comparateur d'adresses 210 est "activé" et envoie un signal aux contrôleurs d'état 204, 206 et 208. Puisqu'une génération d'impulsions de synchro- nisation pour un dépannage constitue un aspect important de la présente invention, un exemple montrant comment les impulsions de synchronisation sont engendrées sera utile pour la compréhension du principe de fonctionnement du circuit logique 60. Un critère important consiste en ce que l'impulsion de synchronisation soit engendrée pendant un cycle de bus intéressant. Le bloc d'interface 12 est en train de commander l'unité UUT 14 pour l'exécu- tion d'une opération de lecture ou d'écriture, cette opération de lecture ou d'écriture se composant d'un cycle de bus. Il est souhaitable, pour un dépannage, de produire une impulsion de synchronisation à l'instant pouvant être sélectionné pendant cette opération de lecture ou d'écriture, c'est-à-dire une impulsion de synchronisation d'adresse, une impulsion de synchronisa- tion de donnée ou toute autre impulsion de synchronisa- tion. L'opérateur enclenche le cycle de bus intéressant dans le poste principal 10, qui commande à son tour le microprocesseur 40 du bloc d'interface 12 de façon à produire une impulsion de synchronisation à l'instant approprié. Les signaux de commande du contrôleur d'état de cycle de bus. 200, du contrôleur d'état de synchroni- sation de bascule d'adressage 204 et du comparateur d'adresses 212 sont chargés avec les signaux de commande appropriés. Par exemple, s'il est souhaitable d'avoir une impulsion de synchronisation d'adresse, le minutage du signal de sortie du contrôleur d'état de génération d'impulsionsde synchronisation 202 est agencé de façon qu'une impulsion de synchronisation appropriée soit fournie au poste principal 10 à un moment o l'informa- tion d'adresse est valable dans le bus d'adresses de microprocesseur deUUT. De façon analogue, pour une impulsion de synchronisation de donnée, l'impulsion de synchronisation appropriée est fournie au poste prin- cipal quand une donnée est valable dans le bus de données de microprocesseur de UUT. Le contrôleur d'état de cycle de bus 200 produit un train d'impulsions en réponse au mode de synchronisation désiré, en réponse à une exécution d'opé- ration par le microprocesseur 70 et à une entrée de commande provenant du microprocesseur 40. Quand le micro- processeur 70 exécute une opération, il extrait d'une manière continue des instructions à partir de la RAM d'émulation 64 et les adresses desdites instructions sont vérifiées par le comparateur 212. Quand la dernière instruction extraite avant le cycle de bus intéressant se produit, le comparateur d'adresses 212 est "activé", en envoyant un signal de sortie au contrôleur d'état de synchronisation de bascule d'adressage 204, qui cor- respond simplement à un processus de synchronisation servant à synchroniser la sortie du comparateur avec les signaux de synchronisation du microprocesseur de UUT 70. Le signal de sortie synchronisé du contrôleur d'état 204 est appliqué au contrôleur d'état de généra- tion d'impulsions de synchronisation 202, qui commence à effectuer un comptage régressif d'un nombre préréglé de cycles de bus, déterminé par l'entrée de commande provenant du noyau de bloc d'interface, jusqu'à ce qu'il envoie une impulsion de synchronisation au poste princi- pal 10. Le signal de sortie du contrôleur d'état de synchronisation de bascule d'adressage 204 est égale- ment appliqué à la bascule d'adressage 212, qui contrôle le bus 122 d'entrées de mémoire de UUT et qui transmet les données reçues en provenance de celui-ci aux adresses appropriées. Pour extraire une donnée par l'intermédiaire des lignes d'adressages de ROM, par exemple quand l'unité UUT est commandée de façon à effectuer un cycle de lecture de bus, l'entrée à la bascule 212 peut être constituée de façon appropriée par les bits de poids inférieur d'un mot d'adresse tandis que les bits de poids supérieur sont appliqués au comparateur d'adresses 210. Le contrôleur d'état de sélection de groupe de RAM d'émulation 208 est simplement une bascule qui est validée par un signal de commande provenant du micro- processeur de bloc d'interface 40 afin de sélectionner le groupe de RAM d'émulation 64A ou le groupe de RAM d'émulation 64B à l'instant approprié, qui est établi par le comparateur d'adresses 210 et le contrôleur d'état de cycle de bus 200. Le contrôleur d'état de génération d'adresse de RAM d'analyse 206 reçoit des signaux d'entrée en provenance du contrôleur d'état de cycle de bus 200, du comparateur d'adresses 210 ainsi que des signaux d'entrée de commande provenant du microprocesseur de bloc d'interface 40 afin de produire des adresses pour la RAM d'analyse 62 aux instants appropriés. La RAM d'analyse 62 est utilisée pour tester l'intégrité de la structure de bus de UUT. Un test de bus constitue un processus impor- tant pour localiser des défauts dans le noyau de UUT, ces défauts pouvant produire un comportement incorrect du microprocesseur de UUT 70 ou bien un fonctionnement incorrect du bloc d'interface 12. Par exemple, il existe une coupure ou une ouverture dans une ligne d'adresse dans le noyau de UUT, le microprocesseur de UUT 70 n'est 2627594- plus capable d'extraire des instructions correctement de la RAM d'émulation (ou bien de sa propre mémoire). * Le test de bus constitue peut-être la première étape de contrôle d'une unité UUT inconnue, parce qu'il fait en sorte que l'unité UUT soit au moins dépannée et mise en fonctionnement avant le passage aux autres tests. S'il existe des erreurs fondamentales, elles sont alors notées. Dans le système de la présente invention, le poste principal 10 initialise le test de bus, en commandant le bloc d'interface 12 de manière à charger le programme de test de bus dans la RAM d'émulation 64. Le microprocesseur de bloc d'interface 40 enclenche alors la RAM d'analyse 62 pour la synchronisation d'une séquence de cycles de bus dans la mémoire RAM 62, et il enclenche également le contrôleur d'état de génération d'impulsions de synchronisation 202 afin que des impul- sions de synchronisation soient produites à des instants appropriés pour dépanner un noyau défectueux si cela est nécessaire. Le microprocesseur de bloc d'interface confirme le retour à l'état initial du microprocesseur de UUT 70, qui commence alors à exécuter des instructionqs fournies par la RAM d'émulation 64. La séquence de cycles de bus de UUT est synchronisée dans la mémoire RAM 62 et, quand la séquence se termine le microprocesseur évalue l'information mémorisée dans RAM 62 afin de déterminer s'il existe des défauts de bus et, dans l'af- firmative, quelles lignes sont défectueuses et dans quel état ou cycle de bus ils se sont produits. L'opéra- teur peut alors localiser le défaut particulier en utili- sant la sonde 32 en coopération avec des impulsions de synchronisation produites par le contrôleur d'état de génération d'impulsions de synchronisation 202. Comme moyen additionnel de dépannage, l'opé- rateur peut spécifier la donnée à appliquer au bus de données pendant le premier cycle de bus après le retour à l'état initial de l'unité UUT. Par mesure d'une ligne de donnée définie pendant le premier cycle de bus après un retour à l'état initial, l'opérateur peut directement confirmer ou préciser que le trajet de donnée est valable et opère correctement entre la prise de mémoire 72 et le microprocesseur de UUT 70. Cette technique de mesure est nécessaire pour séparer des problèmes concernant directement un bus de données par rapport à des symptômes concernant un bus de données et qui sont indirectement causés par d'autres défauts de UUT. La RAM d'analyse 62 est un dispositif à double borne qui permet au microprocesseur de bloc d'interface de lire des données provenant de RAM 62 et également d'écrire des données dans celle-ci. On obtient par conséquent un dispositif de dépannage très souple. En fait, un tel système permet un dépannage de microproces- seurs ayant des propriétés de fonctionnement en "pipeline" ou de préextraction. Les microprocesseurs récents ayant la propriété de fonctionner en pipeline ex- traient un certain nombre d'instructions et les mémorisent par l'intermédiaire d'un pipeline dans le processeur, puis ils commencent à les exécuter, mais non-obligatoi- rement séquentiellement. Le système de test de la présente invention peut déterminer lorsqu'une opération en pipeline se produit et lorsqu'interviennent différents autres fac- teurs qui se produisent dans l'unité UUT, comme des nombres différents d'états d'attente" dans un cycle de bus, qui modifient la séquence d'extraction d'instruc- tions à partir de la RAM d'émulation 64. Ainsi, il est souhaité que le système de test comprenne quelles diffi- cultés se produisent en résultat de défauts ou bien si elles sont simplement fonction des caractéristiques d'opération en pipeline du microprocesseur particulier. Et s'il se produit une opération en pipeline, il est souhaitable que cette opération en pipeline n'interfère pas l'aptitude du système de test à diagnostiquer des défauts dans le noyau de UUT. En conséquence, la RAM d'analyse 62 mémorise des adresses et des résultats de tests. Un programme incorporé dans le noyau du bloc d'interface analyse cette information en comparaison avec des possibilités attendues et, s'il existe un problème, l'opérateur est averti par l'intermédiaire du poste principal 10 et des processus appropriés de dépannage utilisant la sonde 32 sont établis. Ainsi, un processus en pipeline est reconnu et analysé par le système de test de la présente invention et le passage/l'absence d'une information est transmis au poste principal 10. A titre d'exemple et pour comprendre complè- tement le fonctionnement du système de test de la présen- te invention, on va décrire une opération de dépannage hypothétique. On va supposer dans cet exemple qu'il est souhaite de commander le microprocesseur de UUT pour exécuter un cycle de "lecture" à une adresse sélec- tionnée par un opérateur utilisant l'équipement de test et de faire en sorte que les résultats soient renvoyés au poste principal de dépannage et affichés par celui- ci. Le système de test est agencé de façon approprié de telle sorte que le bloc d'interface 12 soit relié au poste principal 10 et qu'il soit également relié à l'unité UUT 14. L'opérateur appuie sur une touche READ sur le poste principal 10, les touches correspondant à l'a- dresse désirée, par exemple 0000, et il appuie sur une touche ENTER (Entrée). Le poste principal 10 commande alors le bloc d'interface 12 pour l'exécution d'une opération de lecture à l'adresse 0000. Le microprocesseur de bloc d'interface 40 accepte l'ordre et enclenche une séquence d'opérations. En premier lieu, le micro- processeur 40 examine un indicateur d'état dans la RAM de bloc d'interface 44 afin de déterminer s'il a la commande de l'unité UUT, et il détermine rapidement qu'il n'a pas la commande du fait que la RAM d'émulation 64 ne contient pas un programme. En correspondance, un code "lecture/écriture" enregistré dans le langage- machine pour le microprocesseur de UUT cible 70 est chargé de la RAM 44 ou de la ROM 42 du noyau de bloc d'interface dans les deux groupes de RAM d'émulation 64A et 64B. Ensuite, le microprocesseur de bloc d'interface assure l'activation de la ligne de retour à l'état ini- tial du microprocesseur de UUT 70 par application d'un signal de commande de retour à l'état initial par l'inter- médiaire de la borne entrée/sortie 46 du bloc d'interface, du câble 90 et du tampon 154 du module de synchronisation afin de contrebalancer le signal de sortie du généra- teur de sortie du générateur de retour & l'état initial de UUT 158. En même temps, le comparateur d'adresses 210 est enclenché pour contrôler une "région de communica- tion" prédéterminée de l'espace d'adressage dans la RAM d'émulation 64. Ensuite, la ligne de retour à l'état initial du microprocesseur de UUT 70 est désactivée. Il est à noter que la région de communication est cons- tituée, dans une réalisation commerciale proposée, par un espace de 128 octets et qu'ainsi sept lignes d'adres- sage sont utilisées pour accéder à cet espace. Aussitôt que la ligne de retour à l'état initial est désactivée, le microprocesseur de UUT 70 commence à extraire des instructions ostensiblement à partir de sa propre mémoire ROM d'assistance, mais en réalité à partir de la RAM d'émulation 64 apparemment engagée dans la prise de la mémoire de UUT 72. Ces pre- mières instructions servent à initialiser le noyau de UUT pour un test, puis à accéder à une adresse de réfé- rence de retour à l'état initial prédésignée à l'inté- rieur de la région de communication de la RAM d'émulation 64. Aussitôt que cela se produit, l'adresse est reconnue par le comparateur d'adresses 210, le comparateur d'a- dresses 210 est activé et il fait en sorte que la bascule d'adressage 212 transmette dans ce cas les sept bits de poids inférieur de l'adresse afin de déterminer ce qui est en train d'être communiqué. Cette information est transmise par le bus de données du noyau de bloc d'interface afin de modifier au microprocesseur corres- pondant 40 si le microprocesseur de UUT 70 a ou non été ramené à l'état initial. En conséquence, le logiciel du bloc d'interface peut utiliser des bits d'adresse pour déterminer l'état du microprocesseur de UUT 70 ainsi que la donnée qui est en train d'être renvoyée à partir d'une opération de lecture. Après que le microprocesseur 70 a été initia- lisé, il assure d'abord l'extraction d'une instruction à partir d'une adresse de la RAM d'émulation 64 dans laquelle un octet d'ordre a été chargé et il lit l'octet d'ordre de manière à déterminer la fonction qu'il doit effectuer, par exemple une lecture, une écriture ou un état. Lorsque l'Octet d'Ordre = 0, une boucle de réserve est établie de telle sorte que le microprocesseur de UUT 70 lise l'octet d'ordre et, s'il est égal à zéro, il attend simplement jusqu'à la nouvelle extraction et il effectue à nouveau la lecture de l'octet d'ordre. Cette boucle de réserve est maintenue jusqu'à ce que l'octet d'ordre change et à ce moment le microprocesseur de UUT 70 exécute un ordre basé sur la valeur des bits de poids inférieur de l'octet d'ordre. Cf. Fig. 4. Dans la présente invention, la commande du microprocesseur de UUT 70 est facilitée par l'utilisation de deux groupes de RAM d'émulation 64. Par exemple, l'instruction "Octet d'Ordre = 0" peut être chargée dans le groupe A à l'adresse "Octet d'Ordre" tandis que l'instruction "Octet d'Ordre = 1" peut être chargée à la même adresse dans le groupe B, toutes les autres adresses étant chargées de façon identique dans les deux groupes. Ensuite, à l'instant approprié, comme décrit dans la suite, les groupes de RAM sont commandés de telle sorte que, lors de l'extraction suivante de l'octet d'ordre, le microprocesseur 70 lise "Octet d'Ordre = 1" et puisse alors commencer à exécuter l'ordre désiré. Avant que le microprocesseur de UUT 70 commen- ce réellement à exécuter l'ordre prédéterminé, il est cependant souhaitable de s'assurer que le bloc d'interfa- ce 12 a la commande complète de l'unité UUT et que le noyau de UUT est prêt à répondre à des ordres provenant du microprocesseur de bloc d'interface 40. En conséquence, aussitôt que le microprocesseur de UUT 70 a été ramené à l'état initial et aussitôt que le microprocesseur de bloc d'interface 40 a lu cette information en prove- nance de la bascule d'adressage 212, le comaprateur d'adresses 210 est chargé pour contrôler l'adresse de l'octet d'ordre. Aussitôt que le microprocesseur de UUT 70 lit l'adresse d'octet d'ordre dans la RAM d'émula- tion 64, le comparateur d'adresses 210 est activé, en transférant les bits de poids faible de l'adresse d'octet d'ordre dans la bascule d'adressage 212. Maintenant le bloc d'interface 12 sait que le microprocesseur de UUT 70 a été initialisé et il attend la réception d'un ordre par l'intermédiaire de l'octet d'ordre. Ensuite, le comparateur d'adresse 210 peut être chargé de manière à contrôler la région de communication de 128 octets de la RAM d'émulation 64 pour s'assurer que le micropro- cesseur de UUT 70 n'est pas en train d'accéder à l'une quelconque desdites adresses. Le programme chargé dans la RAM d'émulation 64 comprend une instruction qui fait en sorte que le microprocesseur de UUT 70 accède à des adresses prédésignées à l'intérieur de la région de communication de 128 octets de la RAM d'émulation 64 s'il se produit une interruption ou une autre erreur. En conséquence, si le comparateur d'adresses 210 est activé pendant ce test, cela signifie qu'une erreur s'est produite. A ce moment, la commande de l'unité UUT est signifiée par enclenchement d'un indicateur dans la RAM 44 du noyau de bloc d'interface. Le processus décrit ci-dessus peut être mis en oeuvre dans une sousroutine qui peut être appelée soit au démarrage soit à un moment o le bloc d'interface 12 perd la commande de l'unité UUT 14. Une fois que la commande de l'unité UUT 14 par le bloc d'interface 12 a été établie, un nouvel octet d'ordre est chargé dans la RAM d'émulation 64. Cette information est chargée dans le groupe de RAM qui ne fait pas présentement l'objet d'un accès par le microprocesseur de UUT 70 du fait que, jusqu'à ce que tous les circuits du bloc d'interface 12 soient activés, il est souhaité de maintenir le microprocesseur de UUT 70 dans la boucle de réserve. Egalement, le contrôleur d'état de cycle de bus 200, le contrôleur d'état de génération d'impul- sions de synchronisation 202, le contrôleur d'état de synchronisation de bascule d'adressage 204 et le compara- teur d'adresses 210 sont activés de façon à produire une impulsion de synchronisation pendant le cycle de bus correspondant, comme décrit cidessus, de telle sorte qu'un signal d'impulsions de synchronisation soit envoyé au poste principal 10. Lorsque tout est prêt, les groupes de RAM d'émulation sont commandés par le contrôleur d'état de sélection de groupe RAM 208 de telle sorte que, lors de l'extraction suivante de l'octet d'ordre, le micropro- cesseur de UUT 70 soit averti que l'octet d'ordre a changé et puisse en correspondance commencer à exécuter l'ordre de lecture en passant à une routine qui a été précédemment chargée dans le groupe de RAM d'émulation 64 approprié. Quand la dernière adresse de la routine est lue, le comparateur d'adresses 210 est activé et excite les circuits de génération d'impulsions de synchr- nisation. Entre temps, le microprocesseur de UUT 70 a mémorisé la donnée qui a été lue dans des registres situés à l'intérieur de l'unité UUT 14 puis il revient à la boucle de réserve pendant que les circuits de géné- ration d'impulsions de synchronisation produisent une impulsion de synchronisation et terminent leur cycle. Pendant que le microprocesseur de UUT 70 est en train d'opérer dans la boucle de réserve, le groupe de RAM d'émulation qui est libre est chargé avec un Octet d'Ordre d'"Emission" à l'adresse de l'Octet d'Ordre. Le comparateur d'adresses 210 est chargé de façon à contrôleur la région de communication de la RAM d'émulation à des adresses correspondant aux données lues attendues. Les groupes de RAM d'émulation sont à nouveau commandés et le microprocesseur de UUT 70 reçoit l'Octet d'Ordre d'"Emission" et il passe à la routine d'émission. Lorsque l'adresse en train d'être contrôlée par le compa- rateur d'adresses 210 fait l'objet d'un accès par le microprocesseur de UUT 70, le comparateur est activé et il fait en sorte que la bascule d'adressage 212 trans- mette les bits de poids faible de l'adresse de RAM d'ému- lation. Le microprocesseur de bloc d'interface 40 lit l'information mémorisée dans la bascule d'adresse page 12 et ensuite le microprocesseur de UUT 70 revient à sa boucle de réserve. Ce processus peut être répété autant de fois que ce qui est nécessaire pour extraire toutes les données. Quand toutes les données ont été assemblées à partir d'un ordre de lecture particulier, elles sont renvoyées au poste principal 10. Bien entendu, la présente invention n'est nul- lement limitée aux modes de réalisation décrit et repré- sentés; elle est susceptible de nombreuses variantes accessibles à l'homme de l'art, suivant les applica- tions envisagées et sans que l'on ne s'écarte de l'esprit de l'invention. REVENDICATIONS 1. Procédé pour tester un dispositif du type comportant un microprocesseur et une mémoire intercon- nectés par des bus de données et d'adresses, comprenant les étapes consistant à: - substituer une mémoire d'émulation à la place de ladite mémoire de dispositif; - placer des instructions dans ledit moyen d'émulation de mémoire et faire en sorte que ledit micro- processeur exécute lesdites instructions; - évaluer les réponses auxdites instructions en provenance dudit microprocesseur et détecter des défauts; et - produire des impulsions de synchronisation à des instants sélectionnés pendant des cycles de bus prédéterminés à mesure que ledit microprocesseur exécute lesdites instructions. 2. Procédé selon la revendication 1, caractérisé en ce que ledit dispositif comprend en outre un décodeur d'adresses relié audit bus d'adresses et une ligne de sélection de puce connectée entre ledit décodeur d'adres- ses et ladite mémoire, procédé comprenant en outre l'éta- pe de décodage d'adresses faisant l'objet d'un accès par ledit microprocesseur pour produire des résultats de test dans ladite ligne de sélection de puce. 3. Procédé selon la revendication 1, caractérisé en ce que ladite étape d'évaluation de réponses consiste à mémoriser une séquence de cycles de bus provenant dudit dispositif et à évaluer chaque cycle de bus pour déterminer des défauts. 4. Procédé selon la revendication 3, caractérisé en ce que ladite étape d'évaluation de réponses consiste en outre à comparer des adresses faisant l'objet d'un accès par ledit microprocesseur avec des adresses prédé- terminées, et à comparer les résultats de test avec une série de réponses prédéterminées de telle sorte que, s'il s'est produit un pipeline d'extractions, une déficience des deux comparaisons indique un défaut. 5. Procédé pour tester un dispositif du type comportant un microprocesseur et une mémoire ROM qui sont interconnectés par des buses de données et d'adres- ses, ledit dispositif comprenant en outre un décodeur d'adresses relié audit bus d'adresses et une ligne de sélection de puce connectée entre ledit décodeur d'adres- ses et ladite mémoire ROM, procédé comprenant les étapes consistant à: substituer une mémoire d'émulation à la place de ladite mémoire ROM; placer des instructions dans ledit moye d'émulation de mémoire et faire en sorte que ledit micro- processeur exécute lesdites instructions de manière que des résutats de test soient fournis par ledit déco- deur d'adresses dans ladite ligne de sélection de puce; et - extraire lesdits résultats de test de ladite ligne de sélection de puce. 6. Procédé selon la revendication 5, caractérisé en ce qu'il comprend en outre l'étape consistant à: - produire des impulsions de synchronisa- tion à des instants sélectionnés pendant des cycles de bus prédéterminés à mesure que ledit microproces- seur exécute lesdites instructions. 7. Appareil pour tester un dispositif du type comportant un microprocesseur (70) et une mémoire (72) qui sont interconnectés par des bus de données (74) et d'adresses (76), carac- térisé en ce qu'il comprend: - un moyen pour substituer une mémoire d'émula- tion (64) la place de ladite mémoire (72) de dispositif; - des moyens de commande pour placer des instructions dans ladite mémoire d'émulation et pour faire en sorte que ledit microprocesseur (70) exécute lesdites instructions; - des moyens d'évaluation couplés avec lesdits moyens de commande et ladite mémoire d'émulation pour comparer des réponses auxdites instructions en provenance du microprocesseur avec une série de réponses prédétermi- nées; et - des moyens couplés avec lesdits moyens de commande et ledit microprocesseur pour produire des signaux en synchronisme avec des cycles de bus de micro- processeur. 8. Appareil selon la revendication 7, caractérisé en ce que lesdits moyens de génération de signaux com- prennent un contrôleur d'état de cycle de bus programma- ble réagissant à des signaux de commande de minutage qui sont appliqués en provenance dudit microprocesseur. 9. Appareil selon la revendication 8, caractérisé en ce qu'il comprend en outre des moyens de génération d'impulsions de synchronisation en réponse à un signal de sortie provenant dudit contrôleur d'état de cycle de bus, et en ce que lesdites impulsions de synchronisa- tion sont engendrées à un instant présélectionné pendant ledit cycle de bus. 10. Appareil selon la revendication 9, caractérisé en ce qu'il comprend en outre une sonde pour dépanner ledit dispositif, et en ce que des signaux de simulation et de réponse de ladite sonde sont synchronisés avec lesdites impulsions de synchronisation. 11. Appareil selon la revendication 7, caractérisé en ce que lesdits moyens d'évaluation comprennent des moyens pour la synchronisation de résultats de test avec des cycles de bus prédéterminés. 12. Appareil selon la revendication 7, caractérisé en ce que lesdits moyens d'évaluation comprennent en outre un comparateur répondant à une comparaison de résultats de test au moins partiels avec des valeurs prédéterminées fournies par lesdits moyens de commande de manière à produire ainsi un signal à la sortie du comparateur et un contrôleur d'état réagissant auxdits signaux de synchronisation de cycle de bus et audit signal de sortie de comparateur pour produire des signaux de synchronisation de résultats de test. 13. Appareil selon la revendication 12, caractérisé en ce qu'il comprend en outre un moyen pour mémoriser des résultats de test à un instant déterminé par les signaux de synchronisation de résultats de test. 14. Appareil selon la revendication 13, caractérisé en ce que ledit moyen de mémorisation de résultats de test est une bascule. 15. Appareil selon la revendication 13, caractérisé en ce que ledit moyen de mémorisation de résultats de test est une mémoire RAM. 16. Appareil selon la revendication 7, caractérisé en ce que lesdits moyens de commande comprennent un système à base de processeur. 17. Appareil selon la revendication 7, caractérisé en ce que ladite mémoire d'émulation comprend deux mémoi- res RAM et des moyens pour la commutation desdites mémoi- res RAM pendant un test d'une manière telle que ledit microprocesseur continue à effectuer une opération d'exé- cution bien que seulement une mémoire RAM intervienne pendant un test donné. 18. Appareil selon la revendication 17, caractérisé en ce que ledit moyen de commutation comprend un circuit logique commutable qui répond à des signaux de commande provenant desdits moyens de commande et auxdits signaux de synchronisation de cycle de bus.