Brevet FR2805367A1 — publié le 20010824

DOMAINE TECHNIQUE L'invention concerne des architectures d'ordinateurs et microprocesseur. Particulièrement cette invention concerne l'émulation d'une architecture de jeu d'instructions (ISA) en utilisant une autre architecture jeu d'instructions. Plus particulièrement, cette invention concerne un proce et un appareil pour émuler des instructions de branchement d'une architecture de d'instructions en utilisant des instructions provenant d'une autre architecture de jeu d'instructions. ART D'ARRIÈRE-PLAN conception d'une architecture de microprocesseur comporte la mise a disposition d'un jeu d'instructions de base (typiquement dénommé jeu d'instructions ) qui comprend les instructions du bloc fonctionnel de base, par exemple les instructions qui manipulent les contenus des registres et/ou le mouvement des données entre les registres. Une architecture de jeu d'instructions (ISA) se réfère à la conception du jeu d'instructions de l'archi tecture du microprocesseur. Une architecture de jeu d'instructions (ISA) particulière peut être meilleure que d'autres sous certains points de vue, par exemple disposer d'un domaine plus large et d'un jeu d'instructions plus riche pour favoriser une programmation plus facile, tout en étant de valeur inférieure sous certains autres points de vue, par exemple nécessiter un matériel informatique complexe pour soutenir le nombre plus complexe et plus grand d'instructions du jeu d'instructions. Par conséquent choisir l'architecture de jeu d'instructions (ISA) qui convient le mieux peut être l'un des aspects les plus significatifs de l'architecture d'un ordinateur. Même lorsque l'on utilise une nouvelle architecture de jeu d'instructions ((SA) pour obtenir les bénéfices qui y sont associés (par exemple performance améliorée), certaines architectures d'ordinateur plus récentes possèdent fa capacité de faire passer des applications anciennes qui avaient été écrites pour l'architecture de jeu d'instructions (ISA) ancienne (qui peut représenter un investissement substantiel en capital). Typiquement ceci se fait en émulant les instructions du jeu d'instructions anciennes par une série d'une ou plusieurs instructions de l'architecture de jeu d'instructions (ISA) normale correspon- dante. Par exemple, comme représenté sur la Figure 1, une instruction du jeu d'instructions anciennes 101, ci-dessous dénommées macro-instructions (par exemple l'instruction A 103) est expansée en, ou émulée par, une séquence des instructions 102 de l'architecture de jeu d'instructions (ISA) normale correspondante, ci-dessous dénommées micro-instructions , par exemple fa séquence 104 (ou un flux ) d'instructions 1-4. Les micro-instructions peu vent être générées par un décodeur/séquenceur du matériel d'émulation (non représenté). Malheureusement, une émulation des instructions de l'architecture de jeu d'instructions (ISA) ancienne, telle que décrite ci-dessus, se traduit habituellement en un nombre accru d'instructions exécutées et/ou nécessite un matériel informatique additionnel élaboré et complexe, ce qui est dû, au moins en partie, aux différences concernant la sémantique entre les instructions de l'architecture de jeu d'instructions (ISA) ancienne et l'architecture de jeu d'instructions (1SA) normale correspondante. Ceci est particulièrement vrai pour l'émulation d'une instruction de branchement. Du fait la sémantique de branchement (par exemple fa prévision de l'objet et/ou les conditions de branchement etc.) entre l'archi tecture de jeu d'instructions (ISA) ancienne et l'architecture de jeu d'instruc tions (ISA) normale correspondante peut être significativement différente, il est souvent impossible configurer un branchement de macro-instruction avec une unique micro instruction. En conséquence, de multiples micro- instructions sont nécessaires pour mettre en oeuvre un branchement de macro- instruction, ce qui en outre augmente le nombre d'instructions qu'il faut exécuter et réduit donc performance du système informatique. En outre, la prévision de l'objet d'un branchement par macro-instruction au moment où le flux micro-instructions est généré par le décodeur/ séquenceur du mécanisme d'émulation n'est pas toujours précise. En particulier, par exemple, Figure 2 représente un certains nombre de macro- instructions A, B, C, etc. 201 émulées par les micro-instructions 202. La macro-instruction B peut etre une instruction de branchement, par exemple le branchement sur D. branchement peut être inconditionnel c'est-à-dire que la macro-instruction D exécutée dès que l'on quitte la macro-instruction B, ou bien il peut être conditionnel, c'est-à-dire que le branchement sur D ne se fait que si une certaine condition est satisfaite, sinon on passe à l'instruction suivante C si la condition n'est pas satisfaite. Un branchement par macro- instruction, par exemple le branchement 203, est désigné ci-dessous macro- branchement. Par ailleurs, la micro-instruction 7 peut être une instruction de branche ment qui, sous réserve qu'une condition soit satisfaite, peut prendre ou plusieurs chemins possibles de l'ordinogramme. Par exemple, si la condition est satisfaite, après exécution de la micro-instruction 7, les instructions 10 11 peuvent etre exécutées juste avant que le flux particulier devant émuler fa macro-instruction B se termine. Par ailleurs, si la condition n'était pas satisfaite, alors le peut se poursuivre jusqu'à l'instruction 8 avant de se terminer. Un branchement par micro-instruction, par exemple le branchement , est désigné ci-dessous microbranchement. Le décodeur/séquenceur du matériel informatique normal correspondant n'est généralement pas capable de générer l'objet d'un macrobranchement, par exemple le macrobranchement 203, lorsque la macro-instruction, par exemple l'instruction B, est décodée. Ceci provient du fait que la sémantique de prévision de l'objet et/ou le matériel informatique des deux architectures de jeu d'instructions (ISA) sont très différents l'un de l'autre. Par exemple, l'objet du branchement peut être mémorisé dans un registre dans une instruction de microbranchement et peut être spécifié à l'intérieur de l'instruction elle-meme pour un macrobranchement. En outre, les longueurs des instructions des deux architectures de jeu d'instructions (ISA) peuvent être différentes, ce qui rend difficile au matériel informatique de l'une des architectures de jeu d'instruc tions (ISA) de déterminer où, dans l'instruction de l'autre architecture jeu d'instructions (ISA), l'objet du branchement est spécifié. Du fait que le décodeur/séquenceur est incapable de calculer l'objet correct d'un macrobranchement, il faut ajouter un matériel informatique supplémentaire pour garantir que le décodeur/séquenceur ne remplit pas le pipeline d'exécution du système informatique avec des macro-instructions erronées appelées en fonction du mécanisme de prévision de l'architecture de jeu d'instructions (ISA) normale correspondante et pour permettre au moteur d'appel de l'émulation de l'architecture de jeu d'instructions (ISA) ancienne de calculer et de brancher sur l'objet correct. En outre, les différences entre les architectures de d'instructions (ISA) rendent difficile de partager le même matériel informatique de prévision de branchement. Un matériel supplémentaire serait nécessaire pour garantir que les prévisions faites au cours de l'exécution du jeu d'instructions normales correspondantes et au cours de l'exécution du jeu d'instructions émulées ne réagissent pas l'une sur l'autre. Par conséquent, pour émuler une instruction de branchement de l'une des architectures de jeu d'instructions ([SA) en utilisant les instructions de l'autre architecture de jeu d'instructions (]SA), il faut ajouter de nouvelles instructions et un matériel informatique supplémentaire pour traiter la séman tique différente utilisée par l'autre architecture de jeu d'instructions (ISA), ce qui a un impact négatif sur l'encombrement de l'implantation physique et/ou sur la performance du système. En outre, il peut être souhaitable de disposer d'un mécanisme pour faciliter des microbranchements qui réorientent le chemin d'exécution d'un flux particulier de micro-instructions indépendamment de tout branchement de macro-instruction. Par exemple le décodeur/séquenceur d'instructions, tout en expansant une macro-instruction en un flux correspondant de micro instructions, peut nécessiter la possibilité de choisir un chemin différent pour le flux (par exemple la micro-instruction 7 comme représenté sur la Figure 2), par exemple sur la base de la valeur d'un binaire dans un registre. Le décodeur d'instructions nécessiterait la possibilité de conserver le nombre de micro- instructions nécessaire pour mettre en oeuvre la macro-instruction. Toutefois, du fait des différences dans les actions correctives nécessaires en cas d'erreur de prévision, et pour garantir que les micro-branchements n'affectent pas les prévisions faites par le mécanisme de prévision par macrobranchement, il faut ajouter des composants supplémentaires de matériel informatique pour distinguer entre les microbranchements et les macro- branchements. outre, effectuer ces microbranchements de prévision, nécessite la possibilité, dans le cas d'une erreur de prévision de l'objet, de purger le pipeline d'exécution et de réorienter le séquenceur/décodeur pour progresser par chemin différent. Dans ce but peut être inséré dans le pipeline un cas, par exemple une condition d'erreur, qui va faire que le pipeline doit être purgé si objet d'un branchement par micro-instruction est incorrectement prévu (ou doit être ignoré si l'objet est correctement prévu). Toutefois, du fait des délais nécessités par la détection de l'erreur prévision, par l'annonce de l'heure de prévision au bloc de commande d'émulation de l'architecture de jeu d'instructions (ISA) ancienne, puis par réinjection dans le pipeline du cas déclenchant une purge, il devient nécessaire d'ajouter des instructions supplémentaires de remplissage après l'instruction de branchement ou, sinon, de prévoir un mécanisme pour éviter l'exécution des instructions suivantes qui ne doivent pas être exécutées en cas d'erreur prévision. Les instructions de remplissage réduisent la performance du système. En outre, il arrive qu'il soit souhaitable de recommencer à appeler nouvelle instruction, indépendamment de toute instruction de branchement Par exemple, si l'abandon d'une instruction a modifié des ressources d'appel des instructions, affectant l'appel des instructions venant à la suite l'instruction abandonnée - dénommée ici instruction ayant perdu son intérêt il peut être nécessaire de purger complètement le pipeline et de le remplir nouvelles instructions à la lumière de l'actualisation des ressources. conséquent il y a un besoin pour un mécanisme de branchement efficace qui ne nécessite pas un nouveau matériel informatique substantiel ni/ou nouvelles instructions pour mettre en oeuvre des macrobranchements et/ou des microbranchements. II y a également un besoin pour un mécanisme de branchement efficace qui fasse que le pipeline soit immédiatement purgé fors branchement incorrectement prévu. Ceci est nécessaire pour éviter l'exécution de toute instruction qui peut être présente dans le pipeline sans avoir à attendre le délai nécessaire pour détecter et signaler l'erreur de prévision au mécanisme de commande d'appel des instructions et en attendre une réponse. II y a également un besoin pour un mécanisme de branchement efficace qui garantisse qu'une opération de branchement pour un macrobranchement n'affecte pas le flux de micro-instructions et qu'un microbranchement n'affecte pas l'appel correct des macro-instructions. 11 y a en outre un besoin pour un mécanisme de branchement efficace ne nécessite pas un mécanisme informatique complexe supplémentaire pour des prévisions de branchement et/ou la commande de macro branchement. II y a également un besoin pour un mécanisme qui purge le pipeline d'instruction de toute instruction ayant perdu son intérêt chaque fois que cela souhaitable, par exemple lorsque des ressources d'appel sont modifiées une instruction précédemment abandonnée. RÉSUMÉ DE L'INVENTION Sont décrits un procédé et un appareil pour mettre en oeuvre instructions de branchement dans un système informatique. Sont plus particulièrement décrits un procédé et un appareil pour mettre en oeuvre une instruction de branchement dans un système informatique présentant une organisation en pipeline de traitement qui comprend les étapes consistant à, et les moyens pour, définir une condition de test indiquant si l'objet prévu correct et/ou si une condition de branchement est satisfaite, et purgeant immédiatement le pipeline d'exécution si cette condition de test n'est satisfaite. Est également décrit un procédé d'exécution d'une instruction dans un microprocesseur comportant un pipeline d'exécution, consistant à disposer jeu d'instructions contenant une instruction de purge conditionnelle qui purge le pipeline d'exécution immédiatement si une condition prédéterminée est pas satisfaite. Ainsi, l'invention a pour objet un procédé de mise en oeuvre d'une instruction de branchement dans un système informatique présentant un pipeline d'exécution, comportant les étapes consistant à - définir une condition de test, ladite condition de test représentant au moins l'un des deux, que la prévision d'un objet soit exacte et qu'une condition de branchement soit satisfaite ; - déterminer si ladite condition de test est satisfaite ; - purger ledit pipeline d'exécution si ladite condition de test n'est pas satisfaite. Ce procédé est avantageusement complété par les caractéristiques suivantes - il comporte en outre l'étape consistant à mémoriser une adresse de réparation, ladite adresse de réparation correspondant à une instruction de réparation à exécuter si ladite condition de test n'est pas satisfaite ; - i1 comporte en outre l'étape consistant à provoquer l'appel ladite instruction de réparation dans ledit pipeline d'exécution ; - ladite condition de test consiste en ce qu'un binaire d'un registre soit égal à une valeur prédéterminée ; - ladite condition de test consiste en ce que le contenu d'un registre soit égal à une zone immédiate d'une instruction se trouvant dans ledit pipeline d'exécution ; - ladite adresse de réparation est mémorisée dans une table de résolution de branchement. - il comporte en outre l'étape consistant à disposer d'un pipeline de recherche comportant une information de recherche concernant une instruction à exécuter se trouvant dans ledit pipeline d'exécution, et dans lequel ladite adresse de réparation est codée dans ladite information de recherche. L'invention concerne également un procédé d'exécution d'instructions se trouvant dans le microprocesseur présentant un pipeline d'exécution comportant l'étape consistant à disposer d'un jeu d'instructions contenant une instruction de purge conditionnelle qui purge ledit pipeline d'exécution lorsqu'une condition prédéterminée n'est pas satisfaite. Ce procédé est avantageusement complété par le fait d'utiliser ladite instruction de purge conditionnelle pour mettre en oeuvre un macro- branchement. Également, il comporte avantageusement en outre le fait d'utiliser ladite instruction de purge conditionnelle pour mettre en aeuvre un micro- branchement. DESCRIPTION DES DESSINS Des caractéristiques et des avantages de la présente invention apparaî tront ' l'homme de l'art à partir de la description qui suit et en se référant aux dessins sur lesquels - Figure 1 est un diagramme illustratif d'une émulation conventionnelle prise à titre d'exemple, de macro-instructions d'architecture de jeu d'instructions (ISA) ancienne en utilisant des séquences de micro- instructions d'architecture de jeu d'instructions (1 SA) normale correspondante. - Figure 2 est un diagramme illustratif d'une émulation, prise à titre d'exemple, de macro-instructions d'architecture de jeu d'instructions (ISA) ancienne en utilisant des séquences de micro-instructions d'architecture de jeu d'instructions (ISA) normale correspondante, incluant des instructions de macrobranchement et des instructions de microbranchement. - Figure 3 est un diagramme par blocs des portions concernées du système informatique qui met en oeuvre une forme de réalisation, prise à titre d'exemple, d'une émulation de macro-instructions d'architecture de d'instructions (ISA) ancienne en utilisant des séquences de micro- instructions d'architecture de jeu d'instructions (ISA) normale corres pondante conformément aux principes de la présente invention. - La Figure 4 est un ordinogramme de la méthode de mise en oeuvre d'instructions de branchement conformément aux principes de la pré sente invention. - Là Figure 5 est un digramme par blocs d'une forme de réalisation, prise à titre d'exemple, du mécanisme de purge conventionnelle conformément aux principes de la présente invention. DESCRIPTION DÉTAILLÉE DE FORMES DE RÉALISATION PREFÉRÉES Dans un but de simplicité et d'illustration, les principes de présente invention sont décrits en se référant principalement à l'une de ses formes de réalisation prise à titre d'exemple, en se référant particulièrement à un exemple comportant une mise en oeuvre de conception de circuit spécifique. Toutefois l'homme de l'art reconnaîtra facilement que les mêmes principes peuvent également s'appliquer à, et être mis en oeuvre dans, toute conception de circuit exécutant substantiellement l'invention décrite ici et que toute variante ferait partie des modifications qui ne s'écartent pas de l'esprit et de l'objet vrais de la présente invention. On propose un mécanisme simple de test et de purge pour mettre en oeuvre instructions de branchement d'au moins deux architectures de jeu d'instructions (ISA) distinctes, par exemple une architecture d'ordinateur ' jeu d'instructions complexe (CISC) et une architecture d'ordinateur à jeu d'instructions réduit (RISC). Au cours du décodage et du séquençage de micro- instructions pour mettre en oeuvre une instruction de branchement, une adresse de réparation qui représente l'objet de branchement correctif en cas d'objet ou de condition de branchement incorrectement prévus, est définie et mémorisée. Par exemple, l'objet de branchement correctif peut être l'objet de branchement si le branchement s'est effectivement produit alors qu'il avait été prévu à tort que le branchement ne se produirait pas. L'objet de branchement correctif peut être l'adresse d'instruction séquentielle suivante si le branchement ne 'est pas produit en dépit d'une prévision contraire. Une condition de test est définie pour déterminer si la prévision la condition de branchement était correcte. Une instruction, qui teste la condi tion de test et purge immédiatement le pipeline si la condition de test n'est pas satisfaite, est envoyée dans le pipeline d'exécution de l'instruction. Cette instruction provoque une purge immédiate de toutes les instructions suivantes restant dans le pipeline, empêchant ainsi l'exécution de toute instruction qui ne doit pas être exécutée en cas de branchement incorrectement prévu. La purge du pipeline donne un signal au mécanisme de commande d'appel des instructions pour réorienter le flux d'instructions sur instruction correspondant à l'adresse de réparation. En outre un procédé et un appareil conformes à la présente invention permettent la purge du pipeline pour des conditions autres que celles impliquées dans les instructions de branchement, par exemple pour purger une instruction ayant perdu son intérêt. En particulier la Figure 3 représente les portions concernées d'une forme de réalisation, prise à titre d'exemple, du présent système informatique 300 objet de l'invention capable d'émufer des macro-instructions de l'architecture de jeu d'instructions (ISA) ancienne en utilisant des séquences de micro- instructions d'architecture de jeu d'instructions (ISA) normale correspondante. Le système 300 inclut, entre autres, un matériel informatique 301, spécifique une architecture de jeu d'instructions ((SA) émulée pour émuler les instructions d'architecture de jeu d'instructions ([SA) ancienne en utilisant les instructions d'architecture de jeu d'instructions (ISA) normale correspondante, et un matériel informatique d'architecture de jeu d'instructions ([SA) normale correspondante 302 pour mettre en oeuvre l'architecture de jeu d'instructions (ISA) normale correspondante. Un programme ancien écrit pour un système informatique à architecture de jeu d'instructions (ISA) ancienne peut comporter une série d'instructions d'architecture de jeu d'instructions (ISA) ancienne, c'est-à-dire une série de macro-instructions qui peuvent être mémorisées dans une hiérarchie de mémoire 307 qui peut être tout dispositif de mémorisation de données, par exemple une mémoire accès direct RAM, une mémoire morte ROM, un disque dur ou analogue. En mode émulation, des macro-instructions sont appelées dans la hiérarchie de mémoire 307 par le moteur d'appel 305 d'architecture de jeu d'instructions (ISA) normale correspondante sur la base des adresses d'appels 304 reçues en provenance de la commande d'appel 303 d'architecture de jeu d'instructions ([SA) émulée. Une fois appelée, la macro-instruction est décodée par le décodeur/ séquenceur 308 sur la base des données de la macro-instruction 310 reçues en provenance de la hiérarchie de mémoire 307. Le décodeur/séquenceur 308 récupère, dans la mémoire de micro-instructions 306, une ou plusieurs micro- instructions correspondant à la macro-instruction décodée et génère la séquence d'exécution (ou le flux ) de micro-instructions récupérées pour mettre en oeuvre (ou émuler) la macro-instruction. La séquence de macro-instructions récupérées sont envoyées au pipeline d'exécution 320 de l'architecture de jeu d'instructions (ISA) normale correspondante par le chemin des micro-instructions 311 et elles progressent à travers les étapes du pipeline 320 et sont exécutées en mode pipeline bien connu des familiers des architectures d'ordinateur. Le pipeline de recherche 315 recherche l'information 314 de recherche des micro-instructions reçue en provenance du décodeur/séquenceur 308. L'information 31 4 de recherche des micro-instructions comporte, dans sa partie concernée, entre autres, une zone macro/micro 316 et une zone 317 du pointeur de la micro-instruction de réparation (UIP). La zone 317 du pointeur de la micro-instruction de réparation (UIP) contient un objet correctif de la micro-instruction dans le cas d'un microbranchement incorrectement prévu. cours d'une exécution d'une instruction de test et de purge conformément aux principes de la présente invention, zone macro/micro 316 indique si l'instruction en cours d'exécution concerne un micro- branchement ou un macrobranchement. cours de l'exécution d'une instruction de branchement telle que mise en oeuvre conformément aux principes de la présente invention, le mécanisme de purge conditionnelle (comme cela sera décrit ci-dessous plus en détail) provoque l'envoi du signal 318 de résultat à comparer au pipeline de recherche 315 et au décodeur/séquenceur 308. En outre, pour des macro- branchements indirects, le but correct 312 du macrobranchement est envoyé à la table 309 de résolution des branchements BRT qui se trouve dans le décodeur/séquenceur 308. À son tour le pipeline de recherche 315 envoie une information du type branchement 316 et, pour des micro- branchements, le pointeur de la micro-instruction de réparation UIP 317, au décodeur/ séquenceur 308 par le chemin du signal 313. Si le signal 318 de résultat à comparer indique qu'une prévision incorrecte du branchement s'est produite, le décodeur/séquenceur 308 utilise l'information de type branchement 316 pour choisir entre le pointeur de la micro-instruction de réparation UIP 317 (pour des microbranchements) et la table de résolution de branchement BRT 309. Si c'est une erreur de prévision de microbranchement qui est indiquée, le décodeur/séquenceur 308 com mence envoyer des micro-instructions en provenance de la mémoire des micro-instructions 306. Si c'est une erreur de prévision macrobranchement qui est indiquée, le décodeur/séquenceur 308 envoie l'adresse de macro- instruction correcte, en provenance de la table de résolution de branchement BRT 309, à la commande d'appel 303 de l'architecture de jeu d'instructions (ISA) émulée. En particulier la Figure 4 représente un ordinogramme de la méthode de mise en oeuvre d'une instruction de branchement conformément aux principes de la présente invention. Dans l'étape 401, il est déterminé si l'instruction en cours de décodage est une instruction de branchement. S'il est déterminé, au cours de l'étape 401, que l'instruction en cours de décodage n'est pas une instruction de branchement, alors le flux de la présente méthode inventive revient à l'étape 401 et le processus se poursuit en surveillant l'arrivée d'une instruction de branchement. Par ailleurs, s'il est déterminé c'est une instruction de branchement qui est en cours de décodage, une adresse de réparation de l'instruction de branchement est formulée et mémorisée dans l'étape 402. L'adresse de réparation représente l'objet de branchement correctif, par exemple l'adresse de l'instruction exécutée dans le cas objet incorrectement prévu ou d'une condition de branchement incorrectement prévue. En gros on peut ranger une instruction de branchement en quatre catégories représentées sur le tableau . Les catégories peuvent être basées sur la question de savoir si le branchement arrive conditionnellement ou inconditionnellement et si l'objet branchement est connu ou inconnu au moment du décodage de l'instruction. TABLEAU 1 Type de branchement Caractéristiques Conditionnel/ Branchement. uniquement. si la condition est satisfaite direct Objet branchement connu au moment du décodage Conditionnel/ Branchement uniquement si la condition est satisfaite indirect Objet branchement inconnu au moment du décodage Inconditionnel/ Branchement inconditionnel direct Objet branchement connu au moment du décodage Inconditionnel/ Branchement inconditionnel indirect Objet branchement inconnu au moment du décodage Puisque l'instruction de branchement inconditionnel/direct ne nécessite pas de prévoir si le branchement va se produire ni de connaître l'objet du branchement, c'est l'instruction la plus facile à décoder et à mettre en oeuvre. Par conséquent, dans ce cas, une adresse de réparation peut être toute adresse arbitraire, par exemple l'adresse du but fournie dans l'instruction elle-même. Pour des instructions de branchement conditionnel/direct, l'adresse de réparation dépend savoir quelle prévision est faite au cours du décodage de l'instruction de branchement en ce qui concerne la question de savoir si la condition sera satisfaite. S'il est prévu que la condition sera satisfaite et que le branchement va donc se produire, l'adresse de réparation serait l'adresse de la prochaine instruction séquentielle venant à la suite de l'instruction de branchement (c'est-à-dire l'instruction qui aurait été exécutée si le branchement ne s'etait pas produit). Par ailleurs, si le décodeur prévoit que le branchement ne se produirait pas, c'est-à-dire que c'est la prochaine instruction séquentielle qui vient à la suite pour exécution, l'adresse de réparation est l'adresse de l'objet du branchement prévu dans l'instruction de branchement. Dans une première forme de réalisation, les adresses de réparation pour les instructions de branchement direct sont mémorisées dans une table de résolution de branchement (BRT) 309 de façon bien connue de l'homme de l'art familiarisé avec les systèmes et les architectures des microprocesseurs. Pour des microbranchements indirects, l'adresse de réparation est envoyée, en provenance du pipeline d'exécution 320, à la table de résolution de branchement (BRT) au moment où une erreur de prévision de branche ment est détectée. L'instruction de branchement est décodée avec un objet de branchement prévu par mécanisme de prévision de branchement respectif des architectures ' d'instructions ([SA) de façon bien connue à l'homme de l'art familier des systèmes d'une architecture de microprocesseurs. Dans une forme réalisation préférée de la présente invention, pour des microbranchements, l'adresse de réparation peut être mémorisée sous forme d'information recherchée par le pipeline de recherche 315, par exemple le pointeur de micro instruction (UIP) 317. Pour des macrobranchements indi rects, l'adresse reparation est envoyée, en provenance du pipeline d'exécution 320, à la table de résolution de branchement BRT 309 au moment où est détectée une erreur de prévision de branchement. Dès que l'adresse de réparation est formulée et mémorisée de la façon décrite ci-dessus, dans l'étape 403, est définie une condition de test qui va tester si la prévision de branchement a eté faite correctement. La condition de test peut être définie de façon à ne pas être satisfaite si (1) l'objet du branchement a été incorrectement prévu par le matériel informatique de prévision, ou (2) ' c'est à tort que la condition de branchement a été supposée, par exemple il a été prévu que le branchement se produirait mais il ne s'est pas effectivement produit. La condition de test peut comporter par exemple un binaire une pluralité de binaires) dans un registre. Le registre logeant la condition de test peut être tout registre du système à microprocesseur. La condition de test peut être l'égalité ou la non égalité à une valeur prédéterminée. Après que la condition de test est définie, à l'étape 404, un mécanisme de condition de test détermine si, oui non, la condition de test est satisfaite, c'est-à-dire si la prévision faite par le matériel informatique de prévision a été correcte. Dans la forme de réalisation préférée, deux mécanismes de conditions de test variantes peuvent être prévus. L'un des mécanismes permet de définir un unique binaire de test pour comparaison avec un binaire d'un registre, tandis que l'autre mécanisme permet de définir une pluralité de binaires, par exemple 8, 16 ou 32 à comparer avec le contenu d'un registre. Bien qu'un mécanisme quelconque puisse être utilisé pour tester si une condition prédéterminée est satisfaite, conformément à une forme de réalisation prise à titre d'exemple illustratif, les mécanismes de condition de test peuvent être par exemple de nouvelles instructions ajoutées à l'archi tecture de leu d'instructions (ISA) normale correspondante et/ou peuvent être de simples extensions de deux instructions existantes. L'une de ces instructions existantes comparent la valeur d'un binaire dans un registre (TBIT, abréviation pour test bit/binaire de test ), tandis que l'autre instruction existante compare la valeur d'un registre avec valeur immédiate ou avec un autre registre (CMP, abréviation pour compare/comparer ). Les possibilités de comparaison ci-dessus des deux instructions existantes sont utilisées pour tester si, oui ou non, la condition de test est satisfaite. En outre les instructions nouvellement ajoutées (qui sont de 'férence utilisées comme mécanismes de condition de test) provoquent une purge du pipeline si la condition n'est pas satisfaite. Par conséquent, à l'étape , les mécanismes de condition de test provoquent la purge du pipeline si condition de test est pas satisfaite. On peut se rendre compte de ce que la nature immédiate de la purge ci- dessus du pipeline empêche l'exécution de n'importe laquelle des instructions suivantes restant dans le pipeline. La purge ci-dessus du pipeline résultant de la comparaison de test peut utiliser comme indication de ce que la prévision de branchement était incorrecte et qu'il est nécessaire de réorienter le flux programme sur la nouvelle adresse du but. Lorsqu'il est détecté que la condition de test n'est pas satisfaite, un signal de réorientation est envoyé à la table résolution de branchement 309 et à la commande d'appel 303 d'architecture de jeu d'instructions (1SA) émulée. Par exemple la Figure 5 représente un mécanisme de comparaison et de purge 501 pour mettre en oeuvre le mécanisme de purge conditionnelle décrit ' dessus. Les binaires de test 502 ont reçu la valeur prédéterminée pour faciliter la condition de test et la comparaison. Les binaires de résultat 503 sont les binaires (ou un unique binaire éventuellement) d'un registre ou d'une zone d'une instruction qui sont comparés avec les binaires de test 502. La condition de test peut être définie comme étant non satisfaite si, par exemple, comparaison résulte en une correspondance. Par contre, la condition de test peut tout aussi bien se définir comme n'étant pas satisfaite ' la comparaison resulte en une non correspondance. Lorsque la condition de test n'est pas satisfaite, le mécanisme de purge conditionnelle 501 envoie un signal de purge 504 à l'organe de commande pipeline et envoie un signal de réorientation 505 au mecanisme d'appel d'instruction du matériel informatique à architecture de d'instructions ISA) approprié. Le matériel approprié est déterminé sur la base de la valeur contenue dans la zone macro/micro du pipeline de recherche 315. Le mécanisme de purge conditionnelle 501 peut être mis en ceuvre sous forme de circuit logique combinatoire présentant un petit nombre de portes, par exemple des portes AND/ET et/ou des portes OR/OU, d'une façon qui apparaîtra facilement au familier de la conception de circuit logique. Finalement, dans l'étape 406, le flux de programme approprié, soit le flux de macro-instructions soit le flux de micro-instructions, est réorienté sur l'instruction pointée par l'adresse de réparation. L'instruction sur laquelle pointe l'adresse de réparation a été précédemment déterminée et mémorisée. Pour le branchement indirect d'un macrobranchement, l'adresse de réparation est envoyée à la table de résolution de branchement au moment où la non-satisfaction de la condition de test est détectée. L'adresse de réparation est récupérée dans fa table de résolution de branchement (BRT) 309 et elle est utilisée par la commande d'appel 303 à architecture de jeu d'instructions (ISA) emulée pour réorienter le flux de programme sur la nouvelle adresse. Dans une forme de réalisation préférée, pour des prévisions erronées de microbranchement, le pointeur de micro-instructions de réparation (UIP) 317 est utilisé pour remettre en route dans le flux de micro-instructions le séquenceur de micro-instructions se trouvant à l'objet de réparation. mécanisme de purge conditionnelle 501 peut s'utiliser pour purger le pipeline pour éviter l'exécution d'instructions ne présentant pas d'intérêt. Une instruction ne présentant pas d'intérêt est toute instruction subsiste dans le pipeline lorsque les ressources d'appel, par exemple le pointeur de base d'une instruction d'appel indirect, sont modifiées par une instruction précédemment éliminée. Et par conséquent l'instruction ne présentant pas d'intérêt ne devrait pas avoir été appelée et, plus important encore, ne devrait être exécutée. Lorsqu'une instruction précédemment éliminée modifie les ressources d'appel, et nécessite donc la purge du pipeline, le mécanisme de purge conditionnelle 501 peut être présenté avec une condition dont on sait d'avance qu'elle ne sera satisfaite, par exemple comparaison d'un zéro d'un zéro (0) défini comme donnant une non correspondance. Le mécanisme de purge conditionnelle 501 envoie le signal de purge 504 en réponse à la condition non satisfaite. Le pipeline est alors immédiatement purgé sans le retard habituel associé à la détection et au rapport fait au matériel informatique de commande concernant la condition ne présentant pas d'intérêt et à l'attente pour recevoir une directive de purge du pipeline en provenance du materiel informatique de commande. Bien l'on ait décrit l'invention en se référant aux détails de formes de réalisation préférées, on comprend que le descriptif est prévu pour illustrer plutôt pour limiter et que les modifications apparaîtront facilement à l'homme de l'art, en restant dans l'esprit d'invention dans l'objet des revendications jointes. REVENDICATIONS Procédé de mise en oeuvre d'une instruction de branchement dans système informatique (300) présentant un pipeline d'exécution (320), comportant les étapes consistant à - définir une condition de test, ladite condition de test représentant au moins l'un des deux, que la prévision d'un objet soit exacte et 'une condition de branchement soit satisfaite ; - déterminer si ladite condition de test est satisfaite ; - purger ledit pipeline d'exécution (320) si ladite condition de test n'est pas satisfaite. 2. Le procédé de mise en oeuvre d'une instruction de branchement conformément à la revendication 1, comportant en outre l'étape consistant à mémoriser une adresse de réparation, ladite adresse de réparation (309, 313,31 correspondant à une instruction de réparation à exécuter si ladite condition de test n'est pas satisfaite. Le procédé de mise en oeuvre d'une instruction de branchement conformément à la revendication 1, comportant en outre l'étape consistant à provoquer l'appel de ladite instruction de réparation dans ledit pipeline d'exécution (320). 4. Le procédé de mise en couvre d'une instruction de branchement conformément à la revendication 1, dans lequel ladite condition de test consiste en ce qu'un binaire d'un registre soit égal à une valeur prédéterminée. 5. Le procédé de mise en oeuvre d'une instruction de branchement conformement à la revendication 1, dans lequel ladite condition de test consiste ce que le contenu d'un registre soit égal à une zone immédiate d'une instruction se trouvant dans ledit pipeline d'exécution (320). 6. Le procédé de mise en oeuvre d'une instruction de branchement conformément à la revendication 2, dans lequel ladite adresse de réparation est mémorisée dans une table de résolution de branchement (BRT) (309). 7. Le procédé de mise en oeuvre d'une instruction de branchement conformément à la revendication 1 comportant en outre l'étape consistant à: disposer d'un pipeline recherche (315) comportant une information de recherche (316, 31 concernant une instruction à exécuter se trouvant dans ledit pipeline d'execution (320), et dans lequel ladite adresse de réparation (309, 313, 317) est codée dans ladite information de recherche (316, 31 8. Le procédé de mise en ceuvre d'une instruction de branchement conformément à la revendication , dans laquelle la purge comporte en outre l'étape consistant à disposer d'un jeu d'instructions contenant une instruction de purge conditionnelle qui purge ledit pipeline d'exécution lorsqu'une condition prédéterminée n'est pas satisfaite. 9. Le procédé selon la revendication 8, comportant en outre le fait de . utiliser ladite instruction de purge conditionnelle pour mettre en oeuvre un macrobranchement. 10. Le procédé selon la revendication 9, comportant en outre le fait de: utiliser ladite instruction de purge conditionnelle pour mettre en oeuvre un microbranchement.