Brevet FR2528597A1 — publié le 19831216

DISPOSITIF DE TEST DES PROGRAMMES D'UN MICROPROCESSEUR DANS SON ENVIRONNEMENT REEL La présente invention concerne un dispositif de test des programmes d'un microprocesseur dans son environnement réel. On entend par microprocesseur un ou plusieurs circuits intégrés qui réalisent les fonctions d'une unité centrale de traitement de données. Ces circuits intégrés communiquent avec l'extérieur au moyen d'un ensemble de bus comportant un bus de données, un bus d'adresses, et un bus de commande. Une fois testés, les programmes d'un microprocesseur sont stockés définitivement dans une mémoire morte qui communique avec le microprocesseur au moyen des trois bus précités. Outre cette mémoire morte, une mémoire vive et des interfaces d'entrée-sortie sont également raccordées au microprocesseur au moyen des trois bus précités, de manière à constituer un système de traitement de données complet. Les interfaces d'entrée-sortie permettent au microprocesseur de communiquer avec son environnement, dest-à-dire avec des périphériques permettant l'introduction de données à traiter par le microprocesseur et la restitution de données traitées par le microprocesseur. On entend par environnement réel du microprocesseur les conditions dans lesquelles le microprocesseur est réellement en communication avec ces périphériques, par opposition à ltenvironnement simulé où il est fait appel à un système de simulation du comportement de ces périphériques. Pendant la phase de test, en raison des modifications qu'ils sont appelés à subir, les programmes du microprocesseur sont stockés temporairement dans une mémoire vive, dite mémoire de test. Cette mémoire de test est incorporée dans un testeur qui se présente sous la forme d'un système de traitement de données comportant un microprocesseur, lequel communique avec une mémoire morte, avec une mémoire vive et avec des interfaces d'entrée-sortie au moyen d'un bus de données, d'un bus d'adresses et d'un bus de commande. Une zone de la mémoire vive du testeur est allouée au stockage des programmes à tester et constitue la mémoire vive de test. Le testeur est également associé à des périphériques d'entrée-sortie permettant notamment l'introduction du programme à tester. Jusqu'à présent, pour effectuer le test des programmes d'un microprocesseur dans son environnement réel, on remplaçait ce microprocesseur par un microprocesseur auxiliaire qui communiquait d'une part avec les bus de données, d'adresses et de commande du microprocesseur du testeur, d'autre part avec les bus de données, d'adresses et de commande du microprocesseur dont les programmes sont à tester. Ceci nécessitait donc de prévoir l'amovibilité du microprocesseur dont les programmes sont à tester, et de sa mémoire morte, ce qui compliquait la fabrication et en augmentait le coût. La présente invention a pour objet un dispositif de test des programmes d'un microprocesseur dans son environnement réel, dans lequel cette amovibilité n'est plus nécessaire. Dans le dispositif de test conforme à la présente invention, il est plus fait appel à un microprocesseur auxiliaire, le microprocesseur à tester assurant lui-même les fonctions auparavant dévolues au microprocesseur auxiliaire. Dès lors le problème du passage de la configuration de test à la configuration réelle et vice versa ne se pose plus en termes de retrait ou de réimplantation du micrôprocesseur dont les programmes sont à tester, et de sa mémoire morte, mais est réduit à un problème d'inhibition ou de validation de cette mémoire morte, suivant qu'on est ou non dans la phase de test. Selon l'invention le dispositif de test des programmes d'un microprocesseur dans son environnement réel, ce microprocesseur communiquant avec une mémoire morte, avec une mémoire vive et avec des interfaces d'entrée-sortie au moyen d'un premier ensemble de bus, ce dispositif comportant une mémoire vive de test dans laquelle sont stockés les programmes à tester, et un testeur comportant lui-même un microprocesseur qui communique avec une mémoire morte, avec une mémoire vive et avec des interfaces d'entrée-sortie au moyen d'un second ensemble de bus, la mémoire vive de test étant incluse dans la mémoire vive du testeur, ce dispositif de test est tel que le premier et le second ensembles de bus sont directement reliés entre eux, par l'intermédiaire d'une interface de puissance, et que la mémoire morte du microprocesseur dont les programmes sont à tester est inhibée ou validée, au moyen d'un signal approprié appliqué à son entrée de validation, suivant qu'on est ou non dans la phase de test. Par ailleurs, on constate que bien qu'un programme ait été testé en mémoire vive dans l'environnement réel d'un microprocesseur, l'exécution ultérieure du même programme stocké dans la mémoire morte de ce microprocesseur n'est pas nécessairement exempte d'erreurs. Elle ne l'est qu'à condition que le champ d'adresse de ce programme dans la mémoire vive de test colncide avec le champ d'adresse que ce programme eest destiné à occuper dans la mémoire morte Dans les testeurs disponibles actuellement, la mémoire vive de test, de capacité maximale 2n mots (avec n entier), est répartie en au plus m mémoires de test élémentaires, ayant chacune une capacité de 2P mots (avec m x 2P = 2#), les p éléments binaires de poids faible d'adressage de la mémoire vive de test étant utilisés pour l'adressage commun de ces mémoires de test élémentaires, et les n - p éléments binaires restant étant décodés, suivant un décodage fixe, pour valider une seule de ces mémoires élémentaires. Cette structure modulaire de la mémoire de test a pour but de permettre une adaptation aisée de sa capacité au volume nécessité par le programme à tester. Cependant, avec un tel adressage des mémoires élémentaires, l'identité des champs d'adresses précitée ne peut être obtenue qu'au prix d'un accroîssement considérable du nombre de mémoires élémentaires de test, les testeurs atteignant alors des prix prohibitifs. Et si l'identité de champs d'adresses ne peut être obtenue par ce moyen, il est nécessaire de se livrer à des tests supplémentaires une fois le programme stocké dans la mémoire morte, de manière à déceler les éventuelles erreurs restantes. Le dispositif de test selon l'invention permet d'éviter ces inconvénients grâce à un adressage particulièrement souple des mémoires de test élémentaires. Selon l'invention, le dispositif de test des programmes d'un microprocesseur dans son environnement réel, dans lequel la mémoire vive de test, de capacité maximale 2n mots, est répartie en au plus m mémoires de test élémentaires, ayant chacune une capacité de 2P mots (avec m x 2P = 2#), et dans lequel les p éléments binaires de poids faible d'adressage de la mémoire vive de test sont utilisés pour l'adressage commun de ces mémoires de test élémentaires, ce dispositif est tel que ces mémoires élémentaires sont validées au moyen drun décodeur programmable par l'opérateur et commandé par les n - p éléments binaires restants. Les objets et caractéristiques de la présente invention apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation faite en relation avec les dessins ci-annexés dans lesquels: - la figure 1 représente le dispositif de test selon l'invention; - la figure 2 représente la mérno#re vive de test et son système d'adressage. Sur la figure 1 on a représenté un microprocesseur 1 dont les programmes sont à tester dans son environnement réel. Ce micro- processeur 1 communique avec l'extérieur au moyen d'un ensemble de bus comportant un bus de données 2, un bus d'adresses 3 et un bus de commande 4. Pour constituer un système de traitement de données complet 4', ce microprocesseur est associe à une mémoire morte 5, à une mémoire vive 6 et à dev; interfaces d'sntrée-sortie telles que l'interface 7, ces interfaces étant connectées à des périphériques d'entrée-sortie (non représentés). Lorsque les programmes du microprocesseur 1 sont testés, ils sont stockés dans la mémoire morte 5 En cours de test on les stac' On a représenté sur la figure 1 des périphériques d'entrée-sortie du testeur, par l'exemple un ensemble clavier-lmpri.nante 15', et un dispositif 15" contenant les programmes à tester transcrits en langage machine (ce dispositif pouvant être par exemple un calculateur). Les bus de données 2 et 13 sont reliés entre eux, ainsi que les bus d'adresses 3 et 14 et les bus de commande 4 et 15, par l'intermédiaire d'une interface de puissance 16. Par ailleurs, l'entrée de validation de la mémoire morte 5 reçoit un signal logique S ayant un premier ou un second niveau logique suivant qu'on est ou non dans la phase de test, le premier niveau logique impliquant l'inhibition de cette mémoire et le second niveau logique sa validation. Sur la figure 2 on a représenté la mémoire vive de test 8a. Cette mémoire vive 8a, de capacité 2n mots (avec n entier) est répartie en m mémoires élémentaires 8a1 à 8am ayant chacune une capacité de 2P mots (avec m x 2p = 2n). Les p fils du bus d'adresses 14, correspondant aux éléments binaires de poids faible de l'adresse véhiculée par ce bus, sont reliés aux entrées d'adresse de ces m mémoires élémentaires. Les n - p autres fils du bus d'adresses 14, correspondant aux éléments binaires de poids fort de l'adresse véhiculée par ce bus, sont reliés aux entrées d'adresse d'une mémoire vive 17, dite mémoire d'affectation de champ d'adresses du programme à tester.Dans cette mémoire sont stockés les numéros de mémoires élémentaires que l'opérateur souhaite affecter aux champs d'adresse correspondant aux différentes combinaisons possibles des n - p éléments binaires de poids fort de cette adresse. Les sorties de cette mémoire sont reliées aux entrées d'un décodeur 18 à m sorties reliées chacune à l'entrée de validation de l'une des m mémoires élémentaires. Le dispositif représenté sur les figures 1 et 2 est utilisé de la façon suivante. Dans un premier temps, correspondant à l'introduction des données concernant le test à effectuer, le microprocesseur 9 est validé et le microprocesseur 1 inhibé. L'introduction du programme à tester est actionnée par l'opérateur au moyen du périphérique d'entrée-sortie 15', cet armement mettant en dialogue le dispositif 15" contenant le programme à tester. L'opérateur introduit également le champ d'adresse qu'il souhaite voir occuper par ce programme dans la mémoire de test 8a. L'opérateur indique également que la zone de mémoire vive dans laquelle est stockée le programme à tester doit être protégée contre toute tentative d'écriture. Dans un deuxième temps, correspondant à l'exécution du programme à tester, le microprocesseur 9 est inhibé et le microprocesseur 1 validé. Pendant ce deuxième temps la mémoire morte 5 est inhibée au moyen du signal S, de niveau logique approprié, appliqué sur son entrée de validation. Les instructions du programme à exécuter sont lues, sous la commande du microprocesseur 1, et par l'intermédiaire des deux ensembles de bus reliés entre eux, dans la mémoire vive de test 8a. Ces instructions sont ensuite exécutées dans l'environnement réel du micro processeur 1. REVENDICATIONS 1. Dispositif de test des progràmmes d'un microprocesseur (1) dans son environnement réel, ce microprocesseur (1) communiquant avec une mémoire morte (5), avec une mémoire vive (6) et avec des interfaces d'entrée-sortie (7) au moyen d'un premier ensemble de bus (2, 3, 4), dispositif comportant une mémoire vive de test (ga) dans laquelle sont stockés les programmes à tester, et un testeur (12') 2')comportant lui-même un microprocesseur (9) qui communique avec une mémoire morte (10), avec une mémoire vive (8) et avec des interfaces d'entrée-sortie (12) au moyen d'un second ensemble de bus (13, 14, 15), la mémoire vive de test (8a) étant incluse dans la mémoire vive (8) du testeur, caractérisé en ce que le premier et le second ensembles de bus sont directement reliés entre eux, par l'intermédiaire d'une interface de puissance (16), et en ce que la mémoire morte (5) du microprocesseur (1) dont les programmes sont à tester est inhibée ou validée, au moyen d'un signal (S) approprié appliqué à son entrée de validation, suivant qu'on est ou non en phase de test. 2. Dispositif selon la revendication i, dans lequel la mémoire vive de test (8a), de capacité maximale 2n mots (avec n entier), est répartie en au plus m mémoires de test élémentaires (8al à 8am), ayant chacune une capacité de 2P mots (avec m x 2P = 2n), les p éléments binaires de poids faible d'adressage de la mémoire vive de test (8a) étant utilisés pour l'adressage commun de ces mémoires de test élémentaires, caractérisé en ce que ces mémoires de test élémentaires (8al à 8am) sont validées au moyen d'un décodeur (17, 18) programmable par l'opérateur et commandé par les n - p éléments binaires restants. 3. Dispositif selon la revendication 2, caractérisé en ce que le décodeur programmable comporte une mémoire vive (17), dite mémoire d'affectation de champ d'adresse du programme à tester, dont les entrées d'adresse reçoivent les n - p éléments binaires en question, et dont les sorties sont reliées aux entrées d'un décodeur (18) muni de m sorties reliées chacune à l'entrée de validation de l'une des m mémoires de test élémentaires.