FR 2690539 A1 19931029 FR 9213374 A 19921106 La présente invention concerne des processeurs d'ordinateurs et, plus particulièrement, un mode d'exploitation pour le diagnosticet ledéverminage de matériels et de logiciels d'ordinateurs. Un microprocesseur est le coeur des ordinateurs actuels les plus modernes, en constituant un emplacement centralisé pour de nombreuses fonctions qui sont exercées en exécutant une série d'instructions. Des microprocesseurs incluent typiquement une unité de commande qui surveille et guide les unités fonctionnelles qui exécutent ensemble des instructions. Spécifiquement, l'unité de commande surveille et commande le flux d'instructions à travers les étapes de traitement Les instructions à exécuter sont généralement mémorisées dans un élément de mémoire d'ordinateur, par exemple une mémoire morte (ROM) ou une mémoire vive (RAM) Sous commande de l'unité de commande, une unité de recherche recherche chaque instruction dans la mémoire Les instructions sont ensuite décodées si nécessaire et amenées à une unité d'exécution L'unité d'exécution peut inclure plusieurs registres polyvalents, une unité arithmétique (ALU), des registres de commande et une certaine logique de commande La donnée mémorisée dans les registres, qui représente collectivement "l'état du processeur" est souvent modifiée pendant le fonctionnement de l'unité d'exécution A de nombreuses étapes différentes du développement du produit d'ordinateur, il peut être extrêmement utile de pouvoir examiner et modifier l'état de processeur pendant le fonctionnement, ou d'essayer à l'aide de données d'essais le fonctionnement de l'ALU et de la logique de commande. Cependant, un accès direct à l'unité d'exécution n'est généralement pas pratique en raison de facteurs comme le coût et la performance, en particulier pour un microprocesseur produit en série. Il peut être utile, non seulement d'examiner et de modifier l'état du processeur, mais aussi d'examiner et de modifier la mémoire du système et l'espace d'entrée/sortie (E/S) Par exemple, pendant le développement d'un ordinateur, cette capacité serait utile pour analyser des interactions entre les nombreux circuits intégrés, les composants périphériques et le microprocesseur Pendant le développement de logiciels au niveau du système et de programmes d'applications qui fonctionnent sur ce système, la capacité d'obtenir une connaissance de l'état du processeur peut grandement faciliter les efforts de déverminage. Lors de la conception d'un ordinateur utilisant un microprocesseur, ou lors du déverminage des nombreux problèmes qui apparaissent inévitablement pendant le développement d'un produit d'ordinateur, on peut utiliser un émulateur en circuit (ICE) Un émulateur en circuit est un outil conçu spécialement qui émule les fonctions du microprocesseur pour le support duquel il a été conçu, mais qui possède des particularités additionnelles incorporées qui facilitent grandement les efforts de déverminage En fonctionnement, un émulateur en circuit est placé physiquement dans la douille de la carte de circuit intégré (PC) au lieu du microprocesseur Des émulateurs en circuit constituent un espace de mémoire de remplacement qui est utilisé pour mémoriser, en vue d'une analyse ultérieure, l'état du processeur et d'autres données intéressantes Des émulateurs en circuit présentent des inconvénients, y compris un coût unitaire supérieur à celui du microprocesseur produit en série, une incapacité de détecter un problème lié au microprocesseur lui-même, un coût de main d'oeuvre accru pour insérer physiquement dans la douille l'émulateur en circuit, et des coûts élevés de l'espace de mémoire de remplacement associé, des connecteurs et des autres équipements. Afin d'essayer des circuits intégrés sur une carte de circuit intégré (PC), on a utilisé un appareil d'essais de circuits qui peut être appelé un "lit de clous" L'appareil d'essai est pincé sur la carte de circuit imprimé et il existe, pour chaque fil de raccord, une broche sur l'appareil d'essai qui est en relation avec lui Lorsque l'appareil d'essai a été raccordé à chacun des fils, les configurations d'essai sont appliquées afin d'essayer les circuits, et l'information est mémorisée dans un espace d'adresse de remplacement Cependant, au fur et à mesure que les géométries décroissent et que les niveaux de densité augmentent, il devient impraticable de prévoir une broche pour chaque fil du circuit En outre, à des vitesses de fonctionnement plus élevées, la vitesse de variation des signaux dépasse la capacité de l'appareil d'essai à les détecter sans perturber le fonctionnement du système Afin de traiter le problème d'essais de circuits intégrés, il a été développé un standard IEEE appelé "boundary scan" (c'est-à-dire balayage de limite) Dans un circuit conforme à ce standard, une liaison sérielle simple circule à travers toute la carte de PC afin d'essayer le circuit Un accès est réalisé par un port d'accès d'essais (Test Access Port ou TAP) qui fait partie de chaque microplaquette conforme au standard. Des problèmes peuvent apparaître pendant le développement d'un programme par un programmeur d'application ou lorsque le programme est en cours d'intégration avec la plate-forme ou ultérieurement pendant l'exécution d'un programme par un utilisateur. Par exemple, le processeur peut s'arrêter simplement, il peut sortir des données dépourvues de signification, ou il peut détruire une donnée en mémoire La localisation de la cause d'un tel problème peut être extrêmement difficile Des outils de déverminage ont été développés afin d'assister le programmeur d'application dans ses efforts de développement Les outils de déverminage peuvent être incorporés dans le matériel d'ordinateur ou ils peuvent inclure une combinaison logiciel- matériel. L'erreur est parfois liée au logiciel et un élément de déverminage, ou dévermineur, de logiciel peut être suffisant pour isoler la cause de l'erreur. Des dévermineurs de logiciels sont des programmes de codes d'ensemble qui s'exécutent au niveau du système. Une technique de déverminage implique la mise en place de points d'interruption à un certain emplacement dans le code de programme Les points d'interruption arrêtent le fonctionnement du programme à l'emplacement suivant approprié et font passer le fonctionnement du programme en un mode de déverminage Puisque le flux normal de fonctionnement du programme est perturbé par un point d'interruption, il est souvent mis en oeuvre comme une interruption. Des dévermineurs de logiciels peuvent réaliser un déverminage approprié dans certains cas; cependant, si le système ne peut fonctionner, le programme de dévermineur ne peut pas fonctionner En outre, un dévermineur de logiciel est souvent inutilisable pour des problèmes de matériel, des problèmes de microprogrammation et des problèmes de synchronisation. Un dévermineur de logiciel ne fonctionne pas en temps réel (c'est-à-dire qu'il ralentit le programme d'exploitation en insérant des étapes additionnelles). Ainsi, un dévermineur de logiciel est inutilisable pour des problèmes qui dépendent du temps, dans lesquels une synchronisation de rythme est importante Lorsqu'un tel problème est rencontré, une analyse complète exige en général un matériel additionnel, par exemple un émulateur en circuit ou un autre dévermineur à base de matériel. Si un microprocesseur d'un système d'ordinateur installé exige un dépannage ou un déverminage, une intervention d'entretien peut être nécessaire Le résultat d'une intervention d'entretien est souvent un client peu satisfait, un arrêt d'ordinateur, des dépenses inutiles et une perte de réputation Il serait avantageux de réaliser un microprocesseur pour lequel un diagnostic peut être exécuté à distance. Ce serait un autre avantage que de réaliser un microprocesseur incluant un circuit qui peut, en utilisant des instructions amenées par un signal extérieur, examiner l'état du processeur et exécuter des instructions sans affecter cet état Ce serait un avantage additionnel que le circuit utilise un matériel et des broches déjà prévues sur la microplaquette d'une manière telle que le coût de mise en oeuvre du circuit soit faible et que son inclusion dans des microprocesseurs produits en série livrés au client soit par conséquent économique Un tel microprocesseur posséderait des applications pour les concepteurs d'ordinateurs, les fabricants, les programmeurs de système, les programmeurs d'applications, et le personnel d'entretien qui effectue l'entretien chez le client. La présente invention fournit un mode ordonné de l'extérieur, sensible à des ordres et des instructions engendrés à l'extérieur pour accéder directement à l'état du processeur et à l'unité d'exécution Des avantages du mode ordonné de l'extérieur incluent l'aptitude du microprocesseur à des essais De plus, le mode ordonné de l'extérieur fournit une façon de surveiller le fonctionnement du microprocesseur Un concepteur de système ou un ingénieur d'entretien peut examiner et modifier l'état du processeur sans affecter par ailleurs le contenu des registres, y compris des registres qui ne seraient visibles qu'à un programme de niveau de supervision ou à un programme privilégié. Dans le mode de réalisation préféré, il est possible d'accéder à tous les registres et à tous les compteurs. L'utilisateur peut également examiner et modifier le contenu de la mémoire et des espaces d'entrée/sortie (E/S) Il existe des ordres prévus pour l'accès à l'unité à virgule flottante et à toute autre unité de traitement parallèle De plus, toute instruction qui peut être exécutée par l'unité d'exécution peut l'être par l'intermédiaire du mode ordonné de l'extérieur. Le mode ordonné de l'extérieur offre un accès direct à l'unité d'exécution et évite une mise à jour implicite qui affecterait dans le cas contraire l'état du processeur et qui nécessiterait donc de sauvegarder l'état du processeur Puisque l'état du processeur n'est pas modifié, la nécessité de sauvegarder l'état du processeur dans une mémoire de remplacement est évitée Un autre avantage consiste en une utilisation, moyennant de faibles modifications, de circuits classiques qui sont déjà sur la microplaquette dans un autre but, et en une utilisation d'un protocole de communication classique qui peut être mis en oeuvre avec des composants disponibles commercialement Dans le mode de réalisation préféré, des ordres et des instructions extérieurs sont amenés au moyen d'un port d'accès d'essai (TAP) classique réalisé selon le standard "boundary scan" 1149 1 de IEEE et utilise le protocole "Joint Test Access Group", ou JTAG (c'est-à- dire groupe commun d'accès d'essai) pour les communications L'utilisation de ce port signifie qu'aucune broche additionnelle n'est nécessaire pour mettre en oeuvre le mode d'examen en amenant des économies de coût Le mode ordonné de l'extérieur est applicable à des processeurs en pipe-line et à des processeurs qui possèdent des pipe-lines multiples fonctionnant en parallèle. De façon plus spécifique, la présente invention réalise, selon un premier aspect, un circuit d'ordinateur destiné à fonctionner dans un mode piloté par processeur en réponse à une série d'instructions mémorisées provenant d'une mémoire d'ordinateur, et aussi à fonctionner dans un mode ordonné de l'extérieur en réponse à une instruction engendrée à l'extérieur et à un ordre engendré à l'extérieur, caractérisé en ce qu'il comprend un moyen de choix de mode pour choisir le mode de fonctionnement ordonné de l'extérieur ou le mode de fonctionnement piloté par processeur; une unité d'exécution pour exécuter des instructions; un multiplexeur pour amener à l'unité d'exécution une instruction choisie; un trajet d'instruction piloté par processeur pour amener à une entrée du multiplexeur lesdites instructions mémorisées; un trajet d'instruction extérieur pour amener à une entrée du multiplexeur une instruction engendrée à l'extérieur; et un moyen sensible au moyen de choix de mode pour commander le multiplexeur pour choisir, pendant un fonctionnement piloté par processeur, une instruction mémorisée provenant du trajet d'instruction piloté par processeur, et pendant un fonctionnement en mode ordonné de l'extérieur, une instruction engendrée à l'extérieur provenant du trajet d'instruction extérieur. Le trajet d'instruction piloté par processeur peut comprendre un décodeur qui met à jour l'indicateur d'instruction de manière coïncidente avec un décodage d'une instruction. Le trajet d'exécution extérieur peut comprendre un registre d'instructions pour mémoriser une instruction engendrée à l'extérieur. Le moyen de choix peut inclure une broche de marche/arrêt qui, lorsqu'elle est affirmée, interrompt le fonctionnement du trajet d'instruction piloté par processeur. le moyen de choix de mode peut inclure une logique de commande, sensible à un ordre engendré à l'extérieur, pour interrompre le fonctionnement du trajet d'instruction piloté par processeur. Le moyen de choix peut inclure un registre de commande de mode d'examen qui inclut un drapeau de réorientation d'instruction (IR) pour interrompre lé fonctionnement du trajet d'instruction piloté par processeur lorsqu'une exception de déverminage est rencontrée pendant le fonctionnement du trajet d'instruction piloté par processeur. Le circuit peut comprendre en outre une broche d'accusé de réception qui envoie un signal indiquant si le processeur est dans le mode ordonné de l'extérieur et est prêt à exécuter une instruction engendrée à l'extérieur. Selon un deuxième aspect, l'invention réalise un circuit d'ordinateur incluant un processeur, ledit circuit fonctionnant dans un mode piloté par processeur dans lequel le circuit exécute une série d' d'examines mémorisés dans une mémoire d'ordinateur, et étant apte aussi à fonctionner dans un mode d'examen dans lequel le circuit reçoit un signal extérieur qui peut inclure des ordres engendrés à l'extérieur et une instruction de donnée de mode d'examen, caractérisé en ce que ledit circuit comprend: un moyen de choix de mode pour choisir entre le mode piloté par processeur et le mode d'examen; un port d'accès, incluant: un moyen de réception et d'envoi du signal extérieur; un moyen d'envoi d'information au processeur et de réception d'information depuis le processeur; une logique de commande pour commander l'interface entre le port et l'unité de processeur,; un registre d'instructions d'examen pour retenir une instruction de mode d'examen reçue dans le signal extérieur, et un registre de données d'examen pour retenir des données; une unité d'exécution pour exécuter des instructions; et un multiplexeur qui choisit une instruction à amener à l'unité d'exécution, ledit multiplexeur choisissant entre une entrée incluant une instruction provenant du trajet piloté par processeur et une instruction de mode d'examen provenant du registre d'instructions d'examen. Le circuit d'ordinateur peut comprendre en outre un moyen, sensible à un ordre engendré à l'extérieur, de lancement d'une exécution d'une instruction du registre d'instructions d'examen. Le moyen de choix de mode peut inclure une broche marche/arrêt qui interrompt, lorsqu'elle est affirmée, le fonctionnement du trajet d'instruction piloté par processeur. Le moyen de choix de mode peut inclure une logique de commande, sensible à un ordre engendré à l'extérieur, pour interrompre le fonctionnement du trajet d'instruction piloté par processeur. Le moyen de choix de mode peut inclure un registre de commande de mode d'examen qui inclut un drapeau de réorientation d'instruction pour interrompre le fonctionnement du trajet d'instruction piloté par processeur lorsqu'une exception de déverminage est rencontrée pendant le fonctionnement en mode piloté par processeur. Le circuit peut comprendre en outre une broche d'accusé de réception qui amène un signal indiquant si le processeur est dans le mode d'examen et est prêt à exécuter une instruction dans le registre d'instructions d'examen. Selon un troisième aspect, l'invention réalise un microprocesseur destiné à fonctionner sélectivement dans un mode piloté par processeur dans lequel le microprocesseur est sensible à une série d'instructions mémorisées dans une mémoire d'ordinateur, et à fonctionner dans un mode ordonné de l'extérieur dans lequel le microprocesseur est sensible à des instructions engendrées à l' extérieur, caractérisé en ce que ledit microprocesseur comprend: un moyen de choix entre le mode ordonné de l'extérieur et le mode piloté par processeur; une unité d'exécution pour exécuter des instructions; un moyen d'amenée, à l'unité d'exécution, d'une instruction engendrée à l'extérieur lorsque le mode ordonné de l'extérieur est choisi; et un moyen d'amenée, à l'unité d'exécution, d'une instruction mémorisée lorsque le mode piloté par processeur est choisi; un moyen de mise à jour pour mettre à jour implicitement l'information d'état du processeur avant d'amener à l'unité d'exécution ladite instruction mémorisée lorsque ledit mode piloté par processeur est ll choisi, ladite information d'état de processeur incluant un indicateur d'instruction; et un moyen de contournement desdits moyens de mise à jour lorsque le mode ordonné de l'extérieur est choisi. Le moyen d'amenée, à l'unité d'exécution, d'une instruction mémorisée peut comprendre en outre un décodeur qui met à jour l'indicateur d'instruction avant d'amener à l'unité d'exécution l'instruction décodée. Le moyen d'amenée, à l'unité d'exécution, d'une instruction engendrée à l'extérieur peut inclure un registre d'instructions pour mémoriser une instruction engendrée à l'extérieur. Le microprocesseur peut comprendre en outre une broche d'accusé de réception qui envoie un signal indiquant si le processeur est dans le mode ordonné de l'extérieur et est prêt à exécuter une instruction engendrée à l'extérieur. Selon un quatrième aspect, l'invention fournit un procédé ordonné de l'extérieur destiné à la mise en oeuvre d'un microprocesseur comprenant un flux d'instructions en pipe-line à travers un trajet d'instruction piloté par processeur qui met à jour implicitement un état d'information, incluant l'indicateur d'instruction, avant d'amener une instruction à une unité d'exécution, ledit procédé ordonné de l'extérieur étant caractérisé en ce qu'il comprend les étapes consistant à: réaliser un trajet d'instruction extérieur couplant un signal extérieur à l'unité d'exécution, ledit trajet d'instruction extérieur contournant la mise à jour implicite du trajet d'instruction piloté par processeur; amener une instruction par le trajet d'instruction extérieure en vue d'une exécution dans l'unité d'exécution; et exécuter ladite instruction dans l'unité d'exécution. De préférence, le trajet d'instruction extérieur inclut un registre d'instructions; l'étape d'envoi de l'instruction à travers le trajet ordonné de l'extérieur inclut une mémorisation de l'instruction dans le registre d'instructions; et l'étape d'exécution de l'instruction dans l'unité d'exécution comprend une lecture du registre d'instructions. Le procédé peut comprendre en outre les étapes consistant à: réaliser un trajet extérieur de données couplant le signal extérieur à l'unité d'exécution, ledit trajet extérieur de données incluant le registre de données qui peut être écrit ou lu sous la commande du signal extérieur; si ladite instruction fait lire l'état du processeur ou une autre donnée dans l'unité d'exécution, mémoriser alors cette donnée dans ledit registre de données et lire la donnée en utilisant la signal extérieur; et si ladite instruction fait écrire une donnée dans l'unité d'exécution, utiliser alors le signal extérieur pour mémoriser la donnée dans le registre de données et faire lire ensuite le registre de données par l'unité d'exécution. Le procédé peut comprendre en outre une étape de lancement de ladite étape d'exécution en amenant à une unité de commande, un ordre engendré à l'extérieur. Selon un cinquième aspect, l'invention fournit un procédé de mise en oeuvre d'un microprocesseur, caractérisé en ce qu'il comprend les étapes consistant à: choisir un mode d'exécution d'instructions, ledit mode incluant un procédé d'exécution d'instructions en mode d'examen et un procédé d'exécution d'instructions en mode piloté par processeur; l'exécution des instructions comprenant, si le mode piloté par processeur a été choisi, les étapes consistant à: rechercher une instruction dans la mémoire et l'amener à un décodeur, décoder l'instruction pour amener une ou plusieurs microinstructions qui sont appliquées l'une après l'autre à l'unité d'exécution, mettre à jour une information d'état de processeur incluant un indicateur d'instruction, et exécuter des microinstructions amenées par le décodeur, et l'exécution des instructions comprenant, si le mode d'examen a été choisi, les étapes consistant à: amener une instruction engendrée à l'extérieur, et exécuter l'instruction engendrée à l'extérieur sans mettre à jour implicitement l'indicateur d'instruction et une autre information d'état de processeur. Le procédé peut comprendre en outre une étape d'affirmation d'une broche d'accusé de réception pour indiquer quand le mode d'examen a été choisi et quand le processeur est prêt à exécuter une instruction. L'exécution d'instructions engendrées à l'extérieur peut comprend en outre, si le mode d'examen a été choisi, l'étape consistant à: mémoriser dans un registre d'instructions une instruction engendrée à l'extérieur; et lire le registre d'instructions pour exécuter ladite instruction engendrée à l'extérieur mémorisée. Le procédé peut comprendre en outre l'étape consistant à, mémoriser, si ladite instruction engendrée à l'extérieur fait lire une donnée dans l'unité d'exécution, cette donnée dans un registre de données et lire la donnée du registre de données. Le procédé peut comprendre en outre, si ladite instruction engendrée à l'extérieur fait écrire une donnée dans l'unité d'exécution, les étapes consistant à mémoriser la donnée dans le registre de données et lire ensuite le registre de données vers l'unité d'exécution. Le procédé peut comprendre en outre une étape de lancement de ladite étape d'exécution de l'instruction engendrée à l'extérieur en amenant à l'unité de commande un ordre engendré à l'extérieur. L'étape de choix d'un mode de fonctionnement peut inclure les étapes consistant à affirmer une broche extérieure et commander le trajet d'instruction piloté par processeur d'une manière telle que les étapes de recherche, de décodage et de mise à jour du mode piloté par processeur sont interrompues. L'étape de choix d'un mode de fonctionnement peut inclure l'étape consistant à appliquer à une logique de commande un signal qui interrompt les opérations de recherche, de décodage et de mise à jour du mode de fonctionnement piloté par processeur. L'étape de choix de mode de fonctionnement peut inclure les étapes consistant à: placer un drapeau de réorientation d'interruption dans un registre de commande de mode d'examen; détecter, pendant le fonctionnement du mode piloté par processeur, une exception de déverminage; essayer le drapeau de réorientation d'interruption afin de déterminer s'il a été placé; puis choisir, si le drapeau de réorientation d'interruption a été placé, le mode d'examen à logique de commande qui interrompt les opérations de recherche, de décodage et de mise à jour du mode de fonctionnement piloté par processeur. Les buts, particularités et avantages de la présente invention ainsi que d'autres seront mieux compris à partir d'une description détaillée d'un mode de réalisation préféré en se référant aux dessins dans lesquels des éléments similaires sont désignés partout par des références numériques similaires et dans lesquels: La Fig 1 est un schéma fonctionnel illustrant la structure d'un port d'accès et d'un processeur, et de leur interface. La Fig 2 est un schéma logique qui représente des étapes apparaissant dans le mode piloté par processeur et des étapes apparaissant dans le mode ordonné de l'extérieur. La Fig 3 est un schéma logique détaillant des étapes apparaissant dans le mode d'examen du mode de réalisation préféré. La Fig 4 est un schéma logique illustrant le choix du mode d'examen pour traiter une exception de déverminage. La Fig 5 est un schéma logique illustrant un procédé d'accès au mode d'examen par une exception de déverminage. On se réfère en premier lieu à la Fig 1 qui est un schéma fonctionnel illustrant une unité de processeur 10 et un port d'accès 12 Dans le mode de réalisation préféré, ces structures, l'unité de processeur 10 et le port d'accès 12, sont incluses dans un boîtier unique de microplaquette de semi-conducteur. Dans d'autres modes de réalisation, les fonctions décrites ici peuvent être exécutées par des unités équivalentes dans des microplaquettes séparées. Le processeur 10 inclut un trajet d'instruction 14 piloté par processeur Dans ce trajet d'instruction 14 piloté par processeur sont incluses des configurations d'envoi d'instructions à une unité d'exécution Ces configurations peuvent comprendre de nombreuses configurations parmi celles qui sont connues classiquement Le trajet d'instruction 14 piloté par processeur peut inclure des unités d'entrée d'instructions en cache, de recherche de ces instructions, d'entrée de celles-ci en tampons, de décodage de celles-ci et d'entrée d'instructions en tampons en vue de leur exécution A l'intérieur du trajet d'instruction 14 piloté par processeur se trouvent des composants qui sont commandés classiquement par une unité centrale de commande 16. Afin d'exercer ses fonctions, l'unité centrale de commande 16 inclut une logique classique de commande nécessaire pour surveiller et commander les opérations du processeur 10, y compris le trajet d'instruction 14 piloté par processeur Une instruction amenée par le trajet d'instruction 14 piloté par processeur est amenée à un multiplexeur 18 qui envoie lui même une instruction à une unité d'exécution 20 L'unité d'exécution 20 peut inclure de nombreux registres polyvalents, une unité arithmétique (ALU), des registres de commande et une logique de commande. L'unité d'exécution 20 peut accéder à une mémoire 21. Un coprocesseur, par exemple une unité 22 à virgule flottante, peut être relié à l'unité d'exécution 20 afin d'apporter des fonctions additionnelles au-delà de celles qui sont normalement effectuées dans l'unité d'exécution Un espace E/S 23 peut également être relié à l'unité d'exécution 20. A l'intérieur de l'unité centrale de commande 16 se trouve une logique de choix de mode, comme illustré dans une unité de choix de mode 24 Dans le mode de réalisation préféré, le mode d'examen peut être choisi par l'un des trois procédés qui seront décrits de façon plus détaillée ci-après En bref, un procédé examine le contenu du registre 26 de commande de mode d'examen en suivant l'apparition d'une exception de déverminage afin dedéterminer s'il faudrait accéder au mode d'examen ou s'il faudrait invoquer un dévermineur de logiciel Un accès au mode d'examen au moyen du registre 26 de commande de mode d'examen est décrit de façon plus complète en référence à la Fig 4 Un autre procédé de choix de mode consiste en une affirmation d'une broche marche/arrêt 30 qui est disposée à l'extérieur sur la microplaquette du microprocesseur. Lorsque la broche marche/arrêt 30 est affirmée, l'unité centrale de commande 16 arrête le fonctionnement du processeur 10 à une limite d'instruction En bref, lorsque la broche marche/arrêt 30 est affirmée, le fonctionnement du processeur 10 est interrompu à la limite suivante d'instruction On considère une "limite d'instruction" du point de vue de l'unité d'exécution. Une limite d'instruction peut être définie comme le point qui suit l'instant o l'unité d'exécution a achevé toutes les modifications de registres, de drapeaux, et de mémoire pour une première instruction, et qui précède l'instant o elle commence une modification des registres, des drapeaux et de mémoire pour l'instruction qui suit immédiatement dans le pipe- line Lorsque le processeur est interrompu de cette manière, l'unité d'exécution 20 reste disponible pour effectuer des opérations, mais le trajet d'instruction 14 piloté par processeur ne peut émettre d'autres instructions à l'unité d'exécution 20 Un autre procédé d'accès au mode d'examen encore s'effectue par le port d'accès 12, comme décrit ci-dessous. Un trajet extérieur d'ordre utilisé dans le "mode ordonné de l'extérieur" est réalisé par le port d'accès 12 Un signal extérieur 32 envoie des ordres, des données et des instructions à une unité d'interface 34 située à l'intérieur du port d'accès 12 Le signal extérieur 32 est amené par l'unité de commande extérieure, par exemple un dévermineur sous forme de matériel, un émulateur en circuit, une unité de commande reliée à un processeur de diagnostic, ou un appareil d'examen de carte de circuit lors de la fabrication L'unité d'interface 34 est reliée à un registre d'instructions d'examen (PIR) 36 et à un registre de données d'examen (PDR) 38 L'unité d'interface 34 inclut une logique de commande 40 qui est reliée à l'unité centrale de commande 16 Dans un but de définition, un "ordre" est un ordre au port d'accès 12 qui exerce une fonction ou émet un ordre, par exemple: exécuter une instruction dans le registre d'instructions d'examen 36, interrompre le fonctionnement du processeur 10, ou choisir le mode ordonné de l'extérieur Une "instruction" ou "microinstruction" est une instruction mémorisée dans le registre d'instructions d'examen 36 qui doit être exécutée dans l'unité d'exécution 20. Le registre d'instructions d'examen (PIR) 36 est relié à une entrée du multiplexeur 18 Lors d'une entrée dans le processeur en mode ordonné de l'extérieur, l'unité centrale de commande 16 commande le multiplexeur d'une manière telle que le contenu du registre d'instructions d'examen 36 est amené à l'unité de commande 20 Le registre de données d'examen 38 est également relié à l'unité d'exécution 20, qui peut lire son contenu ou y mémoriser une donnée Le registre de données d'examen 38 est utilisé pour transférer une donnée à l'unité d'exécution 20 ou à partir de celle- ci Dans un fonctionnement utilisant le registre de données d'examen 38, celui-ci est chargé en utilisant le signal extérieur 32 avant de commencer l'exécution d'une instruction dans le registre d'instructions d'examen 36 En outre, après l'exécution dans l'unité d'exécution 20, si une donnée a été placée dans le registre de données d'examen 38 par suite d'une instruction amenée par le registre d'instructions d'examen 36, cette donnée peut être lue par l'interface 34 à un instant quelconque qui suit sa mémorisation dans le registre de données d'examen 38. Dans le mode de réalisation préféré, la forme du port d'accès est celle du port d'accès d'essai standard (TAP) conçu conformément au standard Boundary Scan 1149 1 IEEE et utilise le protocole Joint Test Access Group (JTAG) pour les communications Des particularités minimales sont nécessaires pour un tel TAP en fonction des exigences du JTAG La spécification IEEE 1149 1 décrit un mécanisme d'addition de particularités optionnelles au TAP Pour le mode de réalisation préféré, le registre d'instructions d'examen 36 et le registre de données d'examen 38 sont implantés sous forme de "registres de données d'essais" selon l'addition de particularités optionnelles de la spécification IEEE 1149 1 Des instructions TAP sont amenées pour accéder à ces registres 36, 38 et pour effectuer la commande illustrée par la case 40 En résumé, le port d'accès 12 comprend une interface JTAG, selon la description du standard IEEE 1149 1 qui permet à des données et des instructions d'être échangées entre le port d'accès 12 et un signal extérieur 32. Selon le standard IEEE 1149 1, cinq broches (non représentées) constituent une interface sérielle entre le signal extérieur 32 et le processeur 10 Cette broche inclut la broche d'entrée de donnée d'essai (TDI) et la broche de sortie de donnée d'essai (TDO). La broche TDI est utilisée pour décaler une donnée ou des instructions vers le port d'accès 12 de manière sérielle La broche TDO décale vers la sortie les données de réponse La broche de choix de mode d'essai (TMS) est utilisée pour commander l'état du régulateur de port d'accès Le signal d'horloge d'essai (TCK) est amené par la broche TCK Typiquement, des entrées sont échantillonnées sur le bord montant de ce signal La broche d'état de restauration de logique d'essai (TRST) contraint vers l'état de restauration de logique d'essai le régulateur de port d'accès On se référera au standard IEEE 1149 1 pour des informations additionnelles. Le port d'accès 12 met en oeuvre un ordre "WRITE PIR" (c'est-à-dire écrire dans registre d'instructions d'examen) qui est utilisé pour constituer une microinstruction à envoyer à l'unité d'exécution 20 Le port d'accès 12 inclut également un ordre "SUBMIT PIR" (c'est-à-dire soumettre registre d'instructions d'examen) pour indiquer que le registre d'instructions d'examen 36 contient une microinstruction valide et que l'exécution devrait commencer à l'intérieur de l'unité d'exécution 20 Le contenu du registre d'instructions d'examen 36 n'est écrit que par le port d'accès 12, et il ne peut pas être écrit par l'unité d'exécution 20. Des microinstructions peuvent être soumises à nouveau, pour des buts tels que des opérations répétitives comme l'écriture ou la lecture de blocs de mémoire Il n'est pas nécessaire de réécrire le registre d'instructions d'examen 36 lorsque l'on soumet à nouveau une instruction à l'unité d'exécution 20. On se réfère maintenant à la Fig 2 qui est un schéma logique qui représente une séquence d'étapes qui se produit si le mode piloté par processeur est choisi, et qui représente aussi une séquence d'étape qui se produit si le mode ordonné de l'extérieur est choisi. En commençant à la case de début au sommet du schéma logique de la Fig 2, un choix est effectué, comme représenté à la case 50, pour choisir le mode piloté par processeur ou le mode ordonné de l'extérieur Sur la base de ce choix, une décision est prise comme représenté à une case de décision 52 Si un mode piloté par processeur est choisi, une instruction est recherchée dans la mémoire, comme représenté à une case 54 L'instruction est décodée, comme représenté à une case 55 Puis, l'information d'état, par exemple l'indicateur d'instruction, est mise à jour implicitement dans le processeur 10, comme illustré à une case d'opération 56 Une microinstruction est ensuite émise, comme représenté à la case 57 Cette microinstruction est exécutée comme illustré à une case 58 Il est déterminé à une case de décision 59 si des microinstructions sont ou non nécessaires pour achever l'exécution de l'instruction recherchée S'il faut davantage de microinstructions, un séquenceur de microcodes est invoqué, comme illustré à une case d'opération 60 Le séquenceur de microcodes émet une microinstruction ultérieure comme représenté à une case 61, et revient ensuite à la boucle pour exécuter la microinstruction comme représenté à la case 58 Dans certains microprocesseurs, l'instruction recherchée peut exiger l'émission de nombreuses microinstructions avant que l'exécution ne soit achevée Dans d'autres processeurs, comme des processeurs à jeu d'instructions réduit (en abrégé: ordinateurs RISC), l'instruction recherchée est décodée de façon minimale avant d'être amenée à l'unité d'exécution 20. Le fonctionnement du processeur, à partir de la recherche en passant par le décodage et la mise à jour de l'information d'état, peut être illustré par l'exemple suivant Dans cet exemple, une instruction non décodée d'une longueur variable est recherchée dans la mémoire à la case 54 Selon l'hypothèse de cet exemple, un décodage est nécessaire La longueur de l'instruction est déterminée, et l'instruction est décodée Sur la base de la longueur de l'instruction, l'information d'état (c'est-à-dire l'indicateur d'instruction) est mise à jour à la longueur de l'instruction. En revenant à la Fig 2, lorsqu'aucune nouvelle microinstruction n'est nécessaire, l'exécution de l'instruction recherchée est finie Pour compléter la boucle pilotée par processeur, l'opération sort de la case de décision 59 et revient à l'emplacement qui précède case de choix 50 dans laquelle on a choisi le mode piloté par processeur ou le mode ordonné de l'extérieur En fonctionnement, la boucle de mode piloté par processeur est typiquement exécutée un très grand nombre de fois avant qu'il ne soit choisi de passer au mode ordonné de l'extérieur Un choix d'un mode, tel qu'illustré à la case 50, est décrit ultérieurement de façon plus détaillée en référence à la Fig 4 dans la présente description. Si le mode ordonné de l'extérieur est choisi au lieu du mode piloté par processeur, une instruction engendrée à l'extérieur peut être amenée comme illustré à une case d'opération 70 Puis, comme illustré à une case de décision 72, le processeur attend l'ordre d'exécution et, lorsque ce dernier est reçu, l'instruction est exécutée comme illustré à une case d'opération 74 Après l'exécution, afin d'achever la boucle d'ordre extérieur, l'opération revient à la case d'opération 50 dans laquelle un choix est effectué entre le mode piloté par processeur et le mode ordonné de l'extérieur Si l'on passe à nouveau par la boucle ordonnée de l'extérieur, si le mode ordonné de l'extérieur a été choisi, le processeur attend qu'une instruction engendrée à l'extérieur ait été amenée, que l'ordre d'exécution ait été reçu comme illustré à la case de décision 72 et que l'instruction soit exécutée comme illustré à une case d'opération 74 Le fonctionnement du mode ordonné de l'extérieur est illustré de façon plus spécifique en référence à la Fig 3 ci-dessous Dans le mode de réalisation préféré, le mode ordonné de l'extérieur est appelé le "mode d'examen" parce qu'il peut être utilisé pour examiner le système d'ordinateur, y compris l'unité d'exécution, ses registres, sa mémoire, et l'unité à virgule flottante. On se réfère maintenant à la Fig 3 qui est un schéma logique illustrant le fonctionnement d'un mode ordonné de l'extérieur, appelé le "mode d'examen", dans le mode de réalisation préféré La case 80 illustre le fait que le mode d'examen a été choisi Après le choix du mode d'examen, un temps fini s'écoule avant que le processeur ne soit en fait dans le mode d'examen et ne soit prêt à exécuter une instruction de mode d'examen. Comme illustré à une case de décision 82, le processeur attend jusqu'à ce qu'il soit dans le mode d'examen avant de poursuivre Dans le mode de réalisation préféré, le processeur 10 attend que l'instruction en cours d'exécution ait achevé toutes les modifications de registres Dans l'opération suivante, illustrée à une case 84, une broche d'accusé de réception 86 est affirmée On se réfère brièvement à la Fig 1 qui représente la broche d'accusé de réception 86 Il devrait ressortir du schéma logique de la Fig 3 que la broche d'accusé de réception 86 est affirmée pour indiquer que le processeur 10 est dans le mode d'examen et est prêt à exécuter des instructions Puis, comme illustré à une case de décision 88, l'opération attend qu'un ordre soit reçu depuis le port d'accès 12 pour exécuter l'instruction Lorsque l'ordre a été reçu, la broche d'accusé de réception 86 cesse d'être affirmée, ce qui est parfois désigné par le mot "désaffirmée", pour indiquer que l'unité d'exécution 20 a accepté l'instruction du registre d'instructions d'examen (PIR) 36 et commence son exécution comme illustré à une case d'opération 90 L'exécution continue et est achevée comme illustré à une case d'opération 92 Lorsque l'exécution est complète, la broche d'accusé de réception 86 est affirmée, comme illustré à une case d'opération 94 Après cette opération, le processeur 10 revient à l'étape précédant la case de décision 88. Si une donnée a été écrite, pendant l'exécution, dans le registre de données d'examen (PDR) 38, une étape additionnelle peut être exécutée par l'opérateur pour lire la donnée au moyen du port d'accès 12 Comme illustré à une case de décision 96, si une donnée a été écrite dans le PDR 38 pendant l'exécution, une étape ultérieure peut consister à lire la donnée PDR dans le port d'accès 12, comme illustré à une case d'opération 98 Cependant, si aucune donnée n'a été écrite dans le PDR 38 pendant l'exécution, aucune autre action n'est nécessaire, comme illustré à une case 99. On se réfère à la partie haute du côté gauche de la Fig 3, o deux cases d'opérations illustrent une information passant vers les registres 36, 38 A une case d'opération 100, le registre d'instructions d'examen 36 est chargé par le port d'accès 12 A une case d'opération 102, le registre de données d'examen 38 est chargé par le port d'accès 12 Comme représenté à la Fig 3, cette information est de préférence amenée avant la case de décision 88 dans laquelle est reçu un ordre d'exécution On peut cependant noter que les opérations des cases 100, 102 ne sont pas liées à une apparition spécifique dans l'autre partie du schéma logique Dans le fonctionnement du mode de réalisation préféré, les chargements du registre d'instructions d'examen 36 et du registre de données d'examen 38 sont exécutés indépendamment des opérations restantes Par conséquent, du point de vue de l'utilisateur du mode d'examen, il est utile qu'il soit informé, avant d'émettre un ordre d'exécuter une instruction, de ce qu'une instruction légitime est ou non actuellement présente dans le registre d'instructions d'examen 36, et que le processeur 10 est prêt à accepter un ordre, comme indiqué par la broche d'accusé de réception 86. En outre, si la donnée doit exécuter l'ordre, l'utilisateur doit s'assurer qu'une donnée légitime est amenée dans le registre de données d'examen 38 avant de commencer l'exécution de l'instruction. On va maintenant décrire le mécanisme de choix dé mode d'examen En se référant à la description qui précède, il a été indiqué en référence à la Fig 1 que le choix de mode se produit dans l'unité centrale de commande 16 dans la case de choix de mode 24 En se référant à la Fig 2, il a été indiqué qu'un choix a été effectué entre le mode piloté par processeur et le mode ordonné de l'extérieur à une case d'opération 50. A la Fig 3, on a supposé à la case 80 que le mode d'examen a été choisi Dans le mode de réalisation préféré, le choix du mode d'examen peut être réalisé en utilisant l'un des trois procédés suivants: un premier procédé consiste en un ordre émis en passant par le port d'accès 12, un second procédé s'effectue par un mécanisme de déverminage prévu, soit dans le trajet d'instruction 14 piloté par processeur, soit dans l'unité d'exécution 20, et un troisième procédé utilise la broche marche/arrêt 30. Pour le premier et le troisième procédés du mode de réalisation préféré, la transition vers le mode d'examen présente des caractéristiques communes A l'intérieur de l'unité de choix de mode 24 peut être prévu un dispositif de priorité d'interruption qui surveille et commande l'interruption du processeur 10. Le premier et le troisième procédés opèrent par l'intermédiaire du dispositif de priorité d'interruption Dans le mode de réalisation préféré, ces procédés affirment dans le dispositif de priorité d'interruption une interruption de haut niveau qui interrompt le fonctionnement du trajet d'instruction piloté par processeur, à la limite d'instruction suivante, et choisit une entrée dans le multiplexeur 18 d'une manière telle qu'un trajet d'instruction est réalisé à partir du registre d'instructions d'examen 36 En outre, après que le choix du mode d'examen a été achevé, la broche d'accusé de réception 86 est affirmée pour indiquer que l'unité d'exécution 20 est prête à recevoir des instructions de mode d'examen. Dans le premier procédé d'accès au mode d'attente, un ordre du signal extérieur 32 est amené par l'interface 34 La logique de commande 40 détermine si l'ordre est émis pour accéder au mode d'examen Si tel est le cas, elle envoie un signal à l'unité de choix de mode 24 à l'intérieur de l'unité centrale de commande 16 En variante, la broche marche/arrêt 30 envoie un signal semblable à l'unité de choix de mode 24. On se réfère maintenant aux Fig 4 et 5 qui sont des schémas logiques illustrant un accès au mode d'examen par l'intermédiaire d'une exception de déverminage selon le mode de réalisation préféré La case 110 illustre un choix décidé par un utilisateur selon lequel, par exemple, les exceptions de déverminage invoquent le mode d'examen ou les exceptions de déverminage invoquent un dispositif de traitement de déverminage 112 (Fig 1) Dans le mode de réalisation préféré, un registre de commande de mode d'examen (PMCR) fait partie de l'état de processeur qui peut être modifié à l'intérieur du mode d'examen par une instruction Ce registre de commande inclut un drapeau à bit unique, le drapeau de réorientation d'interruption (IR) qui est essayé lorsque des exceptions d'interruption sont détectées, comme décrit de façon plus détaillée ci-après Une décision est ensuite prise, comme illustré à une case de décision 114, sur la base du fait que le mode d'examen a ou non été choisi Si le mode d'examen a été choisi, on entre dans le mode d'examen, comme illustré à une case 115. Puis, une instruction est émise, par l'intermédiaire du port d'accès 12, de placer le drapeau IR dans le registre de commande de mode d'examen (PMCR) 26 comme illustré à une case d'opération 116 Ultérieurement, le processeur quitte le mode d'examen, comme illustré à une case d'opération 117, et l'opération se poursuit à une case 118 En revenant à la décision 114, si le mode d'examen n'a pas été choisi, le dispositif de traitement de déverminage 112 exécute. On se réfère maintenant au schéma logique de la Fig 5, o une case de début illustre le commencement de l'opération du processeur 10 Après le début, une instruction est recherchée comme illustré à une case Si aucun défaut de point d'interruption n'est détecté, comme illustré à une case de décision 122, l'instruction est décodée comme illustré à une case d'opération 124 Une détection de point d'interruption peut se produire avant le décodage dans la case 124 ou en coïncidence avec celui- ci Puis, l'instruction est exécutée comme illustré à une case d'opération 126 Un point d'interruption "défaut" est défini comme une exception qui fait l'objet d'une intervention avant l'exécution de l'instruction Un point d'interruption "piège" est défini comme une exception qui fait l'objet d'une intervention après l'achèvement de l'instruction qui a engendré l'exception A l'intérieur de la case d'instruction 126, si aucun point d'interruption piège n'est détecté comme illustré à une case de décision 128, la boucle est répétée, en commençant par la recherche de l'instruction dans la case 120, le décodage de l'instruction dans la case 124 et ainsi de suite en parcourant la boucle. Si le point d'interruption défaut est détecté dans la case de décision 122, après le décodage, ou si un point d'interruption piège est détecté dans l'exécution à la case 126, le drapeau de réorientation d'instruction (IR) du registre 26 de commande de mode d'examen est vérifié pour déterminer s'il est ou non placé, comme illustré à une case de décision 130 Si le drapeau IR est placé, le processeur entre dans le mode d'examen comme illustré à une case 132, sans exécuter d'instructions additionnelles En revanche, si le drapeau IR n'est pas placé, le point d'interruption est traité par l'intermédiaire du dispositif de traitement de déverminage, comme illustré à une case d'opération 134 L'opération du dispositif de traitement de déverminage illustrée à la case d'opération 134 est un procédé classique de traitement de déverminage et de point d'interruption. Pour sortir du mode d'examen, deux procédés ont été mis en oeuvre Selon un procédé, la broche marche/arrêt 30 (Fig 1) peut simplement cesser d'être affirmée, par exemple en la tirant à une tension basse si elle est "active haute" Dans un autre procédé, la logique de commande 40 émet, à l'unité de choix de mode 24, un ordre de choisir le mode piloté par processeur. Cependant, cet ordre n'est suivi d'aucun effet si la broche marche/arrêt 30 est affirmée En d'autres termes, selon la mise en oeuvre présentée ici, une affirmation de la broche marche/arrêt est prioritaire vis-à-vis d'un ordre extérieur parvenant par le port d'accès 12. On va maintenant décrire le format de l'instruction de mode d'examen Comme décrit plus haut, une instruction de mode d'examen à exécuter dans l'unité d'exécution est mémorisée en premier lieu dans le registre d'instructions d'examen (PIR) 36 Cette instruction est ensuite amenée directement par le multiplexeur 18 à l'unité d'exécution 20 Par conséquent, le format de l'instruction à l'intérieur du registre d'instructions d'examen 36 doit être tel qu'il puisse être exécuté par une unité d'exécution 20 Afin que cette instruction puisse être reconnue par l'unité d'exécution 20, son format doit être un sous-ensemble des instructions qui peuvent être exécutées à l'intérieur de l'unité d'exécution 20 En raison de la grande variété d'instructions dans des architectures différentes d'ordinateurs, aucune forme particulière d'instructions ou de sous- ensembles d'instructions n'est exigée par la présente invention pour une instruction amenée par l'intermédiaire du registre d'instructions d'examen 36 En général, les instructions seront de simples instructions de chargement de mémoire afin d'examiner l'état du processeur 10, en particulier les registres à l'intérieur de l'unité d'exécution 20 Cependant, des opérations plus complexes peuvent être exécutées et, en fait, toute instruction qui peut être reconnue à l'intérieur de l'unité d'exécution 20 peut y être effectuée De telles opérations incluent un accès à une mémoire secondaire, un accès à des composants périphériques, et des opérations arithmétiques à l'intérieur de l'unité d'exécution 20 Des instructions mises en oeuvre dans le mode de réalisation préféré sont décrites ci-dessous Cependant, la présente invention n'est pas limitée aux microinstructions particulières décrites Dans le mode d'examen du mode de réalisation préféré, le microprocesseur peut accepter de simples instructions de chargement de mémoire Les instructions sont un sous-ensemble du microcode qui peut être exécuté à l'intérieur de l'unité d'exécution 20 et, comme décrit plus haut, elles contournent le trajet d'instruction 14 piloté par processeur Les instructions de mode d'examen permettent de lire et d'écrire dans tous les registres visibles par un programmeur En outre, un accès est possible à des espaces de mémoire et d'entrée/sortie. Dans le mode d'examen, des interruptions extérieures restent en suspens et ne font l'objet d'aucune intervention jusqu'à la sortie du mode d'examen. D'autres opérations qui peuvent apparaître de façon asynchrone pendant une exécution, par exemple une écoute et des renvois d'écritures, se produisent normalement pendant le mode d'examen. Comme décrit plus haut, le registre d'instructions d'examen 36 retient une instruction. Dans le mode de réalisation préféré, le registre d'instructions d'examen 36 est un mot d'instruction de format fixe qui contient des champs pour des codes d'opération ou "opcodes", des registres de source et de destination et une donnée immédiate Le registre de données d'examen 36 est utilisé pour échanger des valeurs de données avec l'unité d'exécution 20 Par exemple, pour lire un registre situé à l'intérieur de l'unité d'exécution 20, une instruction serait émise par le registre d'instructions d'examen 36 pour écrire le registre souhaité dans le registre de données d'examen 36, et le registre de données d'examen 38 est ensuite balayé par l'intermédiaire du port d'accès 12. De façon semblable, une mémoire, qu'il s'agisse d'une mémoire principale ou d'une mémoire secondaire, peut être examinée en émettant une instruction de lecture d'une mémoire vers un registre temporaire situé à l'intérieur de l'unité d'exécution 20, et de lecture ensuite de ce registre temporaire vers le registre de données d'examen 38 Un autre registre est le registre de commande d'examen décrit ci-dessus. L'invention a été mise en oeuvre dans un processeur qui comprend deux pipe-lines, un pipe-line "u" et un pipe-line "v" L'instruction exécutée dans le mode d'examen, que l'on peut appeler une "microinstruction", commande complètement les deux pipe-lines u et v. Le registre d'instructions d'examen inclut deux champs majeurs, l'un pour commander tout le pipe-line u, et un champ presque identique pour commander tout le pipe-line v Le champ du pipe-line u peut également être utilisé pour accéder à l'état du processeur à virgule flottante S'il existe un état architectural qui est préservé à la traversée des limites d'instructions, il est utile qu'il puisse y être accédé par l'intermédiaire du mode d'examen Par exemple, le 8 Ox 86 possède, en plus des registres polyvalents, des registres à virgules flottantes et des registres à segments La présente invention fournit un circuit et un procédé d'accès à ces registres par l'intermédiaire du mode d'examen. La présente invention peut être réalisée sous d'autres formes spécifiques sans s'écarter ni de son esprit ni de ses caractéristiques essentielles Le mode de réalisation décrit doit être considéré comme ayant, à tous points de vue, uniquement un but d'illustration et non de limitation, et le cadre de l'invention est donc indiqué par les revendications annexées et non par les descriptions précédentes Toutes les modifications qui entrent dans la signification et la plage d'équivalence des revendications doivent être considérées comme incluses dans le présent cadre. REVENDICATIONS 1 Circuit d'ordinateur destiné à fonctionner dans un mode piloté par processeur ( 10) en réponse à une série d'instructions mémorisées provenant d'une mémoire ( 21) d'ordinateur, et aussi à fonctionner dans un mode ordonné de l'extérieur ( 32) en réponse à une instruction engendrée à l'extérieur et à un ordre engendré à l'extérieur, caractérisé en ce qu'il comprend un moyen de choix ( 24) de mode pour choisir le mode de fonctionnement ordonné de l'extérieur ( 32) ou le mode de fonctionnement piloté par processeur ( 10); une unité d'exécution ( 20) pour exécuter des instructions; un multiplexeur ( 18) pour amener à l'unité d'exécution ( 20) une instruction choisie; un trajet d'instruction ( 14) piloté par processeur ( 10) pour amener à une entrée du multiplexeur ( 18) lesdites instructions mémorisées; un trajet d'instruction extérieur ( 12) pour amener à une entrée du multiplexeur ( 18) une instruction engendrée à l'extérieur; et un moyen sensible au moyen de choix ( 24) de mode pour commander le multiplexeur ( 18) pour choisir pendant un fonctionnement piloté par processeur ( 10), une instruction mémorisée provenant du trajet d'instruction ( 14) piloté par processeur ( 10), et pendant un fonctionnement en mode ordonné de l'extérieur ( 32), une instruction engendrée à l'extérieur provenant du trajet d'instruction extérieur ( 12). 2 Circuit d'ordinateur selon la revendication 1 caractérisé en ce que le trajet d'instruction ( 14) piloté par processeur comprend un décodeur qui met à jour l'indicateur d'instruction de manière coïncidente avec un décodage d'une instruction. 3 Circuit d'ordinateur selon la revendication 1 caractérisé en ce que le trajet d'exécution extérieur ( 12) comprend un registre d'instructions ( 36, 38) pour mémoriser une instruction engendrée à l'extérieur. 4 Circuit d'ordinateur selon la revendication 1 caractérisé en ce que le moyen de choix ( 24) inclut une broche de marche/arrêt ( 30) qui, lorsqu'elle est affirmée, interrompt le fonctionnement du trajet d'instruction ( 14) piloté par processeur ( 10). Circuit d'ordinateur selon la revendication 1 caractérisé en ce que le moyen de choix ( 24) dé mode inclut une logique de commande ( 40), sensible à un ordre engendré à l'extérieur, pour interrompre le fonctionnement du trajet d'instruction ( 14) piloté par processeur ( 10). 6 Circuit d'ordinateur selon la revendication 1 caractérisé en ce que le moyen de choix ( 24) inclut un registre de commande ( 26) de mode d'examen qui inclut un drapeau de réorientation d'instruction (IR) pour interrompre le fonctionnement du trajet d'instruction ( 14) piloté par processeur ( 10) lorsqu'une exception de déverminage est rencontrée pendant le fonctionnement du trajet d'instruction ( 14) piloté par processeur ( 10). 7 Circuit d'ordinateur selon la revendication 1 caractérisé en ce qu'il comprend en outre une broche d'accusé de réception ( 86) qui envoie un signal indiquant si le processeur ( 10) est dans le mode ordonné de l'extérieur ( 32) et est prêt à exécuter une instruction engendrée à l'extérieur. 8 Circuit d'ordinateur incluant un processeur ( 10), ledit circuit fonctionnant dans un mode piloté par processeur ( 10) dans lequel le circuit exécute une série d' d'examines mémorisés dans une mémoire ( 21) d'ordinateur, et étant apte aussi à fonctionner dans un mode d'examen dans lequel le circuit reçoit un signal extérieur ( 32) qui peut inclure des ordres engendrés à l'extérieur et une instruction de donnée de mode d'examen, caractérisé en ce que ledit circuit comprend: un moyen de choix ( 24) de mode pour choisir entre le mode piloté par processeur ( 10) et le mode d'examen; un port d'accès ( 12), incluant: un moyen de réception et d'envoi du signal extérieur ( 34); un moyen d'envoi d'information au processeur ( 10) et de réception d'information depuis le processeur ( 10); une logique de commande ( 40) pour commander l'interface ( 34) entre le port et l'unité de processeur ( 10),; un registre d'instructions ( 36) d'examen pour retenir une instruction de mode d'examen reçue dans le signal extérieur, et un registre de données ( 38) d'examen pour retenir des données; une unité d'exécution ( 20) pour exécuter des instructions; et un multiplexeur ( 18) qui choisit une instruction à amener à l'unité d'exécution ( 20), ledit multiplexeur ( 18) choisissant entre une entrée incluant une instruction provenant du trajet ( 14) piloté par processeur ( 10) et une instruction de mode d'examen provenant du registre d'instructions ( 36) d'examen. 9 Circuit d'ordinateur selon la revendication 8 caractérisé en ce qu'il comprend en outre un moyen, sensible à un ordre engendré à l'extérieur, de lancement d'une exécution d'une instruction du registre d'instructions ( 36) d'examen. Circuit d'ordinateur selon la revendication 8, caractérisé en ce que le moyen de choix ( 24) de mode inclut une broche marche/arrêt ( 30) qui interrompt, lorsqu'elle est affirmée, le fonctionnement du trajet d'instruction ( 14) piloté par processeur ( 10). 11 Circuit d'ordinateur selon la revendication 8, caractérisé en ce que le moyen de choix ( 24) de mode inclut une logique de commande ( 40), sensible à un ordre engendré à l'extérieur ( 32), pour interrompre le fonctionnement du trajet d'instruction ( 14) piloté par processeur ( 10). 12 Circuit d'ordinateur selon la revendication 8, caractérisé en ce que le moyen de choix ( 24) de mode inclut un registre de commande ( 26) de mode d'examen qui inclut un drapeau de réorientation d'instruction (IR) pour interrompre le fonctionnement du trajet d'instruction ( 14) piloté par processeur ( 10) lorsqu'une exception de déverminage est rencontrée pendant le fonctionnement en mode piloté par processeur ( 10). 13 Circuit d'ordinateur selon la revendication 8, caractérisé en ce qu'il comprend en outre une broche d'accusé de réception ( 86) qui amène un signal indiquant si le processeur ( 10) est dans le mode d'examen et est prêt à exécuter une instruction dans le registre d'instructions ( 36) d'examen. 14 Microprocesseur ( 10) destiné à fonctionner sélectivement dans un mode piloté par processeur ( 10) dans lequel le microprocesseur ( 10) est sensible à une série d'instructions mémorisées dans une mémoire ( 21) d'ordinateur, et à fonctionner dans un mode ordonné de l'extérieur ( 32) dans lequel le microprocesseur ( 10) est sensible à des instructions engendrées à 1 ' extérieur, caractérisé en ce que ledit microprocesseur ( 10) comprend: un moyen de choix ( 24) entre le mode ordonné de l'extérieur ( 32) et le mode piloté par processeur ( 10); une unité d'exécution ( 20) pour exécuter des instructions; un moyen d'amenée ( 12), à l'unité d'exécution ( 20), d'une instruction engendrée à l'extérieur lorsque le mode ordonné de l'extérieur ( 32) est choisi; et un moyen d'amenée, à l'unité d'exécution ( 20), d'une instruction mémorisée lorsque le mode piloté par processeur ( 10) est choisi; un moyen de mise à jour pour mettre à jour implicitement l'information d'état du processeur ( 10) avant d'amener à l'unité d'exécution ( 20) ladite instruction mémorisée lorsque ledit mode piloté par processeur ( 10) est choisi, ladite information d'état de processeur ( 10) incluant un indicateur d'instruction; et un moyen de contournement desdits moyens de mise à jour lorsque le mode ordonné de l'extérieur ( 32) est choisi. 15 Microprocesseur ( 10) selon la revendication caractérisé en ce que le moyen d'amenée, à l'unité d'exécution ( 20), d'une instruction mémorisée comprend en outre un décodeur qui met à jour l'indicateur d'instruction avant d'amener à l'unité d'exécution ( 20) l'instruction décodée. 16 Microprocesseur ( 10) selon la revendication caractérisé en ce que le moyen d'amenée, à l'unité d'exécution ( 20), d'une instruction engendrée à l'extérieur inclut un registre d'instructions ( 36) pour mémoriser une instruction engendrée à l'extérieur. 17 Microprocesseur ( 10) selon la revendication caractérisé en ce qu'il comprend en outre une broche d'accusé de réception ( 86) qui envoie un signal indiquant si le processeur ( 10) est dans le mode ordonné de l'extérieur ( 32) et est prêt à exécuter une instruction engendrée à l'extérieur. 18 Procédé ordonné de l'extérieur destiné à la mise en oeuvre d'un microprocesseur comprenant un flux d'instructions en pipe-line à travers un trajet d'instruction piloté par processeur qui met à jour implicitement un état d'information, incluant l'indicateur d'instruction, avant d'amener une instruction à une unité d'exécution, ledit procédé ordonné de l'extérieur étant caractérisé en ce qu'il comprend les étapes consistant à: réaliser un trajet d'instruction extérieur couplant un signal extérieur à l'unité d'exécution, ledit trajet d'instruction extérieur contournant la mise à jour implicite du trajet d'instruction piloté par processeur; amener une instruction par le trajet d'instruction extérieure en vue d'une exécution dans l'unité d'exécution; et exécuter ladite instruction dans l'unité d'exécution. 19 Procédé selon la revendication 18, caractérisé en ce que le trajet d'instruction extérieur inclut un registre d'instructions; l'étape d'envoi de l'instruction à travers le trajet ordonné de l'extérieur inclut une mémorisation de l'instruction dans le registre d'instructions; et l'étape d'exécution de l'instruction dans l'unité d'exécution comprend une lecture du registre d'instructions. Procédé selon la revendication 18, caractérisé en ce qu'il comprend en outre les étapes consistant à: réaliser un trajet extérieur de données couplant le signal extérieur à l'unité d'exécution, ledit trajet extérieur de données incluant le registre de données qui peut être écrit ou lu sous la commande du signal extérieur; si ladite instruction fait lire l'état du processeur ou une autre donnée dans l'unité d'exécution, mémoriser alors cette donnée dans ledit registre de données et lire la donnée en utilisant la signal extérieur; et si ladite instruction fait écrire une donnée dans l'unité d'exécution, utiliser alors le signal extérieur pour mémoriser la donnée dans le registre de données et faire lire ensuite le registre de données par l'unité d'exécution. 21 Procédé selon la revendication 18 caractérisé en ce qu'il comprend en outre une étape de lancement de ladite étape d'exécution en amenant à une unité de commande, un ordre engendré à l'extérieur. 22 Procédé de mise en oeuvre d'un microprocesseur, caractérisé en ce qu'il comprend les étapes consistant à: choisir un mode d'exécution d'instructions, ledit mode incluant un procédé d'exécution d'instructions en mode d'examen et un procédé d'exécution d'instructions en mode piloté par processeur; l'exécution des instructions comprenant, si le mode piloté par processeur a été choisi, les étapes consistant à: rechercher une instruction dans la mémoire et l'amener à un décodeur, décoder l'instruction pour amener une ou plusieurs microinstructions qui sont appliquées l'une après l'autre à l'unité d'exécution, mettre à jour une information d'état de processeur incluant un indicateur d'instruction, et - exécuter des microinstructions amenées par le décodeur, et l'exécution des instructions comprenant, si le mode d'examen a été choisi, les étapes consistant à: amener une instruction engendrée à l'extérieur, et exécuter l'instruction engendrée à l'extérieur sans mettre à jour implicitement l'indicateur d'instruction et une autre information d'état de processeur. 23 Procédé selon la revendication 22, caractérisé en ce qu'il comprend en outre une étape d'affirmation d'une broche d'accusé de réception pour indiquer quand le mode d'examen a été choisi et quand le processeur est prêt à exécuter une instruction. 24 Procédé selon la revendication 22, caractérisé en ce que l'exécution d'instructions engendrées à l'extérieur comprend en outre, si le mode d'examen a été choisi, l'étape consistant à: mémoriser dans un registre d'instructions une instruction engendrée à l'extérieur; et lire le registre d'instructions pour exécuter ladite instruction engendrée à l'extérieur mémorisée. Procédé selon la revendication 22, caractérisé en ce qu'il comprend en outre l'étape consistant à, mémoriser, si ladite instruction engendrée à l'extérieur fait lire une donnée dans l'unité d'exécution, cette donnée dans un registre de données et lire la donnée du registre de données. 26 Procédé selon la revendication 22, caractérisé en ce que le procédé comprend en outre, si ladite instruction engendrée à l'extérieur fait écrire une donnée dans l'unité d'exécution, les étapes consistant à mémoriser la donnée dans le registre de données et lire ensuite le registre de données vers l'unité d'exécution. 27 Procédé selon la revendication 22 caractérisé en ce qu'il comprend en outre une étape de lancement de ladite étape d'exécution de l'instruction engendrée à l'extérieur en amenant à l'unité de commande un ordre engendré à l'extérieur. 28 Procédé selon la revendication 22 caractérisé en ce que l'étape de choix d'un mode de fonctionnement inclut les étapes consistant à affirmer une broche extérieure et commander le trajet d'instruction piloté par processeur d'une manière telle que les étapes de recherche, de décodage et de mise à jour du mode piloté par processeur sont interrompues. 29 Procédé selon la revendication 22 caractérisé en ce que l'étape de choix d'un mode de fonctionnement inclut l'étape consistant à appliquer à une logique de commande un signal qui interrompt les opérations de recherche, de décodage et de mise à jour du mode de fonctionnement piloté par processeur. 30 Procédé selon la revendication 22 caractérisé en ce que l'étape de choix de mode de fonctionnement inclut les étapes consistant à: placer un drapeau de réorientation d'interruption dans un registre de commande de mode d'examen; détecter, pendant le fonctionnement du mode piloté par processeur, une exception de déverminage; essayer le drapeau de réorientation d'interruption afin de déterminer s'il a été placé; puis choisir, si le drapeau de réorientation d'interruption a été placé, le mode d'examen à logique de commande qui interrompt les opérations de recherche, de décodage et de mise à jour du mode de fonctionnement piloté par processeur.