Brevet FR2632746A1 — publié le 19891215

Dispositif de traitement de données La présente invention se rapporte à un dispositif de traitement de données et, plus particulièrement, a un dispositif de traitement de donnees controlé par des microprogrammes mémorisés dans une memoire de commande. Afin d'améliorer l'exécution du traitement, un dispositif de traitement de donnees classique de ce type emploie un système à microinstructions de type dit horizontal. Dans ce système, une configuration avec de nombreux bits est employée pour accroître une fonction a étape d'exécution unique de microinstructions constituant un microprogramme pour realiser un traitement en parallele. Surtout pour les instructions de base qui sont utilisées fréquemment, une structure matérielle peut être optimisee pour maximiser-les caractéristiques des microinstructions de type horizontal ci-dessus et de la le nombre d'étapes pour un microprogramme qui est considérablement réduit. Par contraste avec ceci, dans d'autres instructions telles que de nombreuses sortes d'instructions de commande, ou des instructions de traitement de listes-ou des données ou une mémoire centrale sont traitées iterativement, l'operation est séquentielle. Dans ces instructions, meme si des microinstructions du type horizontal avancé sont utilisées, le nombre des microinstructions a exécuter en une étape est petit et il y a un grand nombre de champs de microinstructions inutilisés, c'est-à-dire que l'exécution de traitement en parallèle est faible. Pour cette raison, un tel dispositif de traitement de données emploie une structure hiérarchique pour executer diverses instructions de commande en utilisant un programme d'instruction constitué par les instructions d'opération de base susmentionnees, augmentant de cette façon l'efficacité d'utilisation d'une mémoire de commande pour memoriser un microprogramme dans le sens de mots.. Un dispositif de traitement de données classique a une disposition montrée dans la figure 1, c'est-a-dire, comprend une memoire centrale 1, un circuit de prise en charge d'instruction 2, une memoire d'analyse d'instruction 3 (moyens d'identification), un circuit memoire de commande 4 (moyens d'exécution), un circuit arithmétique 5 et un dispositif de traitement d'exception 8. La memoire centrale 1 comprend une section programme logiciel 11 (deuxiemes moyens de mémoire) pour mémoriser un programme logiciel pour effectuer un traitement prédéterminé et une section programme d'instruction 12 (premiers moyens de mémoire) pour memoriser une pluralité de programmes d'instruction décrits par des instructions du premier type. Le circuit arithmétrique 5 est commandé par le circuit mémoire de commande 4 pour effectuer diverses opérations en utilisant un microprogramme pour realiser une fonction définie par les instructions du premier type (décrites plus loin). L'adresse du programme logiciel memoris.e dans la section programme logiciel 11 de la mémoire centrale 1 est généree par un compteur d'instruction 25 et un circuit générateur d'adresse série 24 dans un circuit de prise en charge d'instruction 2 et est lue depuis la memoire centrale 1 par une adresse contenue dans un registre d'adresse d'instruction 21. Le programme logiciel lu est ensuite memorise dans un registre tampon d'instruction 22. Noter que la - recherche d'instruction est en général effectuée par un procédé dit de recherche préliminaire dans lequel, quand une instruction donnée est réellement exécutée,. l'instruction a déja atteint le registre tampon d'instruction. Les instructions du premier type a réaliser par un microprogramme dans une memoire de commande 41 vont etre décrites ci-dessous. Dans ce cas, les instructions du premier type sont des instructions de base pour lesquelles l'effet de traitement en parallèle de microinstructions de type horizontal peut-être maximisé. En general, la fréquence d'utilisation de telles instructions dans un programme logiciel est tres elevee. Noter que les instructions du premier type peuvent etre utilisées dans un programme d'instruction ou un programme logiciel. Une partie code d'instruction 221 de l'instruction memorisee dans le registre tampon d'instruction 22 est fournie a la mémoire d'analyse d'instruction 3. Des données de commande 31 à 33 sont ensuite lues depuis la memoire d'analyse d'instruction 3 en tant que valeurs initiales exigées pour commander un microprogramme pour l'instruction. Des données autres que-la partie code d'instruction 221 dans le registre tampon 22 sont fournies au circuit générateur d'adresse de branchement 23 en tant qu'opérande. Les données de commande 32 sont des données signalant si l'instruction correspondante est une instruction du premier ou du deuxième type et sont fournies à un séquenceur de microinstruction 42 du circuit mémoire de commande 4. Si les données de commande 32 signalent que l'instruction est une instruction du premier type, le séquenceur de microinstruction 42 fournit les donnees de commande 31 à la mémoire de commande 41 en tant qu'adresse de début d'un microprogramme pour exécuter cette instruction et lit un microcode depuis l'adresse de la mémoire de commande 41. Le microcode lu est contenu temporairement dans le registre de microinstruction 44 et de la est fourni au circuit arithmétique 5. Noter que ce microcode.comprend un procédé pour déterminer l'adresse de microinstruction suivante, ou comprend l'adresse de microinstruction suivante elle- meme. Quand le séquenceur de microinstruction 42 reçoit cette adresse du registre de microinstruction 44, la microinstruction suivante est lue. Par la suite, le dispositif de traitement de données execute sequentiellement un microprogramme exécutable de la manière décrite ci-dessus. Les instructions du deuxième type à réaliser par un programme d'instruction constitué par les instructions du premier type vont etre décrites ci-dessous. Dans ce cas, les instructions du deuxième type sont des instructions o l'on s'attend à ce qu'une faible part de traitement en parallele utilise un microprogramme consistant en microinstructions de type horizontal et ou les microinstructions sont plut8t utilisées comme des microinstructions de type vertical. Noter que les instructions du deuxieme type peuvent seulement etre utilisées dans un programme logiciel, pas dans un programme d'instruction. Si les données de commande 32 de la mémoire d'analyse d'instruction 3 signalent que l'instruction est une instruction du deuxième type, le séquenceur de microinstruction 42 arrête de lire une microinstruction depuis la memoire de commande 41 vers le registre de microinstruction 44. Un microcode de NOP (non-opération) est contenu dans le registre de microinstruction 44 et l'opération du circuit arithmétique 5 est temporairement interrompue. En même temps, les donnees de commande 32 sont fournies au circuit générateur d'adresse de branchement 23. Le circuit 23 sort ensuite les données de commande 33 en tant qu'adresse de début d'un programme d'instruction pour executer cette instruction vers le registre d'adresse d'instruction 21 par l'intermédiaire du sélecteur 27 de façon à faire que le registre 21 contienne l'adresse de début du programme d'instruction. En utilisant cette adresse, le dispositif de traitement de données commence à lire le programme d'instruction depuis la section programme d'instruction 12 de la mémoire centrale 1. En conséquence, la premièere instruction du programme d'instruction est mémorisée dans le registre tampon d'instruction 22. En outre, les données de commande 32 désignent un registre de sauvegarde du compteur d'instruction 26 (moyens de sauvegarde) pour memoriser la valeur (c'est-a- dire l'adresse de l'instruction du deuxième type) d'un compteur d'instruction 25 quand une instruction du deuxième type est d'abord lue depuis la memoire centrale 1. Quand une instruction du deuxieme type B1 va être executee par un programme d'instruction décrit par des instructions du premier type Aa à Ad, comme le montre la figure 2, la premiere instruction Aa est memorisee dans le registre tampon d'instruction 22. Noter qu'un programme logiciel,, dans la figure 2, est constitué par des instructions du premier type A1 à A4 et l'instruction du deuxième type B1. Puisque l'instruction Aa est d'un premier type, elle est executee par le microprogramme de la mémoire-de commande 41. De la meme façon, les instructions Ab et Ac du programme d'instruction sont executees par le. microprogramme de la mémoire de commande 41. Bien que l'instruction Ad soit d'un premier type, elle est la derniere instruction du programme d'instruction pour executer l'instruction du deuxieme type B1 et elle sert à renvoyer le déroulement du traitement à l'instruction A3 suivant'l'instruction B1 dans la seéquence du programme logiciel original. C'est-a-dire que l'instruction Ad est définie comme une instruction de branchement relative basée sur une adresse contenue dans le registre de sauvegarde du compteur d'instruction 26. Dans ce cas, puisque la valeur du compteur d'instruction 25, quand l'instruction du deuxième type B1 est lue, est contenue dans le registre de sauvegarde du compteur d'instruction 26, si la longueur du mot d'instruction de l'instruction du deuxième type B1 est établie en tant que déplacement de l'instruction de branchement relative, l'adresse d'instruction de l'instruction A3 suivant l'instruction du deuxième type B1 est générée par le circuit générateur d'adresse de branchement 23 dans la séquence d'instruction. Par la suite, cette adresse d'instruction est contenue dans le registre d'adresse d'instruction 21 par l'intermédiaire du sélecteur 27. En même temps, en utilisant l'adresse contenue dans le registre d'adresse d'instruction 21, le dispositif de traitement de donnees commence a lire l'instruction A3 depuis la section programme logiciel 11 de. la memoire centrale 1. L'instruction A3 lue depuis la section programme logiciel 11 est mémorisée dans le registre tampon d'instruction 22. Puisque l'instruction A3 est d'un premier type, elle est exécutée par le microprogramme mémorisé dans la memoire de commande 41. Ultérieurement, les intructions du programme logiciel sont exécutées sequentiellement. Le dispositif de traitement d'exception 8 débute normalement quand une exception est détectée durant l'exécution d'une instruction lue depuis la mémoire centrale 1, de façon à générer un message d'exception et à le signaler au logiciel. Dans ce cas, une exception signifie une situation anormale survenant durant l'exécution d'un programme, c'est-a-dire, une erreur du logiciel. Ce message d'exception comprend aussi bien l'adresse d'une instruction lorsque survient l'exception, que des paramètres déterminés par un type d'exception. Comme adresse de l'instruction lorsque survient l'exception, on utilise le contenu du compteur d'instruction 25 au moment ou l'exception survient. Dans le dispositif de traitement d'exception 8, le message d'exception est préparé par le contenu du compteur d'instruction 25. La préparation de ce message d'exception est généralement appelée "traitement d'exception". Dans le dispositif de traitement de données classique, cependant, si une exception survient durant l'exécution de l'instruction du deuxieme type B1 à réaliser par le programme d'instruction décrit par les instructions du premier type Aa à Ad, les adresses des instructions du premier type Aa à Ad qui sont actuellement exécutées, c'est-a-dire, le contenu du compteur d'instruction 25 au moment o les instructions du premier type Aa à Ad sont exécutées, sont utilisées en tant qu'adresse d'une instruction lorsque'survient l'exception, alors que l'adresse de l'instruction du deuxième type B1 devrait etre utilisée en tant qu'adresse de l'instruction -lorsque survient l'exception. Par conséquent, un objet principal de'la présente invention est de prevoir un dispositif de traitement de- donnees capable de traiter une exception survenant durant l'exécution d'un programme d'instruction pour réaliser une instruction du deuxième- type en tant qu'exception d'une instruction du deuxième type. Afin d'arriver à 1'objet ci-dessus, selon un aspect de la présente invention, il est fourni un dispositif de traitement de donnees comprenant une memoire de commande pour memoriser un microprogramme, des premiers moyens de mémoire pour memoriser un programme d'instruction constitué par une instruction du premier type réalisée par le' microprogramme, des deuxièmes moyens de memoire pour memoriser un programme logiciel constitue par l'instruction du premier type et une- instruction du deuxième type réalisée par le programme d'instruction memorisé dans les premiers moyens de mémoire, des moyens de mémoire d'adresse pour memoriser des adresses d'instruction lues depuis les premiers et deuxièmes moyens de memoire, des moyens d'identification pour identifier une instruction lue depuis les deuxièmes moyens de memoire en tant qu'instruction du premier ou du deuxième type, des moyens d'exécution pour executer l'instruction du deuxieme type en utilisant l'instruction du premier type constituant le programme d'instruction lu depuis les premiers moyens de mémoire quand les moyens d'identification identifient l'instruction lue en tant qu'instruction du deuxième type, des moyens de sauvegarde pour sauver une adresse d'instruction du deuxième type quand les moyens d'identification identifient l'instruction lue en tant qu'instruction du deuxieme type, des moyens de temporisation pour contenir des donnees signalant que l'instruction du deuxieme type est executée quand les moyens d'identification identifient l'instruction lue en tant qu'instruction du deuxieme type, des moyens de sélection pour sélectionner une des adresses respectivement mémorisée dans les moyens de mémoire d'adresse et les moyens de sauvegarde conformément aux données contenues dans les moyens de temporisation, et des moyens de traitement d'exception, connectes du cote d'une sortie des moyens de selection, pour préparer un message d'exception, dans lequel les moyens de traitement d'exception préparent le message d'exception sur la base d'une adresse sélectionnée par les moyens de sélection quand une exception survient durant l'execution de l'une des instructions du premier et du deuxième type qui est lue depuis les deuxièmes moyens de memoire. La figure 1 est un bloc-diagramme montrant un dispositif de traitement de données classique; La figure 2 est une vue illustrant une séquence d'un programme logiciel; et La figure 3 est un bloc-diagramme montrant un dispositif de traitement de données selon un premier mode de réalisation de la présente invention. La figure 3 montre un dispositif de traitement de donnees selon un premier mode de réalisation de la présente invention. Les numeros de référence de la figure 3 indiquent les mêmes éléments que dans la figure 1. En se référant à la figure 3, le numero de référence 6 indique un registre servant de moyens de temporisation; et 7, un sélecteur servant de moyens de sélection. Les données de commande 32 et 33 de la mémoire d'analyse d'instruction 3 sont respectivement introduites sur les bornes de mise a un et de mise a zero, 1 et 0, du registre 6. Conformement au signal de sortie du registre 6, le sélecteur 7 sélectionne l'un des signaux de sortie d'un compteur d'instruction 25 et d'un registre de sauvegarde du compteur d'instruction 26 d'un circuit de recherche d'instruction 2 et le sort sur un dispositif de traitement d'exception 8. C'est-a-dire que le sélecteur 7 sélectionne l'une des adresses d'une instruction qui est actuellement exécutée et d'une instruction du deuxieme type sauvegard4e dans le registre de sauvegarde du compteur d'instruction 26, conformément au contenu du registre 6. Une opération du mode de réalisation de la présente invention va être décrite ci-dessous, avec référence aux figures 3 et 2. Dans le dispositif de traitement de données, des instructions du premier type A1 a A4 et une instruction du deuxième type B1 sont. lues depuis une section programme logiciel 11 d'une memoire centrale 1 en utilisant une adresse contenue dans un registre d'adresse d'instruction 21 du circuit de recherche d'instruction 2, sous la commande d'une mémoire de commande 41. Les instructions du premier type A1 a A4 et l'instruction du deuxième type B1 sont executees sequentiellement, de la même manière que dans l'operation décrite ci-dessus du dispositif de traitement de données montré dans la figure 1. A ce moment-la, dans le dispositif de traitement de données, en réponse a une partie code d'instruction 221 d'une instruction mémorisée dans un registre tampon d'instruction 22, les données de commande 31 a 33 sont lues depuis la mémoire d'analyse d'instruction 3 en tant que valeurs initiales exigées pour commander un microprogramme pour traiter l'instruction. Des données de commande 31 a 33, la donnée 32 signale si l'instruction est d'un premier ou d'un deuxième type, comme décrit ci-dessus. Quand l'instruction est d'un premier type, ia donnée 32 est mise a "O". Quand elle est d'un deuxième type, la donnée 32 est mise a "1". En conséquence, le registre 6 est positionne conformément aux données de commande 32 et est mis a un seulement quand la donnée 32 signale une instruction du deuxième type. Ulterieurement, quand les instructions du premier type A1 a A4 -sont lues depuis la section programme logiciel 11 de la memoire centrale 1 dans le dispositif de traitement de données, puisque la donnée de commande 32 de la mémoire d'analyse d'instruction 3 signale une instruction du premier type, un séquenceur de microinstruction 42 fournit les données de commande 31 a une mémoire de commande 41 en tant qu'adresse de début d'un microprogramme pour réaliser ces instructions et lit un microcode depuis l'adresse correspondante de la memoire de commande 41. Le microcode lu est contenu temporairement dans un registre de microinstruction 44 et de la est fourni a un circuit arithmetique 5. En conséquence, les instructions du premier type Ai a A4 sont exécutées par le microcode de la mémoire de commande. A ce moment-là, puisque "O" est introduit dans le registre 6, le registre 6 est maintenu dans un état de mise a zero. Si une exception est détectée durant l'exécution des instructions du premier type A1 a A4, par exemple, si une exception survient durant l'exécution de l'instruction du premier type A2, puisque le registre 6 contient "0", le sélecteur 7 sélectionne un signal de sortie du compteur d'instruction 25 et sort l'adresse de l'instruction du premier type A2, contenue dans le compteur d'instruction 25, vers le dispositif de traitement d'exception 8. Le dispositif de traitement d'exception 8 traite l'adresse de l'instruction du premier type A2 contenue dans le compteur d'instruction en tant qu'adresse d'une instruction lorsque survient l'exception et prépare un message d'exception. Quand l'instruction du deuxieme type B1 est lue depuis la section programme logiciel 11 de la mémoire centrale 1 dans le dispositif de traitement de-donnees, puisque la donnée de commande 32 de la memoire d'analyse d'instruction 3 signale une instruction du deuxième type, le séquenceur de microinstruction 42 arrête de lire une microinstruction vers le registre de microinstruction 44. En conséquence, un microcode de NOP {non-opération) est contenu dans le registre de microinstruction 44 et l'opération du circuit d'opération 5 est temporairement interrompue. En meme temps, la donnée de commande 32 est fournie à un circuit générateur d'adresse de branchement 23. Le circuit 23 sort les données de commande 33 vers le registre d 'adresse d'instruction 21, par l'intermédiaire d'un sélecteur 27, en tant qu'adresse de début d'un programme d'instruction pour réaliser le traitement de l'instruction et fait que le registre 21 la contienne. Le dispositif de traitement de données commence a lire le programme d'instruction depuis la section programme d'instruction 12 en utilisant cette adresse de début et une premiere instruction Aa du programme d'instruction - est mémorisée dans le registre tampon d'instruction 22. En addition, la donnée de commande 32 désigne le registre de sauvegarde du compteur d'instruction 26 pour mémoriser la valeur (c'est-à-dire l'adresse de l'instruction du deuxième type B1) du compteur d'instruction 25 quand l'instruction du deuxième type initiale B1 est d'abord lue depuis la mémoire centrale 1. A ce moment-la, "1" est mis dans le registre 6 par la donnée de commande 32. Puisque les instructions Aa a Ad constituant le programme d'instruction pour realiser l'instruction du deuxième type B1 sont des instructions du premier type, elles sont réalisées par le microprogramme dans la memoire de commande 41 et de cette façon sont exécutées sequentiellement. Bien que l'instruction Ad soit une instruction du premier type, elle est la dernière instruction du programme d'instruction pour realiser l'instruction du deuxième type B1 et est utilisée pour renvoyer le déroulement du traitement à l'instruction A3 suivant l'instruction B1 dans la séquence du programme logiciel original. C'est-à-dire que l'instruction Ad est définie comme une instruction de branchement relative basée sur l'adresse contenue dans le registre de sauvegarde du compteur d'instruction 26. La valeur du compteur d'instruction 25 obtenue quand l'instruction du deuxième type B1 est lue est contenue dans le registre de sauvegarde du compteur d'instruction 26. Par conséquent, en établissant la longueur du mot d'instruction de l'instruction du deuxième type B1 en tant que déplacement de l'instruction de branchement relative, l'adresse d'instruction de l'instruction A3 suivant l'instruction du deuxième type B1 est généree dans la séquence d'instruction dans le circuit générateur d'adresse de branchement 23. Cette adresse d'instruction est contenue dans le registre d'adresse d'instruction 21 par l'intermédiaire du sélecteur 27. En même temps, le dispositif de traitement de donnees commence à lire l'instruction A3 depuis la - section programme logiciel 11 de la mémoire centrale 1 en utilisant l'adresse contenue dans le registre d'adresse d'instruction 21. L'instruction A3 lue depuis la section programme logiciel 11 est mémorisée dans le registre tampon d'instruction 22. Puisque l'instruction A3 est d'un premier type, elle est réalise par le microprogramme memorise dans la memoire de commande 41. Ultérieurement, les intructions du programme logiciel sont réalisees sequentiellement. Si aucune exception n'est détectée quand le programme d'instruction décrit par les instructions Aa à Ad, c'est-a-dire, quand l'instruction du deuxième type B1 est executee sans dispositif de traitement d'exception, le registre 6 est mis a zero a l'execution de l'instruction Ad par les données de commande 33 lues depuis la mémoire d'analyse d'instruction 3. C'est-a-dire que le registre 6 est mis a un quand l'exécution de l'instruction du deuxième type est commencee et est mis à zero quand l'exécution est achevee. Si une exception est detectée durant l'exécution du programme d'instruction pour réaliser l'instruction du deuxième type B1, c'est-adire si-une exception survient durant l'execution de l'instruction du deuxième type Ab. dans le programme d'instruction, puisque "1" est contenu dans le registre 6, le sélecteur 7 sélectionne un signal de sortie du registre de sauvegarde du compteur d'instruction 26 et sort l'adresse de l'instruction du deuxieme type B1 sauvee dans le registre 26 vers le dispositif de traitement d'exception 8. Le dispositif de traitement d'exception 8 traite l'adresse de l'instruc- tion du deuxième type Bi sauvegardée dans le registre 26 en tant qu'adresse d'une instruction lorsque survient une exception et prépare un message d'exception. Quand une exception survient durant l'exécution du programme d'instruction, l'adresse de l'instruction du deuxieme type Bl sauvegardée dans le registre de sauvegarde du compteur d'instruction 26 est sélectionnée par le sélecteur 7, conformement aux donnees signalant que le programme d'instruction contenu dans le registre 6 est exécuté et est fournie au dispositif de traitement d'exception 8. Pour cette raison, le dispositif de traitement de donnees peut traiter une exception survenant durant l'exécution du programme d'instruction pour réaliser l'instruction du deuxieme type non pas comme une exception des instructions du premier type Aa à Ad constituant le programme d'instruction, mais comme une exception d'une instruction du deuxieme type, effectuant par conséquent un traitemnent d'exception correct. De plus, dans un dispositif de traitement de données ayant un matériel capable d'effectuer un traitement en parallèle d'instructions du logiciel par traitement pipeline, le temps d'exécution peut être réduit. Comme on l'a décrit ci-dessus, selon la présente invention, une instruction du premier type réalisée par un microprogramme mémorisé dans une memoire de commande et une instruction du deuxième type réalisee'par un programme d'instruction constitué par des instructions du premier type sont identifiées. Quand ce résultat d'identification indique une instruction du deuxieme type, le dispositif de traitement de données fait que l'instruction du deuxième type est executee par un programme d'instruction constitué par des instructions du premier type. En plus, quand une exception survient durant-l'execution de ce programme d'instruction, le dispositif de traitement de données peut traiter l'exception en utilisant l'adresse de l'instruction du deuxieme type sauvegardée dans les moyens de sauvegarde. Le dispositif de traitement de données peut traiter une exception survenant durant l'exécution du programme d'instruction pour realiser une instruction du deuxième type et de la peut effectuer un traitement d'exception correct. Dans le mode de réalisation de la présente invention, l'adresse de début d'une instruction pour realiser l'instruction du deuxième type B1 est memorisee dans la mémoire d'analyse d'instruction 3. Cependant, une partie seulement de l'adresse de début du programme d'instruction pour réaliser l'instruction du deuxieme type B1 peut être mémorisée dans la mémoire d'analyse d'instruction 3 et une adresse de début peut être généree en combinant la partie de l'adresse de début avec une constante prédéterminée. - De plus, dans le mode de réalisation de la présente invention, l'adresse de début du microprogramme pour realiser le traitement des instructions du premier type A1 a A4 est définie par les données de commande 31 de la memoire d'analyse d'instruction 3 et l'adresse de début du programme d'instruction pour réaliser le traitement de l'instruction du deuxième type B1 est définie par les données de commande 33 de la mémoire 3. Cependant,- l'adresse de début du programme d'instruction pour realiser l'instruction du deuxième type B1 peut être assignée aux données de commande 31 de la mémoire d'analyse d'instruction 3 qui désigne l'adresse de début du microprogramme pour réaliser le traitement des instructions du premier type Al a A4 et Aa a Ad. En outre, dans le mode de réalisation de la présente invention, le registre 6 est mis a zero en -utilisant les données de commande 33 de la mémoire d'analyse d'instruction 3. Cependant, le registre 6 peut être mis a zero par, -a savoir,-une microinstruction. La presente-invention ne se limite pas a ceci. REVENDICATION Dispositif de traitement de données, caracterisé en ce qu'il comprend: une mémoire de commande pour memoriser un microprogramme; des premiers moyens de mémoire pour memoriser un programme d'instruction constitué par une instruction du premier type realisee par le microprogramme; des deuxièmes moyens de mémoire pour memoriser un programme logiciel constitué par l'instruction du premier type et une instruction du deuxième type réalisée par le programme d'ins:truction mémorisé dans ces premiers moyens de memoire; des moyens de mémoire d'adresse pour memoriser des adresses d'instructions lues depuis ces premiers et deuxiemes moyens de mémoire; des moyens d'identification pour identifier une instruction lue depuis ces deuxièmes moyens de memoire en - tant qu'instruction du premier ou du deuxieme type; des moyens d'exécution pour executer l'instruction du deuxième type en utilisant l'instruction du premier type constituant le programme d'instruction lu depuis ces premiers moyens de memoire quand ces moyens d'identification identifient l'instruction lue en tant qu'instruction du deuxième type; des moyens de sauvegarde pour sauver une adresse d'instruction du deuxième type quand ces moyens d'identification identifient l'instruction lue en tant qu'instruction du deuxième type; des moyens de temporisation pour contenir des données signalant que l'instruction du deuxième type est executee quand ces moyens d'identification identifient l'instruction lue en tant qu'instruction du deuxieme type; des moyens de sélection pour sélectionner une des adresses respectivement mémorisée dans ces moyens de memoire d'adresse et ces moyens de sauvegarde conformément aux données contenues dans ces moyens de temporisation; et des moyens de traitement d'exception, connectés du coté d'une sortie de ces-moyens -de sélection, pour préparer un message d'exception, dans lequel ces moyens de traitement d'exception préparent le message d'exception sur la base de l'adresse sélectionnée par ces moyens de sélection quand une exception survient durant l'exécution de l'une des instructions du premier et du deuxieme type qui est lue depuis ces deuxièmes moyens de mémoire.