Brevet FR2279158A1 — publié le 19760213

L'invention concerne essentiellement un dispositif de test d'une unité de traitement de données dans un système de traitement de l'information. Dans tous les systèmes de traitement de l'information, les problèmes relatifs aux tests et diagnostics d'erreurs sont d'une importance majeure, et sont résolus dans l'art antérieur de plusieurs manières. Certains systèmes sont conçus avec des tests entièrement automatiques sous forme de programmes et microprogrammes enregistrés en mémoire principale et/ou en mémoire auxiliaire. Selon le degré de perfectionnement de ces tests, la localisation d'une panne et plus particulièrement la localisation de l'élément source de la panne se font différemment, soit par émission de certains signaux, soit par affichage de certaines informations dont le contenu est comparé à des tables de diagnostics préalablement constituées pour définir la panne ou l'élément défectueux. D'autres systèmes, selon par exemple l'espace mémoire disponible, et la complexité du système, ne possèdent qu'une partie des tests eous forme de programmes et microprogrammes, et on les complète par des tests manuels et/ou automatiques. On trouve enfin des systèmes dont les tests sont effectués entièrement par des unités extérieures aux systèmes, d'une manière automatique ou s emi - automatique Dans ce dernier cas, pour connecter les unités extérieures au système à tester, il faut prévoir des moyens d'adaptation qui changent selon le type de système à tester. Un type d'adaptateur a été développé pour être mis en place comme élément d'un système universel permettant notamment de communiquer à grande distance avec plusieurs dispositifs extérieurs par l'intermédiaire d'un terminal de communication. Un adaptateur de ce type est conçu par exemple pour envoyer des données de test au système à tester à l'arrêt et localiser les pannes par comparaison des données résultantes du test du système à des données de référence, envoyées par l'unité de test extérieure.Les différents transferts de données sont effectués par des commandes manuelles d'un panneau de maintenance associé au système à tester. De tels ddaptateurs ne permettent pas le test complet et automatique de toute l'unité centrale d'un système ni un diagnostic automatique,puisque les signaux d'état des différents registres de l'unité à tester transitent par le panneau de maintenance, même dans le cas d'une transmission vers un dispositif extérieur connecté à l'adaptateur. L'invention concerne plus particulièrement le test semi-automatique d'une unité de traitement de l'information et des éléments fonctionnels qui la composent, d'une manière indépendante de toute autre unité de traitement en utilisant un canal de maintenance associé à cette unité. Ainsi, l'un des but s de 1' invention est de permettre le test d'une unité de traitement, c'est-à-dire de vérifier l'état de fonctionnement de ces éléments fonctionnels, avant par exemple sa mise en exploitation, et cela sans passer par le panneau de mairt enance. Un autre but de l'invention est de permettre de simuler de façon semiautomatique toutes les fonctions réalisées manuellement par un panneau de maintenance associé à Unité à tester. L'invention propose donc un dispositif de test des éléments fonctionnels d'une unité de traitement de données, au moyen d'une unité auxiliaire reliée à cette unité de traitement par un ensemble de voies de transmission aboutissant à une interface comprenant ensmeme un ensemble de circuits de commande pour l'adaptation et la transmission de signaux de dialogues et d'informations par l'intermédiaire d'un canal de maintenance qui comprend un premier ensemble de voies de transmission bidirectionnelles de signaux de contrôle d'échange d'informations entre l'unité auxiliaire et l'unité à tester, un deuxième ensemble de voies de transmission d'informations provenant de l'unité auxiliaire, et un troisième ensemble de voies de transmission d'informations provenant de l'unité à tester, cette dernière comportant des circuits de maintenance auxquels aboutissent les voies précitées et qui sont tels qu'une information élémentaire est transmise d'une unité à l'autre sous la commande de l'unité auxiliaire dialoguant en martre avec l'unité à tester, caractérisé en ce que ladite unité auxiliaire comprend des moyens de lecture de séries d'opérations élémentaires enregistrées séquentiellement sur un support de saisie de données, des moyens d'identification desdites opérations lues, des registres de stockage des données reliés aux moyens de lecture précités par au moins un étage de validation, certains au moins de ces registres de stockage de données étant reliés à l'unité à tester par les voies de transmission précitées, un circuit de comparaison entre une valeur de référence préalablement rangée dans un des registres précités et un résultat d'une opération précitée effectuée dans l'unité de traitement, et des moyens de commande de ladite unité auxiliaire pour assurer l'exécution séquentielle desdites opérations jusqutà ce qu'un résultat de test diffère de la valeur de référence correspondante. Le dispositif de test selon l'invention permet donc de lire et de prétraiter les opérations de test enregistrées sur un support de saisie de données, avant d'établir un dialogue par l'intermédiaire d'un canal de maintenance avec l'unité de traitement à tester, par une succession de microdialogues drentrées-sorties, les échanges d'inforsions entre les deux unités étant précédés par un échange de signaux de validation. L'ensemble des circuits de commande pour l'adaptation et la transmission des signaux de dialogues et des informations par l'intermédiaire d'un canal de maintenance entre l'unité de test et l'unité à tester, ainsi que les circuits d'adaptation et de maintenance de l'unité à tester elle-meme, font l'objet des demandes de brevets français N0 7. 331. 760 et 7.332.504, au nom de la demanderesse, et concernant un: "Procédé de commande de la transmission des données échangées entre un ordinateur et un ou plusieurs périphériques et dispositif de mise en oeuvre de ce procédé", et un: "Dispositif de test et diagnostic d'une unité de traitement de données". L'unité de test selon l'invention comprend également des commandes habituellement disponibles sur un panneau de maintenance, permettant d'in- fluencer le déroulement d'un test et le cas échéant d'introduire des tests complémentaires, afin de mieux préciser une panne. D'autres avantages, caractéristiques et détails de l'invention appa raftront plus clairement à l'aide de la description explicative qui va suivre faite en référence à la figure unique donnée à titre d'exemple qui représente sous forme de schéma-blocs l'ensemble des éléments d'une unité de test conforme à l'invention. Les opérations de test qui devront être effectuées sur les différents éléments fonctionnels d'une unité de traitement de l'information sont donc selon l'invention enregistrées préalablement sur des supports de saisie de données indépendants, tels par exemple que des rubans perforés, et ne sont donc par conséquent enregistrées ni en mémoire principale, ni en mémoire auxiliaire. Un test consiste essentiellement à effectuer une série d'opérations d'écriture et de lecture identifiées et validées par l'unité de test. Dans le cas d'une écriture, l'information transmise par le canal de maintenance à l'unité de traitement, et plus précisément à l'élément fonctionnel considéré, est traitée par l'unité à tester, et l'information résultante de ce traitement est lue par l'unité de test, pour etre comparée à une valeur de référence préalablement rangée dans l'unité de test. L'unité de test selon l'invention comprend donc essentiellement un dispositif 1 de lecture d'un support de saisie de données, où ont été enregistrées préalablement différentes opérations élémentaires de test. Un registre tampon 2 reçoit les informations lues par le dispositif de lecture 1 et transcodées par un dispositif de transcodage compris dans le dispositif de lecture, qui joue le rôle d'interface avec l'unité de test. Un étage d'identification et de validation 8 reçoit une partie des informations enregistrées dans le registre tampon 2, et principalement celles relatives aux commandes qui définissent les opérations à exécuter, soit au niveau de l'unité de test, soit au niveau de l'unité de test et de l'unité de traitement. Divers registres reçoivent les différentes informations stockées provisoirement dans le registre tampon 2, et comprennent un registre de commande d'adresse 3, un registre d'informations 4, un registre de valeur de référence 5, et un registre masque 6. Un circuit comparateur 7 est relié en entrée aux registres d'informations et de référence 4 et 5 respectivement, ainsi qu'au registre masque 6 et compare donc une information résultant de ltexécution d'une opération de test à une valeur de référence préalablement enregistrée, avec ou sans utilisation d'un masque. Le dispositif comprend encore des étages de contrôle de parité: un étage 11 est prévu au niveau du dispositif de lecture, des étages 12 et 13 sont prévus à la sortie des registres 3 et 4, un étage 14 est prévu à l'entrée du registre 4. Le dispositif comprend encore un compteur 10 permettant de compter le nombre de caractères lus sur le support de saisie des données, où sont enregistrés les tests, un compteur 15 qui est relié à la sortie de l'étage 8 pour compter le nombre d'opérations élémentaires effectuées entre l'unité de test et l'unité de traitement. En outre, une unité d'affichage 9, composée d'un registre et d'un dispositif de visualisation, est reliée à la sortie du registre 2 et sous la commande de l'étage 8, elle permet d'identifier le numéro d'une série-d'opérations élémentaires de test en cours dtexécution. Un ensemble 20 de commandes manuelles simule un panneau de maintenance, et comprend au moins une unité d'affichage du contenu de l'un quelconque des registres précités, des commutateurs définissant le mode de déroulement dtun test, d' autres commutateurs pour l'introduction de données, etc. L'ensemble des éléments qui vient d'etre décrit constitue donc l'unité de test elle-meme selon l'invention, et cette dernière est reliée àl'unité à tester par un ensemble de voies de transmission 20 reliant les sorties du registre 3, la sortie de l'étage de contrôle de parités 12,à uneinterface 23 eRekmême relié à l'unité de traitement 30, pour transmettre les informations de commande d'adresse rangées dans le registre 3, des lignes de transmission 21 reliant les sorties de registre 4, la sortie de l'étage 13 de contrôle de parités, à l'interface 23 pour transmettre des données rangées dans le registre 4 à l'unité de traitement 30 par l'intermédiaire du canal de maintenance, et des lignes de transmission 22 reliant les sorties de l'unité de traitement 30 à l'entrée du registre 4 après contrôle de parité par l'étage 14 pour ranger dans ledit registre les données provenant de l'unité de traitement. Le canal de maintenance 25 comprend essentiellement un premier ensemble de voies de transmission bidirectionnelles de signaux de contrôle d'échange d'informations entre l'unité 30 et l'unité de test selon l'invention, un second ensemble de voies de transmission d'informations provenant de l'unité de test, et un trctisième ensemble de voies de transmission d'informations provenant de l'unité à tester 30. De cette façon, chaque information élémentaire représentée par une combinaison de signaux est transmise d'une unité à l'autre sous la commande de l'unité de test dialoguant en maftre avec l'unité 30, par une succession de microdialogues d'entrée-sortie. Les tests selon l'invention, enregistrés par exemple sur un ruban perforé, se composent d'une suite d'informations regroupées en opérations élémentaires comprenant chacune au moins une commande et son information associée, la commande et l'information comprenant chacune huit bits. Le premier bit de la commande indique si l'opération à effectuer est une lecture ou une écriture. Les autres bits de la commande définissent l'adresse de l'élément fonctionnel de l'unité de traitement sur lequel va se dérouler l'opération de lecture ou d'écriture. On distingue principalement trois types de commandes qui sont représentés chacun par un code au niveau du support de saisie de données, et qui sont identifiés par l'unité de test: - commande "dialogue" : une fois cette commande identifiée, on trouve derrière le code d'identification trois informations spécifiant la nature de l'opération à valider au niveau de l'unité de test (écriture ou lecture), l'adresse de l'élément fonctionnel concerné, et une information qui sera transmise soit à l'unité 30, soit au registre 5 quand il s'agit d'une valeur de référence; - commande "affichage" : un test se compose de plusieurs opérations élémentaires qui comprennent en général chacune une série d'opérations d'écriture et de lecture. Chaque opération élémentaire est identifiée par un numéro, qui est visualisé sur l'unité d'affichage 9 au cours de son déroulement.Chaque opération élémentaire débute donc toujours par une commande d'affichage, qui est propre à l'unité de test; - commande "masque": : cette commande précède une opération de lecture dans l'unité de traitement 30 commandée par l'unité de test lorsqu'une partie de l'information lue n'est pas significative et doit être masquée. Cette opération de lecture permet de lire un résultat de test, qui va être ensuite comparé à une valeur de référence rangée dans le registre 5. Dans certains cas, lorsque l'on travaille au niveau du bit, il n'est pas nécessaire de faire une comparaison bit à bit sur un octet, mais seulement sur une fraction d'octet: on sélectionne alors avec un masque les seuls bits qui sont à comparer, le masque étant rangé dans le registre 6. Un masque est donc une configuration binaire particulière, qui permet une comparaison sur certains bits entre une donnée lue rangée dans le registre 4 et une valeur de référence rangée dans le registre 5. Lorsque l'on désire tester une unité de traitement 30, on effectue les opérations suivantes: On sélectionne dans un fichier de test préalablement constitué le ou les supports comportant les tests relatifs à cette unité de traitement, chaque test comprenant au moins une opération élémentaire, qui comprend ellemême au moins une opération d'écriture et de lecture. On effectue ensuite la lecture du support et les informations de chaque opération élémentaire sont enregistrées dans le registre tampon 2. Des informations relatives à une commande sont envoyées tout àtour dans l'étage d'identification et de validation 8. Lorsque les commandes sont identifiées, des signaux de validation sont générés pour permettre le transfert des informations associées à chaque commande du registre tampon 2 dans les différents registres de l'unité de test. La première commande d'une opération élémentaire étant toujours une commande "affichage", qui permet d'afficher l'identification de cette commande, c'est-à-dire le numéro de l'opération élémentaire à exécuter est transféré du registre tampon 2 à l'unité d'affichage 9 sous la commande de l'étage 8. La commande suivante est une commande "dialogue" qui correspond soit à une écriture soit à une lecture. L'écriture est identifiée par l'étage 8, et la commande comprend l'adresse de l'élément fonctionnel de l'unité 30 sur lequel va se dérouler l'opération d'écriture. L'adresse est transférée du registre tarrlP#2 dans le registre de commande d'adresse 3. L'information associée à cette commande est transférée du registre tampon 2 dans le registre donnée 4. Une lecture est également identifiéepar l'étage 8, l'adresse de l'élément fonctionnel de l'unité 30 est alors chargée dans le registre 3, et l'information associée à cette commande représente une valeur de référence qui est transférée du registre 2 dans le registre 5. Dans certains ças, cette commande peut etre précédée par une commande "masque", et l'information associée à cette dernière mrrnande est alors transférée du registre 2 dans le registre 6. Toutes ces opérations se situent au niveau de l'unité de test, et correspondent à un prétraitement des informations lues, afin de mettre en place le dialogue avec l'unité de traitement. On supposera dans la suite que l'unité de test est prete à effectuer une commande "dialogue" relative à une écriture dans un élément fonctionnel de l'unité de traitement 30. Le registre 3 comprend alors l'adresse de l'élé- ment fonctionnel concerné de l'unité 30, et le registre 4 contient l'information qui va etre transmise à cette adresse. Sous la commande de signaux d'échange d'informations, l'information rangée dans le registre 3 est transmise ainsi que sa pavie générée par l'intermédiaire de l'étage de contrôle de parité 12, à l'unité 30 en passant par les voies de transmission 20, l'interface 23, et le canal de maintenance 25.Ensuite, l'information du registre 4 est transmise ainsi que sa partie générée par l'intermédiaire de l'étage de contrôle de pa rité 13, à l'unité à tester 30 en passant par les voies de transmission 21, l'interface 23, et le canal de maintenance 25. Lorsque l'opération d'écriture transmise à l'unité 30 est effectuée, l'information résultante doit etre lue par l'unité de test et comparée à une valeur de référence chargée dans le registre 5. S'il s'agit d'une lecture sans masque, l'adresse de l'élément fonctionnel concerné est transférée d'abord du registre tampon 2 dans le registre 3, et l'information représentant la valeur de référence est transmise du registre 2 au registre 5. Puis l'information chargée dans le registre 3 est transférée ainsi que sa parité à l'unité 30 comme précédemment. L'opération de lecture s'effectue alors dans l'unité à tester, et l'information lue est transférée par l'intermédiaire du canal de maintenance 25, l'interface 23, et les voies de transmission 22 dans le registre 4. L'étage 14 contrôle le bit de parité inhérent au canal de maintenance.Le contenu des deux registres 4 et 5 est alors envoyé dans le dispositif comparateur 7, et suivant le résultat de cette comparaison, une procédure de déclenchement de traitement d'une erreur est initialisée ou non, comme nous le verrons plus loin. Dans le cas d'une lecture avec masque, la donnée associée à ce masque a été préalablement transférée du registre tampon 2 dans le registre masque 6, et la comparaison des informations rangées dans les registres 4 et 5 s'effectue dans le comparateur 7 sous la commande du registre 6. Lorsque le résultat d'une comparaison est correct, c'est-à-dire qu'il y a identité entre les deux informations, on passe dans un fonctionnement normal, soit à la commande suivante, soit à l'opération élémentaire suivante dans le cas de la dernière commande d'une opération élémentaire. Lorsque le comparateur indique une erreur, le déroulement automatique du test est arreté, et l'incident est mentionné sur une unité d'affichage (non représentée). Le traitement de l'incident se fait alors par des commandes manuelles au moyen de commutateurs, et de boutons-poussoirs et par visualisation du contenu de l'un quelconque des registres. Ces commandes manuelles permettent soit d'agir sur le déroulement de la lecture des tests, soit d'introduire des informations complémentaires. Ainsi, des premiers moyens de commande (non représentés) permettent dtagir sur le mode de déroulement de la lecture d'un test. - Mode "avance normale" : le test est lu séquentiellement, et après le traitement de chaque commande, on passe à la commande suivante automatiquement, jusqu a la fin physique du test; ce déroulement automatique est arreté lorsqu'un incident est détecté par le comparateur. - Mode l'avance normale semi-automatique" : le déroulement du test s'arrete à la fin de chaque opération élémentaire. - Mode "avance normale pas à pas" : le déroulement du test s 'ar- rete après exécution de chaque commande. Mode "avance normale avec inhibition des incidents" : le déroulement du test se poursuit qu'il y ait un incident ou non. - Mode "retour normal" : le test est repositionné au départ. - Mode "retour semi-automatique": on se repositionne au début de chaque opération élémentaire. Ces différentes commandes sont effectuées par des boutons poussoirs. Des seconds moyens de commande (non représentés) permettent de visualiser le contenu de l'un quelconque des registres de l'unité de test, et dtintroduire à tout moment des données de test complémentaires. L'utilisation de ces différents moyens de commande permet donc, après détection d'une erreur par le comparateur, de décomposer le déroulement du test au voisinage de l'erreur, et en combinaison avec des tables préalablement constituées, de déceler la cause de l'erreur. Le déroulement d'un test s'arrête sur les erreurs détectées par le comparateur, mais également sur des erreurs de parité, et sur tout incident qui survient lors du transfert des informations entre l'unité de test et l'unité de traitement. Dans un mode préférentiel de réalisation, le support d enregistrement des données est le ruban perfore. Ainsi, selon l'invention, au moyen d'un appareillage simple et de confions rapides, on peut effectuer la mise au point d'une unité de traitement en cours de montage. L'adaptation facile d'un tel dispositif à toute unité de traitement, permet sans modification majeure au niveau de cette unité, de mettre en place d'une manière simple et rapide toute une procé- dure de test. Bien entendu, l'invention n'est nullement limitée au mode de réalisa tion décrit et représenté qui n'a été donné qu'à titre d'exemple. En particulier, elle comprend tous les moyens constituant des équivalents techniques des moyens décrits, ainsi que leurs combinaisons si celles-ci sont exécutées suivant l'esprit de l'invention et mises en oeuvre dans le cadre des revendications qui suivent. REVENDICATIONS 1. Dispositif de test des éléments fonctionnels d'une unité de traitement de données, au moyen d'une unité auxiliaire reliée à cette unité de traitement par un ensemble de voies de transmission aboutissant à uneinterface comprenant c#-meme un ensemble de circuits de commande pour l'adaptation et la transmission des signaux de dialogue et des informations par l'intermédiaire d un canal de maintenance qui comprend un premier ensemble de voies de transmission bidirectionnelles de signaux de contrôle d'échange d' informations entre l'unité auxiliaire et l'unité à tester, un deuxième ensemble de voies de transmission d'informations provenant de l'unité auxiliaire et un troisième ensemble de voies de transmission d'informations provenant de l'unité à tester, cette dernière comportant des circuits de maintenance auxquels aboutissent les voies précitées et qui sont tels qu'une information élémentaire est transmise d' une unité à l'autre sous la commande de l'unité auxiliaire dialoguant en martre avec l'unité à tester, caractérisé en ce que ladite unité auxiliaire comprend des moyens de lecture de séries d'opérations élémentaires enregistrées séquentiellement sur un support de saisie de données, des moyens d'identification desdites opérations lues, des registres de stockage de données reliés aux moyens de lecture précités par au moins un étage de validation, certains au moins de ces registres de stockage de don-. nées étant reliés à l'unité à tester par les voies de transmssion précitées, un circuit de comparaison entre une valeur de référence préalablement rangée dans un des registres précités et un résultat d'une opération précitée effectuée dans l'unité de traitement, et des moyens de commande de ladite unité auxiliaire pour assurer l'exécution séquentielle desdites opérations jusqu'à ce qu'un résultat de test diffère de la valeur de référence correspondante. 2. Dispositif selon la revendication 1, caractérisé en ce que, chaque opération élémentaire lue comprenant une partie commande et une partie information, lesdits registres comprennent un registre tampon relié en entrée aux moyens de lecture précités et relié en sortie à un premier registre dans lequel est placée la partie commande, à un second registre dans lequel est placée la partie information quand elle est à transmettre à l'unité de traitement, à un troisième registre dans lequel est placée la partie information quand il s'agit d'une valeur de référence, les premier et second registres étant reliés en sortie à ladite unité de traitement et le second registre étant relié en entrée à l'unité de traitement par l'intermédiaire d'un étage de validation. 3. Dispositif selon la revendication 2, caractérisé en ce que les second et troisième registres sont reliés en sortie aux circuits précités de comparaison. 4. Dispositif selon la revendication 3, caractérisé en ce qu#un registre masque est connecté entre le registre de référence et le circuit de comparaison. 5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend une unité d'affichage d'un numéro d'identification d'une opération élémentaire. 6. Dispositif selon l'une des revendications 1 à 5, caractérisé en ce qu'il comprend un compteur du nombre de dialogues effectué entre les unités précitées, relié à la sortie des moyens a identification précités. 7. Dispositif selon l'une des revendications 1 à 6, caractérisé en ce que lesdits moyens d'identification comprennent un registre relié en entrée aux moyens de lecture et relié en sortie auxdits premier, second, troisième registres et au registre masque. 8. Dispositif selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend des moyens de commande manuelles, définissant les modes de déroulement des opérations de test.