Brevet FR2871253A1 — publié le 20051209

DISPOSITIF DE COMMANDE AYANT DES MOYENS DE DÉCODAGE La présente invention se rapporte à un dispositif de commande ayant des moyens de décodage et à un procédé pour décoder comme il est utilisé dans des moyens de commande, tels que par exemple des microprocesseurs. Des microprocesseurs sont en général des dispositifs de commande qui sont commandés par des instructions dans un ensemble Io d'instructions. Un programme exécuté par un dispositif de commande est constitué d'instructions de ce genre. Le dispositif de commande est formé pour traiter des instructions et pour exécuter des instructions précisées par une instruction respective. Le dispositif comporte des moyens de décodage convertissant les instructions à exécuter en des signaux de commande. Les signaux de commande font en sorte qu'une unité de calcul du dispositif de commande exécute la fonction définie par les instructions à exécuter. Actuellement, des microprocesseurs bien connus utilisent généralement un ensemble d'instructions déterminé à l'avance fixe déterminant à l'avance une certaine fonctionnalité. Cet ensemble d'instruction est uniquement une partie de toutes les opérations possibles qui sont théoriquement exécutables sur du matériel, c'est-à-dire un dispositif de commande ou contrôleur. Lorsqu'un certain algorithme est mis en oeuvre par un programmateur, il peut seulement avoir recours à cet ensemble d'instructions. Ceci présente des inconvénients considérables en particulier pour des programmateurs programmant des algorithmes très spéciaux. L'opération XTIME, décrite et illustrée sous la forme d'un pseudo code machine cidessous, dans une mise en oeuvre en logiciel AES, logiciel exécutant l'algorithme de cryptographie symétrique AES, est mentionnée ici à titre d'exemple. XTIME.macro r1, r2 et D8, r1, D14 sh D8, -7 mul.0 r2, D8, 0x1 b et D8, r1, D15 sh D8, 1 xor r2, D8 endm Deux variables r1, r2 sont entrées dans la macro appelée XTIME. La macro accède aux registres appelés D8, D14, D15 d'une CPU88. Dans une première opération ET, appelée et , la valeur xl est soumise à une opération ET avec la valeur D14 du registre et le résultat est écrit dans le registre D8. Par la suite, une opération de décalage, appelée sh , décalant la valeur du registre D8 de sept positions vers la droite est exécutée. Dans une opération de multiplication suivante, appelée mul.0 , la valeur du registre D8 est multipliée par une valeur à une position de mémoire appelée io 0x1 b, et le résultat est écrit dans la variable r2. Après cela, l'opération ET, appelée et , effectuant une opération ET de la valeur xl et de la valeur du registre D15 et écrivant le résultat dans le registre D8 est exécutée. Ensuite, l'opération de décalage sh décalant la valeur du registre D8 vers la gauche de un est effectuée. La dernière opération dans la macro est une opération XOR (OU exclusif), appelée xor , qui exécute une opération XOR (OU exclusif) entre la valeur r2 et la valeur du registre D8 et écrit le résultat dans la variable r2. La macro XTIME est terminée par une fonction de retour.endm. Cette séquence contient une série d'une opération ET et et d'une opération suivante de décalage sh . Cette série est exécutée deux fois dans la macro. Des débits d'instructions répétitives de ce genre sont un inconvénient en ce qu'ils ralentissent de manière non nécessaire l'exécution de la macro et en outre de manière non nécessaire impliquent une demande en terme de stockage du programme. Afin de pallier ces inconvénients, des séquences d'instructions à récurrence élevée sont incorporées dans l'architecture d'un dispositif de commande. Ceci se traduit par une extension de l'ensemble d'instructions, ayant des instructions complexes correspondant à une combinaison de plusieurs instructions initiales. Une extension de l'ensemble d'instructions cependant entraîne de grandes dépenses, en particulier inclut des parties de redéveloppement du noyau du dispositif de commande appelé CORE incluant des mesures de vérification, de layout respectives et exige des zones supplémentaires pour mettre en oeuvre les extensions d'instructions complexes. L'extension de l'ensemble d'instructions de ce genre ne sera par conséquent pas introduite pour des combinaisons d'instructions spéciales dont on a besoin rarement. Des CPU reconfigurables sont fondamentalement uniquement présentes dans des solutions FPGA. Cependant elles ne sont pas utilisées pour des dispositifs de commande fixés dans du matériel. Des architectures de dispositif de commande bien connues permettent uniquement l'extension d'une instruction avec un ensemble d'instructions macros par l'intermédiaire d'une mémoire morte ROM de décodage ajoutée. Lorsque l'on utilise une mémoire morte de décodeur, les instructions macro supplémentaires sont réalisées en matériel et sont ainsi déjà établies lorsque l'on développe un dispositif de commande. Des io instructions macros supplémentaires de ce genre ne diffèrent pas du tout de l'ensemble d'instructions d'origine d'un dispositif de commande en ce qui concerne leur souplesse. La présente invention vise à mettre à disposition un dispositif de commande pour des moyens de décodage et un procédé pour décoder et un programme de commande pour exécuter le procédé ayant une souplesse plus grande. Ceci est obtenu par un dispositif de commande caractérisé en ce qu'il comporte des moyens de réception destinés à recevoir une instruction, l'instruction étant une instruction pouvant être exécutée ou une instruction de caractère générique; des moyens de décodage formés pour émettre en sortie un signal de commande correspondant à l'instruction pouvant être exécutée en réponse au fait que l'instruction reçue est une instruction exécutable, et pour émettre en sortie un signal de commutation en réponse au fait que l'instruction reçue est une instruction à caractère générique; et des moyens pour fournir un signal de commande de remplacement déterminé à l'avance formés pour émettre en sortie le signal de commande de remplacement déterminé à l'avance en fonction du signal de commutation. La présente invention se rapporte également à un procédé pour décoder comportant les étapes qui consistent à : a) recevoir une instruction, l'instruction étant une instruction exécutable ou une instruction de caractère générique; b) émettre en sortie un signal de commande correspondant à l'instruction exécutable en réponse au fait que l'instruction reçue est une instruction exécutable, et à émettre en sortie un signal de commutation en réponse au fait que l'instruction reçue est une instruction de caractère générique; et c) émettre en sortie un signal de commande de remplacement déterminé à l'avance en fonction du signal de commutation. La présente invention se rapporte également à un programme d'ordinateur ayant un code de programme pour mettre en oeuvre le procédé suivant l'invention lorsque le programme d'ordinateur tourne sur un ordinateur. La présente invention est fondée sur le fait qu'une utilisation améliorée des possibilités théoriques d'un système formant microdispositif de commande peut être activée en utilisant des ressources déjà présentes. Des moyens nécessités en outre peuvent être réalisés en ajoutant une petite zone io supplémentaire et une instruction de caractère générique nécessite uniquement un code op réservé dans l'ensemble d'instructions présent. La technique suivant l'invention est fondée sur une possibilité nouvelle de réaliser une extension de l'ensemble d'instructions présent sur un microprocesseur sans mettre en oeuvre ni tester du matériel spécifique pour chaque instruction supplémentaire. Un programmeur peut ainsi effectuer des extensions personnelles en restant dans les possibilités du système. Ceci est particulièrement intéressant pour des programmes nécessitant des instructions spéciales, qui sont généralement rares, qui n'ont pas de signification pour le système global et ainsi ne sont pas mises en oeuvre dans l'architecture du dispositif de commande. Ces extensions permettent la réduction de l'espace mémoire du système et augmentent le rendement lorsqu'on les exécute sur un programme. Conformément à la présente invention, un décodeur peut modifier des instructions. C'est ainsi qu'une instruction pouvant être reconfigurée peut être programmée. En particulier, des programmes pouvant être rechargés utilisent des instructions autodéfinies après coup, qui n'étaient pas connues avant. Ceci, d'une part, augmente la flexibilité du noyau (CORE) et d'autre part produit un nouveau type de sécurité, puisqu'un programmeur peut produire ses propres instructions. Lorsque la technique suivant l'invention est utilisée dans des applications pertinentes du point de vue de la sécurité, un intrus ne peut pas déduire du code op les instructions que le programmeur va exécuter. Un aspect essentiel de la sécurité dans ce contexte est la possibilité de développer un ou plusieurs ensembles d'instructions privés et ainsi de bloquer encore mieux un attaquant éventuel. Conformément à un autre mode de réalisation, des signaux de commande de remplacement déterminés à l'avance sont placés dans une mémoire. Ainsi, un intrus ne peut pas découvrir le programme qui est exécuté même s'il réussit à découvrir le code op. De préférence, - les moyens pour fournir comportent des moyens de mémoire pour fournir un signal de commande de remplacement déterminé à l'avance mémorisé et les moyens de commutation, les moyens de commutation étant s formés pour émettre en sortie le signal de commande ou le signal de commande de remplacement déterminé à l'avance mémorisé en fonction du signal de commutation. - les moyens pour fournir sont formés pour recevoir et mémoriser le signal de commande déterminé à l'avance. io - il comporte des moyens d'écriture formés pour écrire une valeur du signal de commande de remplacement dans les moyens de mémoire en réponse à une instruction d'écriture. - le dispositif de commande comporte en outre une mémoire, et dans lequel les moyens d'écriture sont formés pour écrire la valeur du signal ls de commande de remplacement à partir de la mémoire vers les moyens de mémoire. - le dispositif de commande comporte un ensemble d'instructions comportant une pluralité d'instructions pouvant être exécutées, un signal de commande correspondant à chaque instruction pouvant être exécutée, et le signal de commande de remplacement déterminé à l'avance correspondant à une instruction supplémentaire qui étend l'ensemble d'instruction. - le dispositif de commande comporte en outre des moyens de calcul, les moyens de calcul étant formés pour exécuter une opération déterminée par le signal de commande ou le signal de commande de remplacement en réponse au signal de commande ou au signal de commande de remplacement. Des modes de réalisation préférés de la présente invention sont décrits par la suite en se référant aux dessins annexés dans lesquels: la Figure 1 est un schéma d'un dispositif de commande conforme à 30 la présente invention; la Figure 2 est un schéma détaillé d'un autre mode de réalisation d'un dispositif de commande conforme à la présente invention; et la Figure 3 est un schéma d'un autre mode de réalisation d'un dispositif de commande conforme à la présente invention. Dans la description qui suit de modes de réalisation préférés de la présente invention, des références identiques ou similaires seront utilisées pour les éléments illustrés dans les différents dessins et qui ont des effets similaires, et une description ne sera pas répétée de ces éléments. La Figure 1 représente une illustration en forme de schéma d'un dispositif de commande conforme à la présente invention. Le dispositif de commande comporte des moyens 102 de réception, des moyens 104 de décodage et des moyens 106 pour fournir. Les moyens 102 de réception sont formés pour recevoir une instruction 112. Une instruction 114 reçue est fournie aux moyens 104 de décodage par les moyens 102 de réception. L'instruction 114 reçue est soit une instruction pouvant être exécutée par le io dispositif de commande, soit une instruction de caractère générique. Une instruction pouvant être exécutée est convertie en un signal 116 de commande par les moyens 104 de décodage, le signal 116 de commande étant émis en sortie par les moyens 104 de décodage. Le signal 116 de commande commande une unité de calcul (non représentée à la Figure 1) du dispositif de commande et fait en sorte que l'unité de calcul exécute une fonction définie par l'instruction pouvant être exécutée. Si l'instruction 114 reçue est une instruction de caractère générique, les moyens 104 de décodage vont émettre en sortie un signal 118 de commutation reçu par les moyens 106 pour fournir. Le signal 118 de commutation indique au moyen 106 de fournir qu'une instruction de caractère générique a été reçue. En réponse à une instruction de caractère générique, les moyens 106 pour fournir émettent en sortie un signal 120 de commande de remplacement déterminé à l'avance. Ce signal 120 de commande de remplacement commande également l'unité de calcul du dispositif de commande et fait en sorte qu'il exécute une fonction supplémentaire. De préférence, la fonction supplémentaire est une fonction qui ne peut pas être invoquée par un signal 116 de commande. Ainsi, la fonction supplémentaire correspond à une fonction qui n'est pas encore définie par une instruction 112 d'un ensemble d'instructions du dispositif de commande, et correspond à une fonction qui étend l'ensemble d'instructions défini pour le dispositif de commande. L'ensemble d'instruction comporte généralement une pluralité d'instructions pouvant être exécutées et des instructions de caractère générique. En variante, l'instruction de caractère générique peut être une 35 instruction pouvant être exécutée qui est cependant reconnue dans les moyens 104 de décodage et ne sera pas décodée. Le signal de commande de remplacement peut également être un signal de commande correspondant à une instruction de l'ensemble d'instructions. De préférence, la fonction supplémentaire correspond à une fonction que l'unité de calcul fournit de toutes les manières pour être capable d'exécuter les instructions de l'ensemble d'instruction. La fonction supplémentaire cependant ne peut pas être exécutée par une instruction de l'ensemble d'instructions. À titre d'exemple, la fonction supplémentaire correspond à une combinaison de fonctions invoquée par des instructions 112 de l'ensemble d'instructions. Conformément à la présente invention, la io fonction supplémentaire est déclenchée par le signal 120 de commande de remplacement. La fonction supplémentaire peut être exécutée par celui-ci, même s'il n'y a pas une instruction 112 correspondante dans l'ensemble d'instructions du dispositif de commande et les moyens 104 de décodage ne sont pas formés pour convertir une telle instruction en un signal de commande correspondant. L'instruction de caractère générique faisant en sorte que les moyens 106 pour fournir émettent en sortie le signal 120 de commande de remplacement peuvent être une instruction 112 supplémentaire de l'ensemble d'instructions ou une instruction 112 de l'ensemble d'instructions qui a été étiquetée jusqu'à maintenant comme étant réservée. Dans le cas de l'instruction réservée, aucun changement n'est nécessité dans un ensemble d'instructions de l'art antérieur. De préférence, le signal 120 de commande de remplacement émis en sortie par les moyens 106 pour fournir peut être échangé. Ceci permet d'émettre en sortie différents signaux 120 de commande de remplacement utilisant une seule instruction de caractère générique et en ayant ainsi différentes fonctions supplémentaires exécutées par le dispositif de commande. Ensuite, le procédé suivant l'invention sera décrit en se référant à 3o l'opération XTIME déjà décrite. Comme cela a été mentionné, la séquence comprend deux fois une opération de décalage sh suivie par une opération ET et . Une instruction qui peut exécuter ces deux opérations dans un cycle d'instruction unique pourrait être construite dans la CPU 88 déjà mentionnée. Cela signifie que l'unité de calcul de la CPU est conçue pour cela par son architecture. Une telle opération de décalage ET andsh cependant n'existera pas puisque cette instruction est très spécifique pour cet algorithme. La macro XTIME cependant est si fréquente dans la mise en oeuvre AES que le rendement de l'algorithme pourra être accru de 10 % par une instruction andsh optimisée correspondante. Un code op de 16 octets pourra être substitué dans la macro XTIME par 2 octets au moyen d'un signal 120 de commande de remplacement correspondant à l'opération andsh , le signal étant émis en sortie par les moyens 106 pour fournir en réponse à une instruction de caractère générique. L'un dans l'autre, un code op d'environ 220 octets pourrait être sauvegardé pour l'AES au moyen d'une telle solution. Comme l'algorithme de l'AES a une dimension de code d'environ 2 ko, le résultat est une réduction de dimension de code d'environ io 10 %. Ainsi, la présente invention permet d'exécuter des fonctions supplémentaires qui ne peuvent pas être invoquées par une instruction 112 de l'ensemble d'instructions. Le signal 116 de commande et le signal 120 de commande de remplacement rendent disponibles des valeurs de signal de commande à l'unité de calcul du dispositif de commande. Classiquement, les valeurs de signal de commande ne sont pas transférées à l'unité de calcul en série, mais en parallèle par l'intermédiaire de plusieurs lignes (non représentées). Les instructions 112 sont généralement des instructions à 16 bits ou 32 bits, mais elles peuvent cependant également comporter n'importe quelle autre largeur de bit. De préférence, l'instruction de caractère générique comporte une petite largeur de bit pour occuper le moins possible d'espace mémoire. Une instruction est classiquement une instruction pouvant être lue par machine comportant un code op et un opérande. Le code op définit une instruction à exécuter par l'instruction. Des codes op sont généralement courts et limités par l'ensemble d'instructions. Un opérande définit des valeurs à traiter par le code op, les valeurs étant transférées directement ou étant présentes dans des registres ou des mémoires. Les opérandes sont uniquement limités par une architecture de système. Les moyens 112 de réception sont généralement réalisés en tant que tampon d'entrée du dispositif de commande. Dans ce cas, les instructions 112 sont synchronisées par les moyens 102 de réception et émis en sortie en tant qu'instructions 114 reçues. En variante, les moyens 102 de réception peuvent également être réalisés sous la forme d'une simple ligne de transit ou en tant que moyens d'amplification. Les moyens 104 de décodage sont étendus par la fonctionnalité de l'émission en sortie du signal 118 de commutation en réponse à l'instruction de caractère générique. Pour cela, les moyens 104 de décodage comportent des moyens de comparaison (non représentés aux dessins) conçus pour reconnaître l'instruction de caractère générique. La Figure 2 représente une illustration sous forme de schéma détaillé d'un dispositif de commande conforme à la présente invention. Le dispositif de commande, représenté à la Figure 2, comporte des moyens 202 de réception qui dans ce mode de réalisation sont réalisés sous la forme d'une ligne de transit, et des moyens 204 de décodage. Les moyens 206 pour io fournir sont réalisés par des moyens 206a de mémoire connectés aux moyens 206b de commutation. Comme les moyens 202 de réception sont une ligne de transit, une instruction 214 reçue correspond à une instruction ou un code op comme s'il était reçu par les moyens de réception de la Figure 1. Les moyens 204 de décodage exécutent une fonction de décodage et émettent en sortie, comme cela a déjà été décrit à la Figure 1, un signal 207 de commande et un signal 218 de commutation. Un signal 220 de commande de remplacement mémorisé est fourni par les moyens 206a de mémoire. Les moyens 206a de mémoire, dans ce mode de réalisation, sont un registre et en particulier un registre CSFR (CFSR pour core special function register ou registre à fonction spéciale de noyau). Tous les registres à but général sont englobés par le terme générique de CSFR. Des registres CSFR sont nécessités pour décrire de manière précise et commander l'état d'un processeur. Les moyens 206a de mémoire fournissent le signal 220 de commande de remplacement aux moyens 206b de commutation. Les moyens 206b de commutation sont un multiplexeur. Le multiplexeur 206b reçoit le signal 207 de commande et le signal 220 de commande de remplacement. Le multiplexeur 206b est également connecté au signal 218 de commutation. Le signal 218 de commutation à son tour indique si l'instruction 214 reçue est une instruction pouvant être exécutée convertie par les moyens 204 de décodage au signal 216 de commande ou est une instruction de caractère générique. Si le signal 218 de commutation indique une instruction pouvant être exécutée, le multiplexeur 206b va se connecter par l'intermédiaire du signal 216 de commande à la sortie du multiplexeur. Le multiplexeur 206b va émettre en sortie un signal 222 de commande effectif. Dans le cas où le signal 218 de commutation indique une instruction pouvant être exécutée, le signal 222 de commande effectif va correspondre au signal 216 de commande. Dans le cas Io où le signal 218 de commutation indique une instruction de caractère générique, le multiplexeur 206b va se connecter par l'intermédiaire du signal 220 de commande de remplacement et le signal 222 de commande effectif va ainsi correspondre au signal 220 de commande de remplacement. Par conséquent, le multiplexeur 206b va émettre en sortie soit le signal 216 de commande, soit le signal 220 de commande de remplacement en fonction du fait de savoir si l'instruction 214 reçue est une instruction exécutable ou une instruction de caractère générique. Les éléments du dispositif de commande représenté à la Figure 2 io correspondent aux éléments d'un décodeur d'un dispositif de commande. Le décodeur est activé pour modifier des instructions en multiplexant un train de codes op correspondant à une séquence d'instructions 214 reçues et les contenus du registre 206a CSFR correspondant au signal 220 de commande de remplacement. Ceci est la manière dont une instruction pouvant être reconfigurée peut être programmée. Une nouvelle instruction peut être multiplexée vers le dispositif de commande ou une CPU en programmant le registre 206a CSFR et en utilisant un code op supplémentaire sous la forme de l'instruction de caractère générique. Une nouvelle instruction peut être définie dans le processeur 88 en écrivant sur le CSFR supplémentaire au moyen d'une opération MTCR (MTCR pour move to core register ou déplacé vers registre noyau). L'opération MTCR décale de manière explicite des données de la CPU vers un registre CSFR. Dans ce cas, un code op supplémentaire de 16 bits correspondant à l'instruction de caractère générique est interprété par le décodeur de sorte que le multiplexeur 206b supplémentaire va être commuté et une nouvelle instruction définie sous la forme du signal 220 de commande de remplacement va être exécuté à la place d'une instruction décodée sous la forme du signal 216 de commande. La nouvelle instruction va être exécutée par le signal 222 de commande effectif formé par cela, correspondant au signal 220 de commande de remplacement. Le registre 206a CSFR est ainsi utilisé pour commander la CPU (non représentée) en utilisant un code op prédéfini unique. La Figure 3 représente une illustration sous forme de schéma d'un autre mode de réalisation de la présente invention. À l'exception des éléments déjà décrits dans les Figures précédentes sous la forme des moyens 102 de réception et des moyens 104 de décodage, le mode de réalisation représenté à la Figure 3 comporte des moyens 306a à mémoire et des moyens 306b de commutation. Les moyens 306b de commutation correspondent ainsi au 2871253 Il signal de commutation représenté à la Figure 2 et sont formés pour émettre en sortie un signal 322 de commande effectif qui, en fonction des moyens 118 de commutation, correspondent soit au signal 116 de commande soit à un signal 320 de commande de remplacement mémorisé. Le signal 322 de commande effectif est reçu par des moyens 332 de calcul. Les moyens de calcul sont connectés à une mémoire 334 et à des moyens 336 d'écriture. Les moyens 332 de calcul sont connectés à la mémoire 343 par l'intermédiaire d'un signal 342 d'écriture et connectés aux moyens 336 d'écriture par l'intermédiaire d'un signal 344 d'échange. io Les moyens 332 de calcul sont formés pour exécuter une fonction commandée par le signal 322 de commande effectif. La fonction à exécuter va correspondre à une fonction définie par une instruction pouvant être exécutée si le signal 322 de commande effectif correspond au signal 116 de commande. Dans le cas où le signal 322 de commande effectif correspond au signal 320 de commande de remplacement, la fonction à exécuter par les moyens 332 de calcul va correspondre à une fonction supplémentaire. Les instructions mises en oeuvre peuvent être configurées en l'instruction de caractère générique. Un intrus sait quelle opération de logiciel est exécutée par un code op, l'instruction de caractère générique cependant n'est pas définie pour l'intrus. De préférence, le signal 320 de commande de remplacement est défini comme étant commandé par un programme. Pour cela, l'ensemble d'instructions comporte généralement une instruction d'écriture faisant en sorte que les moyens 332 de calcul fournissent un signal 346 d'écriture aux moyens 306a de mémoire par l'intermédiaire des moyens 336 d'écriture. Une valeur du signal 320 de commande de remplacement est établie par l'intermédiaire du signal 346 d'écriture. Cette valeur du signal 320 de commande de remplacement va être mémorisée dans les moyens 306a à mémoire jusqu'à ce qu'elle soit effacée par une nouvelle valeur du signal 346 d'écriture. La valeur du signal 320 de commande de remplacement écrite dans les moyens 306a de mémoire par l'intermédiaire du signal 346 d'écriture est soit contenue dans l'instruction d'écriture, soit extraite de la mémoire 334 et fournie aux moyens 306a de mémoire par l'intermédiaire des moyens 336 d'écriture. Les valeurs du signal 320 de commande de remplacement ou une pluralité de différents signaux de commande de remplacement peuvent être mémorisées de manière fixe dans la mémoire 334 ou être écrites dans les cellules de mémoire de la mémoire 334 par des instructions d'écriture commandées par programme supplémentaires. Ce mode de réalisation permet de déposer des instructions sous la forme de valeurs de signal de commande de remplacement dans une mémoire, telle que, par exemple, sous la forme d'une mémoire NVM (NVM = non volatile memory ou mémoire non volatile) en tant que terme générique pour toutes les mémoires non volatiles, telle que par exemple une EEPROM, en chargeant ces dernières dans un fichier de registre (non représenté à la Figure 3) et en écrivant ces dernières dans les moyens 306a io de mémoire sous la forme d'un registre CSFR au moyen d'une MTCR et en les exécutant par un code op sous la forme d'une instruction de caractère générique qui ne contientaucune information sur l'opération mémorisée dans les CSFR et les registres qui sont ici utilisés. Ainsi, même un code op que l'on a déchiffré ne sert à rien pour un intrus pour établir quel programme est exécuté. Ceci est un aspect de sécurité essentiel pour des applications pertinentes du point de vue de la sécurité. Le fait que le signal 320 de commande de remplacement peut être programmé limite librement une somme d'instructions pouvant être utilisée uniquement par l'architecture des moyens de calcul. L'architecture des moyens 332 de calcul ou les valeurs de signal de commande de remplacement faisant en sorte que les moyens 332 de calcul exécutent des fonctions supplémentaires doit être connue par un logiciel de compilation convertissant un code de programme en des instructions 112 pouvant être lues par machine. La technique suivant l'invention n'est pas limitée aux modes de réalisation décrits et peut en particulier être utilisée dans tous les dispositifs exécutant des instructions commandées par programme. En particulier, les instructions peuvent également comporter une structure plus simple que les instructions d'un langage de programmation représentées dans le mode de réalisation. Les moyens de mémoire pour mémoriser et fournir le signal de commande de remplacement peuvent être n'importe quelle mémoire et en particulier même un registre déjà présent dans une structure de dispositif de commande. Conformément à un mode de réalisation préféré, un dispositif de commande comporte une pluralité de moyens de mémoire pour mémoriser des valeurs de signal de commande de remplacement. Ceci permet de fournir une pluralité de signaux de commande de remplacement par une instruction de caractère générique unique et avoir ainsi une fonction supplémentaire complète à exécuter par un dispositif de commande. Si des moyens de mémoire sont exécutés sous la forme d'un registre CSFR, plusieurs registres CSFR peuvent par exemple être mis en oeuvre et adressés par un code op réservé. Conformément à un autre mode de réalisation, des moyens à mémoire individuels de plusieurs moyens à mémoire mémorisant différents signaux 320 de commande de remplacement peuvent être adressés par différentes instructions de caractère générique. Dans ce cas, les moyens de décodage fournissent un signal de commande complexe permettant la commande des moyens de mémoire individuels en réponse à l'instruction de caractère générique respectif. En fonction des circonstances, le procédé suivant l'invention pour décoder peut être mis en oeuvre soit dans du matériel soit dans du logiciel. La mise en oeuvre peut être sur un support de stockage numérique, en particulier un disque ou un CD ayant des signaux de commande qui peuvent être lus électroniquement, qui peuvent coopérer avec un système d'ordinateur pouvant être programmé tel que le procédé respectif soit exécuté. En général, l'invention inclut également un produit de programme sur ordinateur ayant un code de programme mémorisé sur un support pouvant être lu sur machine pour effectuer le procédé suivant l'invention lorsque le produit programme ordinateur tourne sur un ordinateur. Dit différemment, l'invention peut également être réalisée sous la forme d'un programme d'ordinateur ayant un code de programme pour effectuer le procédé lorsque le programme d'ordinateur tourne sur un ordinateur. REVENDICATIONS 1. Dispositif de commande, caractérisé en ce qu'il comporte: des moyens (102, 202) de réception destinés à recevoir une instruction (112), l'instruction étant une instruction pouvant être exécutée ou 5 une instruction de caractère générique; des moyens (104, 204) de décodage formés pour émettre en sortie un signal (116, 216) de commande correspondant à l'instruction pouvant être exécutée en réponse au fait que l'instruction reçue est une instruction pouvant être exécutée, et pour émettre en sortie un signal (118, 218) de commutation en réponse au fait que l'instruction reçue est une instruction de caractère générique; et des moyens (106) pour fournir un signal (120, 222, 322) de commande de remplacement déterminé à l'avance formés pour émettre en sortie le signal de commande de remplacement déterminé à l'avance en fonction du signal de commutation. 2. Dispositif de commande suivant la revendication 1, caractérisé en ce que les moyens (206, 306) pour fournir comportent des moyens (206a, 306a) de mémoire pour fournir un signal (220, 320) de commande de remplacement déterminé à l'avance mémorisé et des moyens (206b, 306b) de commutation, les moyens de commutation étant formés pour émettre en sortie le signal (116, 216) de commande ou le signal de commande de remplacement déterminé à l'avance mémorisé en fonction du signal (118, 218) de commutation. 3. Dispositif de commande suivant la revendication 1 ou 2, 25 caractérisé en ce que les moyens (306) pour fournir sont formés pour recevoir et mémoriser le signal de commande déterminé à l'avance. 4. Dispositif de commande suivant la revendication 2, caractérisé en outre en ce qu'il comporte des moyens (336) d'écriture formés pour écrire une valeur du signal (320) de commande de remplacement dans les moyens (206a, 306a) de mémoire en réponse à une instruction d'écriture. 5. Dispositif de commande suivant la revendication 4, caractérisé en ce que le dispositif de commande comporte en outre une mémoire (334), et dans lequel les moyens (336) d'écriture sont formés pour écrire la valeur du signal de commande de remplacement à partir de la mémoire vers les moyens (206a, 306a) de mémoire. 6. Dispositif de commande suivant l'une des revendications 1 à 5, caractérisé en ce que le dispositif de commande comporte un ensemble d'instructions comportant une pluralité d'instructions pouvant être exécutées, un signal (116, 216) de commande correspondant à chaque instruction io pouvant être exécutée, et le signal (120, 220, 320) de commande de remplacement déterminé à l'avance correspondant à une instruction supplémentaire qui étend l'ensemble d'instructions. 7. Dispositif de commande suivant l'une des revendications 1 à 6, caractérisé en ce que le dispositif de commande comporte en outre des moyens (332) de calcul, les moyens de calcul étant formés pour exécuter une opération déterminée par le signal de commande ou le signal de commande de remplacement en réponse au signal (116) de commande ou au signal (320) de commande de remplacement. 8. Procédé pour décoder, caractérisé en ce qu'il comporte les 20 étapes qui consistent à : a) recevoir une instruction, l'instruction étant une instruction pouvant être exécutée ou une instruction de caractère générique; b) émettre en sortie un signal de commande correspondant à l'instruction pouvant être exécutée en réponse au fait que l'instruction reçue est une instruction exécutable, et émettre en sortie un signal de commutation en réponse au fait que l'instruction reçue est une instruction de caractère générique; et c) émettre en sortie un signal de commande de remplacement déterminé à l'avance en fonction du signal de commutation. 9. Programme d'ordinateur ayant un code de programme pour mettre en oeuvre le procédé suivant la revendication 8, lorsque le programme d'ordinateur tourne sur un ordinateur.