FR2632746A1 - Dispositif de traitement de donnees - Google Patents

Dispositif de traitement de donnees Download PDF

Info

Publication number
FR2632746A1
FR2632746A1 FR8907536A FR8907536A FR2632746A1 FR 2632746 A1 FR2632746 A1 FR 2632746A1 FR 8907536 A FR8907536 A FR 8907536A FR 8907536 A FR8907536 A FR 8907536A FR 2632746 A1 FR2632746 A1 FR 2632746A1
Authority
FR
France
Prior art keywords
instruction
type
memory
address
exception
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8907536A
Other languages
English (en)
Other versions
FR2632746B1 (fr
Inventor
Tetsuhide Senta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of FR2632746A1 publication Critical patent/FR2632746A1/fr
Application granted granted Critical
Publication of FR2632746B1 publication Critical patent/FR2632746B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

Le dispositif selon l'invention comporte des moyens de mémorisation 4, 12, 11, 21, d'identification 3, d'exécution 4, de sauvegarde 26, de traitement d'exception 8 et permet d'identifier une instruction de 1**e**r type réalisée par un microprogramme mémorisé dans une mémoire de commande 4 et une instruction de 2**e type; il permet de faire exécuter par des instructions du 1**e**r type, constituant un programme d'instruction pour cette instruction, une instruction du 2**e type qui a été identifiée; il permet également quand une exception survient durant l'exécution de ce programme de la traiter en utilisant l'adresse d'instruction du 2**e type retenue dans la section de sauvegarde, le dispositif de traitement d'exception pouvant ainsi traiter une exception survenant durant l'exécution du programme pour réaliser une instruction du 2**e type.

Description

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.

Claims (1)

  1. 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.
FR8907536A 1988-06-08 1989-06-07 Dispositif de traitement de donnees Expired - Fee Related FR2632746B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63140779A JPH0682320B2 (ja) 1988-06-08 1988-06-08 データ処理装置

Publications (2)

Publication Number Publication Date
FR2632746A1 true FR2632746A1 (fr) 1989-12-15
FR2632746B1 FR2632746B1 (fr) 1994-10-28

Family

ID=15276549

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8907536A Expired - Fee Related FR2632746B1 (fr) 1988-06-08 1989-06-07 Dispositif de traitement de donnees

Country Status (3)

Country Link
US (1) US5095426A (fr)
JP (1) JPH0682320B2 (fr)
FR (1) FR2632746B1 (fr)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134693A (en) * 1989-01-18 1992-07-28 Intel Corporation System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel
JP2504235B2 (ja) * 1989-11-16 1996-06-05 三菱電機株式会社 デ―タ処理装置
JP2581236B2 (ja) * 1989-11-16 1997-02-12 三菱電機株式会社 データ処理装置
US5237700A (en) * 1990-03-21 1993-08-17 Advanced Micro Devices, Inc. Exception handling processor for handling first and second level exceptions with reduced exception latency
US5574872A (en) * 1991-12-10 1996-11-12 Intel Corporation Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
DE4237417C2 (de) * 1992-03-25 1997-01-30 Hewlett Packard Co Datenverarbeitungssystem
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
US5761407A (en) * 1993-03-15 1998-06-02 International Business Machines Corporation Message based exception handler
US5758141A (en) * 1995-02-10 1998-05-26 International Business Machines Corporation Method and system for selective support of non-architected instructions within a superscaler processor system utilizing a special access bit within a machine state register
US6052801A (en) * 1995-05-10 2000-04-18 Intel Corporation Method and apparatus for providing breakpoints on a selectable address range
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
JP3451594B2 (ja) * 1995-12-21 2003-09-29 株式会社森精機ハイテック 数値制御装置における記憶手段アクセス制御方法および数値制御装置
FR2757653B1 (fr) * 1996-12-20 1999-03-12 Sextant Avionique Controleur d'entrees-sorties autonome et deporte
US6009515A (en) * 1997-05-30 1999-12-28 Sun Microsystems, Inc. Digital data processing system including efficient arrangement to support branching within trap shadows

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US4434462A (en) * 1980-11-24 1984-02-28 Texas Instruments Incorporated Off-chip access for psuedo-microprogramming in microprocessor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1426749A (en) * 1973-06-05 1976-03-03 Burroughs Corp Micro programme data processor having parallel instruction flow streams for plural level of subinstruction sets
US4370709A (en) * 1980-08-01 1983-01-25 Tracor, Inc. Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases
US4399505A (en) * 1981-02-06 1983-08-16 Data General Corporaton External microcode operation in a multi-level microprocessor
US4928223A (en) * 1982-10-06 1990-05-22 Fairchild Semiconductor Corporation Floating point microprocessor with directable two level microinstructions
US4901235A (en) * 1983-10-28 1990-02-13 Data General Corporation Data processing system having unique multilevel microcode architecture
US4975837A (en) * 1984-10-01 1990-12-04 Unisys Corporation Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3766532A (en) * 1972-04-28 1973-10-16 Nanodata Corp Data processing system having two levels of program control
US4434462A (en) * 1980-11-24 1984-02-28 Texas Instruments Incorporated Off-chip access for psuedo-microprogramming in microprocessor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ICCD '86 - IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN: VLSI IN COMPUTERS 9 Octobre 1986, PORT CHESTER, NY, US pages 332 - 335 R. W. HADSELL ET AL 'MICRO/370 CONTROL FLOW' *

Also Published As

Publication number Publication date
US5095426A (en) 1992-03-10
FR2632746B1 (fr) 1994-10-28
JPH0682320B2 (ja) 1994-10-19
JPH01310441A (ja) 1989-12-14

Similar Documents

Publication Publication Date Title
FR2632746A1 (fr) Dispositif de traitement de donnees
JP3984786B2 (ja) 異なる待ち時間を伴う命令のスケジューリング
US4430706A (en) Branch prediction apparatus and method for a data processing system
US5428618A (en) Debugger apparatus and method having an event history recording capability
FR2606903A1 (fr) Procede et dispositif de gestion de points d'arret dans un moniteur de logiciel
US20110093683A1 (en) Program flow control
EP0377994A2 (fr) Dispositif pour effectuer des opérations arithmétiques à virgule flottante
US9785439B2 (en) Processor testing
FR2894693A1 (fr) Procede et dispositif de sauvegarde et de restauration d'une maniere interruptible d'un ensemble de registres d'un microprocesseur
JPH0574099B2 (fr)
US4679138A (en) Microsequencer in a data processing system using stack storage for controlling the sequencing of microroutines
US20100037208A1 (en) handle based method for side-by-side assemblies in a unix environment
CN113626333A (zh) 一种接口自动化测试方法及装置
FR2601792A1 (fr) Systeme de traitement vectoriel
FR2632089A1 (fr) Systeme de calculateur electronique pourvu de moyens pour fournir une imitation de requete de stockage avant l'execution d'une poursuite de transition d'etat
KR970012141A (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
CN116088863B (zh) 故障定位方法及系统
US20060155972A1 (en) Method in pipelined data processing
EP0006485A1 (fr) Dispositif d'adressage de pages dans un système de traitement de données
CN109101192B (zh) 数据存储方法和装置
JPH06290045A (ja) 並列演算処理装置の演算エラー検出方式
FR2805367A1 (fr) Emulation d'instruction de branchement
FR2607607A1 (fr) Machine informatique destinee a l'execution de traitements symboliques pour les applications de l'intelligence artificielle
FR2458844A1 (fr) Procede et dispositif de traitement des signaux d'interruption pour un systeme de traitement de donnees a microprogramme
JP3057732B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
ST Notification of lapse