FR2710992A1 - Contrôleur de microprogramme. - Google Patents
Contrôleur de microprogramme. Download PDFInfo
- Publication number
- FR2710992A1 FR2710992A1 FR9411850A FR9411850A FR2710992A1 FR 2710992 A1 FR2710992 A1 FR 2710992A1 FR 9411850 A FR9411850 A FR 9411850A FR 9411850 A FR9411850 A FR 9411850A FR 2710992 A1 FR2710992 A1 FR 2710992A1
- Authority
- FR
- France
- Prior art keywords
- firmware
- word
- storage means
- blocking
- firmware word
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction selection based on results of processing by instruction selection on output of storage
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)
Abstract
Selon l'invention, il est prévu de connecter sélectivement une mémoire de commande principale (103) et une mémoire de commande externe (109) pour transférer une sortie à un registre de lecture (106) de la mémoire de commande principale. Sont prévus un circuit de détermination de branchement (112) pour réaliser une détermination de branchement d'instructions de branchement conditionnel depuis les mémoires de commande principale (103) et externe (109) et un circuit de synchronisation de détermination de branchement (114) pour, lorsque l'instruction de branchement conditionnel provient de la mémoire de commande externe (109), exécuter le microprogramme et des instructions de branchement conditionnel au moyen de la sortie du registre de lecture (106) de la mémoire de commande principale (103).
Description
CONTROLEUR DE MICROPROGRAMME
La présente invention concerne de façon générale des contrôleurs de microprogramme et plus
particulièrement, des contrôleurs de microprogramme contenus dans des processeurs d'information qui5 commandent la lecture d'un microprogramme stocké en une pluralité de lieux de stockage.
Dans les récentes années, la tendance a consisté à utiliser des microprogrammes de dimension plus importante pour commander les processeurs d'information10 classiques afin d'augmenter leur performance. Par ailleurs, l'amélioration de la performance d'un processeur d'information nécessite la réduction du nombre de cycles machine nécessaires ainsi que des coûts de fabrication etc... Il est par conséquent non souhaitable d'augmenter fortement une capacité d'une mémoire de commande interne pour stocker un microprogramme d'un processeur d'information. Afin d'éviter une augmentation supplémentaire de la capacité d'une mémoire de stockage, des systèmes de microprogramme àrecouvrement ont été proposés. Dans un système de commande de microprogramme à recouvrement, un microprogramme, qui présente une dimension trop importante pour être contenu dans une mémoire de commande interne prévue dans un processeur d'information, est stocké dans une mémoire externe présentant une capacité importante. Le microprogramme est divisé en une pluralité de blocs qui sont chargés sur une base bloc par bloc depuis la mémoire externe dans la mémoire de commande interne contenue dans le processeur d'information puis il est exécuté par la mémoire de commande contenue dans le processeur
d'information après le chargement.
Cependant, lorsqu'un microprogramme extrêmement long doit être chargé dans une mémoire de commande contenue dans un processeur d'information depuis une mémoire de commande externe, le système de commande de microprogramme à recouvrement classique décrit ci-avant nécessite des répétitions du chargement du microprogramme du fait qu'il est divisé en blocs. Il 5 résulte de cela que non seulement le temps de chargement mais également le temps de contrôle du chargement sont augmentés, ce qui fait que le temps de traitement global devient plus long, ce qui dégrade la
performance du processeur d'information.
Un objet de la présente invention consiste à surmonter les inconvénients mentionnés ci-avant en proposant un contrôleur de microprogramme susceptible de stocker un microprogramme de grande dimension, qui est trop long pour être contenu dans une unique mémoire de commande, dans une pluralité de mémoires de commande tout en minimisant une augmentation du temps de traitement, soit l'inconvénient d'un système de microprogramme à rechargement classique, afin d'obtenir une commande
haute vitesse du microprogramme.
Un autre objet de la présente invention consiste à proposer un contrôleur de microprogramme permettant de réaliser un traitement haute vitesse d'un microprogramme qui présente une dimension trop importante pour être contenudans une unique mémoire de commande en exécutant une instruction de branchement conditionnel et en contrôlant une synchronisation entre une mémoire de commande principale et une mémoire de commande externe lorsque l'instruction de branchement conditionnel provient de la mémoire de commande externe. Selon un aspect de l'invention, on propose un contrôleur de microprogramme comprenant: un premier moyen de stockage pour stocker un microprogramme; un second moyen de stockage pour stocker ledit microprogramme; un premier moyen de blocage (holding (means) d'adresse pour bloquer une adresse permettant de lire ledit mot de microprogramme dans ledit premier moyen de stockage; un second moyen de blocage d'adresse pour bloquer une adresse permettant de lire ledit mot de microprogramme dans ledit second moyen de stockage; un premier moyen de blocage de mot de microprogramme pour bloquer un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit premier moyen de stockage ou un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit second moyen de stockage; et un moyen de commande pour établir sélectivement le mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage dans ledit premier moyen de blocage de mot de microprogramme. Selon la construction qui a la préférence, le moyen de commande sélectionne un mot de microprogramme lu dans ledit premier moyen de mémoire ou dans ledit second moyen de mémoire en tant que mot de microprogramme suivant qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme sur la base d'une commande incluse dans ledit mot de microprogramme établi dans ledit premier moyen de
blocage de mot de microprogramme.
Par ailleurs, un contrôleur de microprogramme peut en outre comprendre un moyen de sélection permettant de sélectionner un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage et d'entrer celui-ci dansledit premier moyen de blocage de mot de microprogramme, dans lequel ledit moyen de commande sélectionne ledit mot de microprogramme qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme en commutant ledit moyen de sélection sur la base d'une commande incluse dans ledit mot de microprogramme établi dans ledit premier moyen de blocage de mot de microprogramme. Par ailleurs, un contrôleur de microprogramme peut en outre comprendre un second moyen de blocage de mot de microprogramme permettant de stocker temporairement ledit mot de microprogramme lu dans le second moyen de stockage, ledit second moyen de blocage de mot de microprogramme étant connecté audit premier moyen de
blocage de microprogramme.
Selon un autre aspect de l'invention, on propose un contrôleur de microprogramme comprenant: un premier moyen de stockage pour stocker un microprogramme; un second moyen de stockage pour stocker ledit microprogramme; un premier moyen de blocage d'adresse pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit premier moyen de stockage; un second moyen de blocage d'adresse pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit second moyen de stockage; un premier moyen de blocage de mot de microprogramme pour bloquer un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit premier moyen de stockage ou un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit second moyen de stockage; un moyen de commande pour établir sélectivement les mots de microprogramme lus dans ledit premier moyen de stockage ou dans ledit second moyen de stockage dans ledit premier moyen de blocage de mot de microprogramme; et un moyen de détermination de branchement pour, lorsque ledit mot de microprogramme contenu dans ledit premier moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, exécuter un traitement de détermination de branchement de ladite
instruction de branchement conditionnel.
Selon la construction mentionnée ci-avant, le contrôleur de microprogramme peut en outre comprendre un moyen de sélection permettant de sélectionner un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage et d'entrer ce même mot dans ledit premier moyen de blocage de mot de microprogramme, dans lequel ledit moyen de commande sélectionne ledit mot de microprogramme qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme en commutant ledit moyen de sélection sur la base d'une commande incluse dans ledit mot de microprogramme établi dans
ledit premier moyen de blocage de mot de microprogramme.
Selon la construction mentionnée ci-avant, le contrôleur de microprogramme peut en outre comprendre un second moyen de blocage de mot de microprogramme connecté audit premier moyen de blocage de mot de microprogramme pour stocker temporairement ledit mot de microprogramme lu dans les seconds moyens de stockage et un moyen de synchronisation de détermination de branchement pour, lorsqu'unmot demicroprogramme contenudans ledit second moyen de blocage de mot de microprogramme est une ins- truction de branchement conditionnel, bloquer la lecture dudit mot de microprogramme dans ledit premier moyende stockage et dans ledit second moyen de stockage en synchronisation avec le traitement de branchement30 conditionnel réalisé par ledit moyen de détermination de branchement conformément à ladite instruction de branchement conditionnel. Par ailleurs, selon la construction qui a la préférence, ledit premier moyen de stockage et ledit second moyen de stockage incluent chacun une pluralité de groupes, lesdites adresses stockées dans lesdits premier et second moyens de blocage d'adresse incluent chacune une adresse de groupe pour accéder simultanément à tous les groupes dudit premier moyen de stockage et dudit second moyen de stockage et une adresse de sélection pour sélectionner l'un desdits groupes accédés; et ledit moyen de détermination de branchement, lorsque ledit mot de microprogramme contenu dans ledit premier moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, émet en sortie un signal de détermination de branchement pour sélectionner un mot de microprogramme suivant qui doit être lu dans ledit premier moyen de stockage et dans ledit second moyen de stockage dans l'un desdits groupes accédés, conformément à ladite instruction de
branchement conditionnel.
Selon un autre aspect de l'invention, on propose un contrôleur de microprogramme comprenant: un premier moyen de stockage pour stocker un microprogramme; un second moyen de stockage pour stocker ledit microprogramme; un premier moyen de blocage d'adresse pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit premier moyen de stockage; un second moyen de blocage d'adresse pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit moyen de stockage; un premier moyen de blocage de mot de microprogramme pour bloquer un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit premier moyen de stockage ou un mot de microprogramme qui doit lu en vue d'une exécution dans ledit second moyen de stockage; un moyen de commande pour établir sélectivement le mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage dans ledit premier moyen de blocage de mot de microprogramme; et un moyen de détermination de branchement pour, lorsque ledit mot de microprogramme bloqué dans ledit premier moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, exécuter un traitement de détermination de branchement de ladite instruction de branchement conditionnel; ledit premier moyen de stockage et ledit second moyen de stockage incluant chacun une pluralité de groupes; lesdites adresses stockées dans lesdits premier et second moyens de blocage d'adresse incluant chacune une adresse de groupe pour accéder simultanément à tous les groupes dudit premier moyen de stockage et dudit second moyen de stockage et une adresse de sélection pour sélectionner l'un desdits groupes accédés; et ledit moyen de détermination de branchement, lorsque ledit mot de microprogramme bloqué dans ledit premier moyen de blocage de microprogramme est une instruction de branchement conditionnel, émettant en sortie un signal de détermination de branchement pour sélectionner un mot de microprogramme suivant qui doit être lu dans ledit premier moyen de stockage et dans ledit second moyen de stockage dans l'un desdits
groupes accédés.
Dans ce cas, le contrôleur de microprogramme peut comprendre en outre un premier moyen de sélection permettant de bloquer sélectivement lesdits mots de microprogramme lus dans tous les groupes dudit premier moyen de stockage sur une base groupe par groupe; et un second moyen de sélection pour bloquer sélectivement lesdits mots de microprogramme lus dans tous les groupes dudit second moyen de stockage, sur une base groupe par groupe; et dans lequel ledit moyen de détermination de branchement sélectionne un mot de microprogramme suivant dans l'un desdits groupes accédés en émettant en sortie ledit signal de détermination de branchement pour ledit premier moyen de sélection ou pour ledit second moyen
de sélection.
Selon la construction mentionnée ci-avant, ledit moyen de commande sélectionne un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage en tant que dit mot de microprogramme qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme, sur la base d'une commande incluse dans ledit mot de microprogramme établi dans ledit premier moyen de blocage de mot de microprogramme. Dans ce cas, le contrôleur de microprogramme peut comprendre en outre un troisième moyen de sélection pour sélectionner un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage et pour entrer ce même mot sur ledit premier moyen de blocage de microprogramme et,dans lequel ledit moyen de commande sélectionne ledit mot de microprogramme qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme en commutant ledit moyen de sélection conformément à une commande incluse dans ledit mot de microprogramme établi dans
ledit premier moyen de blocage de mot de microprogramme.
Selon la construction mentionnée ci-avant, le contrôleur de microprogramme peut en outre comprendre un second moyen de blocage de mot de microprogramme connecté audit premier moyen de blocage de mot de microprogramme pour stocker temporairement ledit mot de microprogramme lu dans ledit second moyen de stockage; et un moyen de synchronisation de détermination de branchement pour, lorsqu'un mot de microprogramme35 bloqué dans ledit second moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, bloquer la lecture dudit mot de microprogramme dans ledit premier moyen de stockage et dans ledit second moyen de stockage en synchronisation avec le traitement de branchement conditionnel réalise par ledit moyen de détermination de branchement conformément à ladite instruction de branchement conditionnel.
Ces objets, caractéristiques et avantages de la pré- sente invention ainsi que d'autres apparaîtront à la lu-
mière de la description détaillée de la présente10 invention qui suit.
La présente invention sera davantage comprise à
partir de la description détaillée qui est produite ci-
après et à partir des dessins annexés de son mode de réalisation particulier, lesquels, cependant, ne doivent pas être considérés comme étant destinés à limiter l'invention mais seulement dans un but d'explication et de compréhension, et parmi ces dessins: la figure 1 est un schéma fonctionnel qui représente un agencement d'un contrôleur de microprogramme selon un mode de réalisation particulier de la présente invention; la figure 2 est un diagramme temporel qui représente le fonctionnement du contrôleur de microprogramme représenté sur la figure 1; la figure 3 est un schéma qui représente un exemple d'un abaque de codage de la commande de séquence de microprogramme réalisée dans le contrôleur de microprogramme représenté sur la figure 1; la figure 4 est un schéma qui représente un agencement de zones d'un mot d'instruction de microprogramme; la figure 5 est un schéma qui représente des exemples du contenu de commandes de contrôle de séquence destiné à être écrit dans la zone "IEQ" du mot d'instruction de microprogramme représenté sur la figure 4; la figure 6 est un schéma qui représente des exemples du contenu de commandes de contrôle par équipement destiné à être écrit dans la zone "FUT" du mot d'instruction de microprogramme représenté sur la figure 4; et la figure 7 est un schéma qui représente le contenu de la table d'une commande de détermination de branchement classique lors du traitement de détermination de branchement réalisé par un circuit de
détermination de branchement.
La figure 1 est un schéma fonctionnel qui représente un agencement système d'un contrôleur de microprogramme selon un mode de réalisation particulier de la présente invention. Sur la figure 1, le contrôleur de microprogramme du présent mode de réalisation comprend une mémoire de commande principale 103 qui constitue une première mémoire pour stocker un microprogramme et une mémoire de commande externe 109 qui constitue une seconde mémoire pour stocker un
microprogramme.
La mémoire de commande externe 109
contient un microprogramme lorsque le micro-
programme présente une dimension trop importante pour être contenu uniquement dans
la mémoire de commande principale 103.
Une mémoire dont le temps d'accès est plus long et dont les coûts de fabrication sont inférieurs à ceux de la mémoire de commande principale 103 est utilisée en tant que mémoire de commande externe 109. En outre, la mémoire de commande externe 109 est constituée selon une puce séparée de celle de
la mémoire de commande principale 103.
Un sélecteur 101, un registre d'adresse 102, des sélecteurs 104 et 105 et un registre de lecture 106
sont connectés à la mémoire de commande principale 103.
Un sélecteur 107, un registre d'adresse 108, un sélecteur 110 et un registre de lecture 111 sont il connectés à la mémoire de commande externe 109. Un circuit de détermination de branchement 112, un circuit de mise en route (setup) de mémoire de commande externe 113 et un circuit de synchronisation de détermination de branchement 114 permettant de commander la lecture de mots d'instructions d'un microprogramme dans les deux
mémoires de commande 103 et 109 sont en outre prévus.
Le sélecteur 101 sélectionne une adresse qui doit être établie dans le registre d'adresse 102. Une adresse de mise en route 203 permettant d'établir initialement un microprogramme envoyé depuis une unité d'exécution d'opération, une valeur de la zone "NA" d'un mot d'instruction de microprogramme et une valeur de la zone "FUT" qui est un mot d'instruction de microprogramme contenu dans le registre de lecture 106 sont entrées sur le sélecteur 106. Le sélecteur 107 sélectionne une adresse qui doit être établie dans le registre 108. Une valeur de la zone "NA" d'un mot d'instruction de microprogramme et une valeur de la zone "FUT" d'un mot d'instruction de microprogramme contenu dans le registre de lecture 106
sont entrées sur le sélecteur 107.
La mémoire de commande principale 103 et la
mémoire de commande externe 109 présentent chacune une capacité de 4 KW (soit 1 KW x 4 groupes).
Lors de l'accès à la mémoire de commande pcrincipale 103 et à la mémoire de commande externe 109, quatre groupes constitués30 chacun par les mémoires 103 et 109 sont respectivement simultanément lus au moyen desdits bits de poids fort de chacun des registres d'adresse 102 et 108. Puis l'un des quatre groupes qui sont constitués chacun par les mémoires 103 et 109 est choisi par des signaux de détermination de branchement 201 et 202 afin d'exécuter des instructions de branchement conditionnel multidirectionnel, c'est-à-dire bidirectionnel ou quadridirectionnel. Le codage du microprogramme est également possible pour chacune des mémoires de
commande 103 et 109.
Comme représenté sur la figure 4, chaque mot d'instruction de microprogramme qui doit être lu dans les mémoires de commande 103 et 109 est constitué par
des zones "ISQ", "EOP", "FUT", "NA", etc....
La zone "ISQ (séquence d'instruction)" commande une séquence de microprogramme indiquée par chacune des commandes telles que "BRS (commande d'instruction de branchement inconditionnel)", "CBR2 (commande d'instruction de branchement conditionnel bidirectionnel)", "CBR4 (commande d'instruction de branchement conditionnel quadridirectionnel)". Un motif binaire et un commentaire de fonctionnement de chaque
commande sont représentés sur la figure 5.
"BRS (commande d'instruction de branchement inconditionnel)" est prévu pour utiliser la valeur de la zone "NA (adresse suivante)" d'un mot d'instruction de microprogramme lu dans les mémoires de commande 103 et 109 en tant qu'adresse d'un mot d'instruction
suivant qui doit être lu et exécuté.
"CBR2 (commande d'instruction de branchement conditionnel bidirectionnel)" est destiné à être utilisé en tant qu'adresse d'un mot d'instruction suivant qui doit être lu et exécuté, soit la valeur de la zone "NA" d'un mot d'instruction de microprogramme sélectionné par le signal de détermination de branchement à deux bits 201 ou 202 constitué par un bit d'ordre inférieur du registre d'adresse 102 ou 108 utilisé en tant que son bit d'ordre supérieur et par un bit d'ordre inférieur d'un signal de test de branchement 200 utilisé en tant que son bit d'ordre inférieur. "CBR4 (commande d'instruction de branchement conditionnel quadridirectionnel)" est destiné à être utilisé en tant qu'adresse d'un mot d'instruction suivant qui doit être lu et exécute, soit la valeur de la zone "NA" du mot d'instruction de microprogramme sélectionné par le signal de détermination de branchement à deux bits 201 ou 202 obtenu en substituant respectivement le signal de test de branchement 200 aux deux bits d'ordre inférieur du
registre d'adresse 102 ou 108.
La zone "EOP (fin d'opération)" est une commande permettant d'ordonner la fin d'une séquence de microprogramme. L'action consistant à ordonner au registre d'adresse 102 ou 108 d'établir une adresse pour lire un mot d'instruction de microprogramme suivant et l'action consistant à commander le circuit d'établissement de mémoire de commande externe 113 sont
exécutées sous cette commande.
La zone "FUT (unité fonctionnelle)" est constituée par des commandes permettant de commander un équipement. Un motif binaire et un commentaire de fonctionnement de chaque commande qui doit être écrite dans la zone "FUT (unité fonctionnelle)" sont
représentés sur la figure 6.
La commande "DEMARRAGE" est illustrée ici en tant qu'exemple de commande de la zone "FUT (unité fonctionnelle)". La commande "DEMARRAGE" est prévue pour commander la lecture dans la mémoire de commande principale 103 ou dans la mémoire de commande externe 109 pendant l'exécution de la commande de séquence de microprogramme. Selon le présent mode de réalisation, la zone "FUT" est constituée par treize bits. Le bit de poids fort (bit 0) qui présente la valeur logique de "1" pris parmi ces treize bits est prévu pour la discrimination entre la commande "DEMARRAGE" et les autres commandes et les premier à douzième bits restants (ci-après appelés "FUT (1:12)) sont utilisés en tant qu'adresses destinées à être établies dans le registre d'adresse 102 ou 108 et sont utilisés pour la mise en route du circuit d'établissement de mémoire
de commande externe 113.
La valeur logique de "0" du bit de poids fort (bit 0) de la zone "FUT" indique des commandes de contrôle autres que la commande "DEMARRAGE". Les autres commandes incluent une commande permettant d'ordonner un établissement de registre, une commande permettant l'exécution d'opérations et une commande permettant la
sélection d'une opération par les sélecteurs.
Le registre d'adresse 102 bloque des adresses de la mémoire de commande principale 103 tandis que le registre d'adresse 108 bloque des adresses de la mémoire de commande externe 109. Chaque registre est constitué par douze bits (depuis le bit de poids fort, soit le bit 0, jusqu'au bit de poids faible, soit le onzième bit). Les dix bits de poids fort sont utilisés en tant qu'adresses pour accéder simultanément aux quatre groupes constitués par la mémoire de commande principale 103 ou par la mémoire de commande externe 109 afin de lire des mots d'instruction de microprogramme tandis que les deux bits de poids faible restants sont utilisés pour sélectionner l'un des quatre mots d'instruction de microprogramme lus dans
les quatre groupes.
Le registre de lecture 106 est un registre permettant de bloquer des mots de microprogramme lus dans la mémoire de commande principale 103 et des mots d'instruction de microprogramme lus dans la mémoire de commande externe 109 et envoyés au travers du registre de lecture 111. A l'aide d'un quelconque mot d'instruction lu dans la mémoire de commande principale 103 et dans la mémoire de commande externe 109, le microprogramme est exécuté par la sortie du registre de lecture 106. Plus spécifiquement, les mots d'instruction de microprogramme bloqués dans le registre de lecture 106 sont chargés dans l'unité
d'exécution d'opération en vue d'une exécution.
Des ordres tels que l'établissement des mots d'instruction de microprogramme sont donnés par un signal de validité d'opération 203 émis en sortie depuis le circuit d'établissement de mémoire de commande externe 113. Moyennant le signal de validité d'opération 203 qui présente la valeur logique de "0"
ou "1", les mots d'instruction de microprogramme de la mémoire de commande principale 103 ou de la mémoire de commande externe 109 sont respectivement établis par10 l'intermédiaire du sélecteur 105.
Le registre de lecture 111 est un registre permettant de bloquer des mots d'instruction de microprogramme lus dans la mémoire de commande externe 109. Le circuit de détermination de branchement 112 est destiné à réaliser une détermination de branchement conditionnel pour le microprogramme. Une zone "ISQ" 208 d'un mot d'instruction d'un microprogramme bloqué dans le registre 106, le signal de test de branchement 200, les deux bits de poids faible (dixième et onzième bits) du registre d'adresse 102 ou les deux bits de poids faible (dixième et onzième bits) du registre d'adresse 108 et le signal de validité d'opération 203 provenant du circuit de mise en route de mémoire de commande externe 113 sont entrés sur le circuit de détermination
de branchement 113.
Puis sur la base de la zone "ISQ" 208 reçue, du signal de test de branchement 200, des deux bits depoids faible du registre d'adresse 102 ou 108 et du signal de validité d'opérations 203, le circuit de détermination de branchement 112 effectue une détermination de branchement conditionnel telle que représentée sur la figure 7 afin d'émettre en sortie le signal de détermination de branchement 201 ou 202 en tant que
résultat.
Le signal de test de branchement 200 est un signal envoyé en tant que signal de condition de détermination de branchement à deux bits sur le circuit de détermination de branchement 112 en sélectionnant, sur la base des mots d'instruction de microprogramme, des indicateurs de condition de branchement (résultats d'opération etc...) contenusdans l'unité d'exécution d'opération qui charge et exécute les mots d'instruction de microprogramme stockés dans le
registre de lecture 106.
Lors de la détermination de branchement conditionnel, lorsque le signal de validité d'opération 203 est dans l'état "0" et que la zone "ISQ" 208 indique "BRS", les deux bits de poids faible (dixième et onzième bits) d'une adresse stockée dans le registre d'adresse 102 sont émis en sortie en tant que signal de détermination de condition de branchement 201. Lorsque le signal de validité d'opération 203 est dans un état "0" et que la zone "ISQ" 208 indique "CBR2", le signal de détermination de branchement à deux bits 201 est émis en sortie en utilisant, en tant que son bit d'ordre supérieur, le bit de poids faible (onzième bit) de l'adresse stockée dans le registre d'adresse 102 et en tant que son bit d'ordre inférieur, un bit d'ordre inférieur du signal de test de branchement 200. Lorsque le signal de validité d'opération 203 est à unevaleur logique de "0" et que la zone "ISQ" 208 indique "CBR4", les deux bits du signal de test de branchement 200 sont émis en sortie en tant que signal de détermination de
condition de branchement 201.
Lorsque le signal de validité d'opération 203 est dans l'état "1" et que la zone "ISQ" 211 indique "BRS", les deux bits de poids faible (dixième et onzième bits) de l'adresse stockée dans le registre d'adresse 102 sont émis en sortie en tant que signal de détermination de condition de branchement 202. Lorsque le signal de validité d'opération 203 est dans l'état "1" et que la zone "ISQ" 211 indique "CBR2", le signal de détermination de branchement à deux bits 202 est émis en sortie en utilisant en tant que son bit d'ordre supérieur, le bit de poids faible (onzième bit) de l'adresse stockée dans le registre d'adresse 102 et en tant que son bit d'ordre inférieur, un bit d'ordre inférieur du signal de test de branchement 200. Lorsque le signal de validité d'opération 203 est à une valeur logique de "1" et que la zone "ISQ" 211 indique "CBR4", les deux bits du signal de test de branchement 200 sont émis en sortie en tant que signal de détermination de
condition de branchement 202.
Puis le sélecteur 104 de la mémoire de commande principale 103 est commandé par le signal de détermination de branchement 201 afin de sélectionner les mots d'instruction de microprogramme lus dans les quatre groupes constitués par la mémoire de commande principale 103. Le sélecteur 110 de la mémoire de commande externe 109 est commandé par le signal de détermination de branchement 202 pour sélectionner les mots d'instruction de microprogramme lus dans les quatre groupes constitués par la mémoire de commande
externe 109.
Le circuit de mise en route de mémoire de commande externe 113 est un circuit permettant de commander le démarrage de la lecture dans la mémoire de commande principale 103 et dans la mémoire de commande externe 109. Le circuit de mise en route demémoire de commande externe 113 reçoit une entrée de la commande "DEMARRAGE" indiquée dans la zone "FUT" 210 d'un mot d'instruction du registre de lecture 106 afin d'activer un signal de mise en route 204 et le signal de validité d'opération 203 (établi à la valeur logique de "1"). Le circuit 113 remet à l'état initial le signal de validité d'opération 203 (qui est établi à la valeur logique de "0") en recevant l'entrée de la zone "EOP" 209. Le circuit d'établissement de mémoire de commande externe 113 active le signal de mise en route 204 simultanément à l'entrée de la commande "DEMARRAGE" de la zone "FUT" 210 du registre de lecture 106 et active le signal de validité d'opération 203 après deux cycles
depuis un front montant du signal de mise en route 204.
Comme décrit ci-avant, le signal de validité d'opération 203 produit divers ordres tels que l'établissement des mots d'instruction de microprogramme dans le registre de lecture 106 et il commande la réalisation d'une détermination de branchement par le circuit de détermination de branchement 112. Le signal de mise en route 204 commande l'établissement de la zone "FUT" (1:12) dans les registres d'adresse 102 et 108. Plus spécifiquement, lorsque le signal de mise en route 204 est dans un état désactivé (moyennant une valeur logique de "0"), la zone "FUT" (1:12) est établie dans le registre d'adresse 102 et lorsque ce signal est dans un état activé (moyennant une valeur logique de "1"), la zone "FUT" (1:12) est établie dans le registre d'adresse 108. Le circuit de synchronisation de détermination de branchement 114 est destiné à commander une synchronisation entre les mémoires de commande ainsi que l'exécution d'instructions de branchement conditionnel lorsque les mots d'instruction de microprogramme lus dans la mémoire de commande externe 109 indiquent des instructions de branchement conditionnel (lorsque la zone "ISQ" indique la commande "CBR2" ou "CBR4") afin d'exécuter les instructions après le transfert des mots d'instruction du registre de lecture 111 au registre de lecture 106. En d'autres termes, pendant le traitement de détermination de branchement, le circuit de synchronisation de détermination de branchement 114 bloque la lecture de mots d'instruction de microprogramme dans la mémoire de commande principale 103 ou dans la mémoire de commande externe 109 afin d'empêcher une lecture des mots
d'instruction de microprogramme au cours du traitement.
Le circuit de synchronisation de détermination de branchement 114 reçoit l'entrée de la zone "ISQ" 211 provenant du registre de lecture 111 et il émet en sortie un signal de blocage 205 ou 206. Le signal de blocage 205 commande une opération de blocage de la mémoire de commande principale 103 tandis que le signal de blocage 206 commande une opération de blocage et des instructions de branchement conditionnel de la mémoire de commande externe 109. Le circuit de synchronisation de détermination de branchement 114 émet en sortie le signal de blocage 206 simultanément à l'entrée de la zone "ISQ" 211 provenant du registre de lecture 111 et il émet en sortie le signal de blocage 205 après un cycle à partir d'un front montant du signal de blocage 206.
Par report aux figures 2 et 3, une description du
fonctionnement du contrôleur de microprogramme
structuré comme décrit ci-avant est produite.
Comme représenté sur l'organigramme de la figure 2, des opérations de la commande de séquence de microprogramme d'instruction incluent deux étapes A0 et Ai qui doivent être exécutées par la mémoire de commande principale 103, quatre étapes B0 à B3 et un autre jeu de quatre étapes B4 à B7 destinées à être exécutées par la mémoire de commande externe 109, comme représenté au niveau de l'organigramme de codage de la
figure 3.
Sur la figure 2, des caractères alphanumériques écrits entre parenthèses dans les registres d'adresse 102 et 108 indiquent des adresses tandis que des caractères alphanumériques écrits dans les registres de lecture 106 et 111 indiquent des mots d'instruction lus au moyen des adresses présentant les caractères
alphanumériques correspondants.
A l'instant TO, l'adresse (A0) du mot d'instruction de microprogramme de l'étape A0, constituée par la commande "BRS", par la commande "DEMARRAGE" (B0) et par la zone NA (Al) est bloquée dans le registre d'adresse 102. Ici, "BO" de la commande "DEMARRAGE" (B0) indique la zone FUT (1:12) décrite ci-avant. A l'instant T1, le mot d'instruction de microprogramme A0 de l'étape A0 est lu dans la commande de mémoire principale 103 par l'adresse (A0) du registre d'adresse 102 et est établi dans le registre de lecture 106. Au même instant, l'adresse (A1) est établie dans le registre d'adresse 102 conformément à la valeur de la zone NA (Ai) de l'étape AO. La mémoire de commande principale 103 continue à dérouler la séquence en boucle de l'étape A1 jusqu'à ce
que la zone "EOP" soit délivrée.
A l'instant Tl, le signal demise en route204 est émis depuis le circuit d'établissement de mémoire de commande externe 113 en réponse à la commande "DEMARRAGE" (B0) émise en sortie depuis le registre de lecture 106. A l'instant T2, la zone "FUT" (1:12) est établie dans le registre d'adresse (étape B0) en tant qu'adresse (B0). Après deux cycles en partant de l'instant T1, à l'instant T3, le signal de validité d'opération 203 est émis en sortie depuis le circuit d'établissement de mémoire de commande externe 113. La sortie du signal 203 se poursuit jusqu'à ce que le traitement par la mémoire de commande externe 109 se termine (jusqu'à ce que la zone "EOP" soit émise en
sortie à l'instant T10).
A l'instant T3, le mot d'instruction de microprogramme B0 est établi dans le registre de lecture 111 et l'adresse (B1) est établie dans le registre d'adresse 108 conformément à la zone NA (B1)
de l'étape BO.
A l'instant T4, le mot d'instruction de microprogramme B1 est établi dans le registre de lecture 111, l'adresse (B2) est établie dans le registre d'adresse 108 conformément à la zone NA (B2) de l'étape B1 et le mot de microprogramme B0 est transféré du registre de lecture 111 au registre de lecture 106. Par ailleurs, au niveau de l'étape B1, moyennant la sortie de la commande "CBR2" de la zone ISQ hors du registre de lecture 111, le signal de blocage 206 est émis en sortie depuis le circuit de synchronisation de détermination de branchement 114 à10 l'instant T4-T5 et le signal de blocage 205 est émis en
sortie un cycle plus tard, à l'instant T5-T6.
A l'instant T5, le mot d'instruction de microprogramme B1 de l'étape B1 est transféré dans le registre de lecture 106 du fait qu'il n'y a aucune
sortie du signal de blocage 205 à l'instant T4.
A cet instant, le circuit de détermination de branchement 112 exécute une détermination de branchement sur la base de la commande "CBR2" de l'étape B1 qui est la sortie du registre de lecture 106, des deux bits d'ordre inférieur de l'adresse de l'étape B1 qui constitue la sortie du registre d'adresse 108, du signal de validité d'opération 203 et du signal de test de branchement 200. Il résulte de cela que le signal de détermination de branchement 202 est émis en sortie à l'instant T6 sur la base de la détermination de branchement conditionnel représentée
sur la figure 7.
Parmi les quatre mots d'instruction de microprogramme accédés par dix bits d'ordre supérieur de l'adresse (B2) du registre d'adresse 108 et lus dans les quatre groupes constitués par la mémoire de commande externe 109, l'un des quatre est choisi en commandant le sélecteur 110 en réponse au signal de détermination de branchement 202 et le mot d'instruction de microprogramme B4 de l'étape B4 est
établi dans le registre de lecture 111 à l'instant T7.
Puis l'adresse (B5) du mot d'instruction de l'étape B5 est établie dans le registre d'adresse 108 conformément
à la zone "NA" (B5) du mot d'instruction B4.
Puis à l'instant T7-T10, la commande de séquence des étapes B5 à B7 est exécutée dans la mémoire de commande externe 109. A l'instant T7-Tll, la lecture des mots de microprogramme des étapes B4 à B7 est
exécutée par le registre de lecture 106.
A l'instant T10, la zone "EOP" indicative de la fin des instructions est émise en sortie depuis le mot d'instruction de microprogramme B6 de l'étape B6 contenu dans le registre de lecture 106. A l'instant Tll, suite à l'entrée de la zone "EOP" sur le circuit d'établissement de mémoire de commande externe 113, le signal de validité d'opération 203 est remis à l'état initial afin de commander l'établissement de l'adresse Cl de la première étape des instructions C qui suivent dans le registre d'adresse 102. Par ailleurs, à l'instant Tll, l'exécution de l'étape B7 produite par le registre de lecture 106 termine la commande de microprogramme conformément aux instructions A. Lors de l'exécution décrite ci-avant du microprogramme contenu dans la mémoire de commande externe 109, lequel microprogramme présente une dimension trop importante pour être contenu dans la mémoire de commande principale 103, la mise en routede la mémoire de commande externe 109 à l'instant T1-T3 et le traitement d'instruction de branchement conditionnel à l'instant T5-T6 lui permettent de réaliser une commande de microprogramme moyennant un retard minimum par comparaison avec la commande du microprogramme lu
dans la mémoire de commande principale 103.
Comme décrit dans ce qui précède, le contrôleur de microprogramme selon la présente invention permet d'obtenir un traitement haute vitesse d'un programme de grande dimension qui ne peut pas être bloqué par une unique mémoire de commande en transférant une sortie d'un registre de lecture d'une mémoire de commande externe dans un registre de lecture d'une mémoire de commande principale et en prévoyant un circuit de détermination de branchement pour effectuer une détermination de branchement d'instructions de branchement conditionnel à partir de la mémoire de commande principale et de la mémoire de commande externe et un circuit de synchronisation de détermination de branchement pour exécuter des instructions de branchement conditionnel et pour commander une synchronisation entre la mémoire de commande principale et la mémoire de commande externe lorsque les instructions de branchement conditionnel
proviennent de la mémoire de commande externe.
Bien que l'invention ait été illustrée et décrite en relation avec son mode de réalisation typique, il est bien entendu par l'homme de l'art que les variantes, omissions et ajouts mentionnés ci-avant ainsi que d'autres peuvent être envisagés sans que l'on s'écarte ni de l'esprit ni du cadre de la présente invention. Par conséquent, la présente invention ne doit pas être comprise comme étant limitée au mode de réalisation spécifique mis en exergue ci-avant mais comme incluant tous les modes de réalisation possibles qui peuvent être mis en oeuvre dans un cadre englobé
par la présente invention et selon ses équivalents.
Claims (19)
1. Contrôleur de microprogramme caractérisé en ce qu'il comprend: un premier moyen de stockage (103) pour stocker un microprogramme; un second moyen de stockage (109) pour stocker ledit microprogramme; un premier moyen de blocage d'adresse (102) pour bloquer une adresse permettant de lire ledit mot de microprogramme dans ledit premier moyen de stockage;10 un second moyen de blocage d'adresse (108) pour bloquer une adresse permettant de lire ledit mot de microprogramme dans ledit second moyen de stockage; un premier moyen de blocage de mot de microprogramme (106, 111) pour bloquer un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit premier moyen de stockage (103) ou un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit second moyen de stockage (109); et un moyen de commande (113) pour établir sélectivement le mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage dans ledit premier moyen de blocage de mot de microprogramme.
2. Contrôleur de microprogramme selon la revendication 1, caractérisé en ce que ledit moyen de commande (112) sélectionne un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage en tant que mot de microprogramme suivant qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme (106, 111), sur la base d'une commande incluse dans ledit mot de microprogramme établi dans ledit premier moyen de
blocage de mot de microprogramme.
3. Contrôleur de microprogramme selon la revendication 2, caractérisé en ce qu'il comprend en outre un moyen de sélection (101, 107) pour sélectionner un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage et pour entrer ce même mot dans ledit premier moyen de blocage de mot de microprogramme, et en ce que: ledit moyen de commande (113) sélectionne ledit mot de microprogramme qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme en commutant ledit moyen de sélection (101, 107) sur la base d'une commande incluse dans ledit mot de microprogramme établi dans ledit premier moyen de
blocage de mot de microprogramme.
4. Contrôleur de microprogramme selon la revendication 1, caractérisé en ce qu'il comprend en outre un second moyen de blocage de mot de microprogramme (111) pour stocker temporairement ledit mot de microprogramme lu dans ledit second moyen de stockage, ledit second moyen de blocage de mot de microprogramme étant connecté audit premier moyen de
blocage de mot de microprogramme.
5. Contrôleur de microprogramme caractérisé en ce qu'il comprend: un premier moyen de stockage (103) pour stocker un microprogramme; un second moyen de stockage (109) pour stocker ledit microprogramme; un premier moyen de blocage d'adresse (102) pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit premier moyen de stockage; un second moyen de blocage d'adresse (108) pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit second moyen de stockage; un premier moyen de blocage de mot de microprogramme (106) pour bloquer un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit premier moyen de stockage ou un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit second moyen de stockage;5 un moyen de commande (113) pour établir sélectivement les mots de microprogramme lus dans ledit premier moyen de stockage ou dans ledit second moyen de stockage dans ledit premier moyen de blocage de mot de microprogramme; et un moyen de détermination de branchement (112) pour, lorsque ledit mot de microprogramme contenu dans ledit premier moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, exécuter un traitement de détermination de branchement
de ladite instruction de branchement conditionnel.
6. Contrôleur de microprogramme selon la revendication 5, caractérisé en ce que ledit moyen de commande (113) sélectionne un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage en tant que mot de microprogramme suivant qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme, sur la base d'une commande incluse dans ledit mot de microprogramme établi dans ledit premier moyen de
blocage de mot de microprogramme.
7. Contrôleur de microprogramme selon la revendication 5, caractérisé en ce qu'il comprend en outre un moyen de sélection (104, 110) pour sélectionner un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage et pour entrer ce même mot dans ledit premier moyen de blocage de mot de microprogramme, et en ce que: ledit moyen de commande (113) sélectionne ledit mot de microprogramme qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme en commutant ledit moyen de sélection sur la base d'une commande incluse dans ledit mot de microprogramme établi dans ledit premier moyen de blocage de mot de microprogramme.
8. Contrôleur de microprogramme selon la revendication 5, caractérisé en ce qu'il comprend en outre un second moyen de blocage de mot de microprogramme (111) pour stocker temporairement ledit mot de microprogramme lu dans ledit second moyen de stockage, ledit second moyen de blocage de mot de microprogramme étant connecté audit premier moyen de
blocage de mot de microprogramme.
9. Contrôleur de microprogramme selon la revendication 5, caractérisé en outre en ce qu'il comprend un moyen de synchronisation de détermination de branchement (114) pour, lorsque ladite instruction de branchement conditionnel est lue dans ledit second moyen de stockage, bloquer la lecture dudit mot de microprogramme dans ledit premier moyen de stockage et dans ledit second moyen de stockage en synchronisation avec le traitement de branchement conditionnel réalisé par ledit moyen de détermination de branchement conformément à ladite instruction de branchement conditionnel.
10. Contrôleur de microprogramme selon la revendication 5, caractérisé en ce qu'il comprend en outre: un second moyen de blocage de mot de microprogramme (111) connecté audit premier moyen de blocage de mot de microprogramme (106) pour stocker30 temporairement ledit mot de microprogramme lu dans ledit moyen de stockage; et un moyen de synchronisation de détermination de branchement (114) pour, lorsqu'un mot de microprogramme bloqué dans ledit second moyen de blocage de mot de35 microprogramme est une instruction de branchement conditionnel, bloquer la lecture dudit mot de microprogramme dans ledit premier moyen de stockage et dans ledit second moyen de stockage en synchronisation avec le traitement de branchement conditionnel réalisé par ledit moyen de détermination de branchement conformément à ladite instruction de branchement conditionnel.
11. Contrôleur de microprogramme selon la revendication 5, caractérisé en ce que: ledit premier moyen de stockage (103) et ledit second moyen de stockage (109) incluent chacun une pluralité de groupes; et lesdites adresses stockées dans lesdits premier et second moyens de blocage d'adresse incluent chacune une adresse de groupe pour accéder simultanément à tous les groupes dudit premier moyen de stockage et dudit second moyen de stockage et une adresse de sélection pour
sélectionner l'un desdits groupes accédés.
12. Contrôleur de microprogramme selon la revendication 5, caractérisé en ce que: ledit premier moyen de stockage (103) et ledit second moyen de stockage (109) incluent chacun une pluralité de groupes; lesdites adresses stockées dans lesdits premier et second moyens de blocage d'adresse incluent chacune une adresse de groupe pour accéder simultanément à tous les groupes dudit premier moyen de stockage et dudit second moyen de stockage et une adresse de sélection pour sélectionner l'un desdits groupes accédés; et ledit moyen de détermination de branchement (112), lorsque ledit mot de microprogramme contenu dans ledit premier moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, émet en sortie un signal de détermination de branchement pour sélectionner un mot de microprogramme suivant qui doit être lu dans ledit premier moyen de stockage et dans ledit second moyen de stockage dans l'un desdits groupes accédés, conformément à ladite instruction de
branchement conditionnel.
13. Contrôleur de microprogramme caractérise en ce qu'il comprend: un premier moyen de stockage (103) pour stocker un microprogramme; un second moyen de stockage (109) pour stocker ledit microprogramme; un premier moyen de blocage d'adresse (102) pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit premier moyen de stockage; un second moyen de blocage d'adresse (108) pour bloquer une adresse pour lire ledit mot de microprogramme dans ledit moyen de stockage; un premier moyen de blocage de mot de microprogramme (106) pour bloquer un mot de microprogramme qui doit être lu en vue d'une exécution dans ledit premier moyen de stockage ou un mot de microprogramme qui doit lu en vue d'une exécution dans ledit second moyen de stockage; un moyen de commande (113) pour établir sélectivement le mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage dans ledit premier moyen de blocage de mot de microprogramme; et un moyen de détermination de branchement (112) pour, lorsque ledit mot de microprogramme bloqué dans ledit premier moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, exécuter un traitement de détermination de branchement de ladite instruction de branchement conditionnel; ledit premier moyen de stockage et ledit second moyen de stockage incluant chacun une pluralité de groupes; lesdites adresses stockées dans lesdits premier et second moyens de blocage d'adresse incluant chacune une adresse de groupe pour accéder simultanément à tous les groupes dudit premier moyen de stockage et dudit second moyen de stockage et une adresse de sélection pour sélectionner l'un desdits groupes accédés; et ledit moyen de détermination de branchement (112), lorsque ledit mot de microprogramme bloqué dans ledit premier moyen de blocage de microprogramme est une instruction de branchement conditionnel, émettant en sortie un signal de détermination de branchement pour sélectionner un mot de microprogramme suivant qui doit être lu dans ledit premier moyen de stockage et dans ledit second moyen de stockage dans l'un desdits
groupes accédés.
14. Contrôleur de microprogramme selon la revendication 13, caractérisé en ce qu'il comprend en outre: un premier moyen de sélection (104) pour bloquer sélectivement lesdits mots de microprogramme lus dans tous les groupes dudit premier moyen de stockage, sur une base groupe par groupe; et un second moyen de sélection (110) pour bloquer sélectivement lesdits mots de microprogramme lus dans tous les groupes dudit second moyen de stockage, sur une base groupe par groupe; et en ce que ledit moyen de détermination de branchement (112) sélectionne un mot de microprogramme suivant dans l'un desdits groupes accédés en émettant en sortie ledit signal de détermination de branchement pour ledit premier moyen de sélection ou pour ledit second moyen
de sélection.
15. Contrôleur de microprogramme selon la revendication 13, caractérisé en ce que ledit moyen de commande (113) sélectionne un mot de microprogramme lu dans ledit premier moyen de stockage ou dans ledit second moyen de stockage en tant que dit mot de microprogramme qui doit être établi dans ledit premier moyen de blocage de mot de microprogramme, sur la base d'une commande incluse dans ledit mot de microprogramme
établi dans ledit premier moyen de blocage de mot de microprogramme.
16. Contrôleur de microprogramme selon la revendication 15, caractérisé en ce qu'il comprend en outre un troisième moyen de sélection pour sélectionner un mot de microprogramme lu dans ledit premier moyen de stockage (103) ou dans ledit second moyen de stockage (109) et pour entrer ce même mot sur ledit premier moyen de blocage de microprogramme et en ce que, ledit moyen de commande (113) sélectionne ledit mot de microprogramme qui doit être établi dans ledit
premier moyen de blocage de mot de microprogramme en commutant ledit moyen de sélection conformément à une commande incluse dans ledit mot de microprogramme15 établi dans ledit premier moyen de blocage de mot de microprogramme.
17. Contrôleur de microprogramme selon la revendication 13, caractérisé en ce qu'il comprend en outre un second moyen de blocage de mot de microprogramme (111) pour stocker temporairement ledit mot de microprogramme lu dans ledit second moyen de stockage, ledit second moyen de blocage de mot de microprogramme étant connecté audit premier moyen de
blocage de mot de microprogramme.
18. Contrôleur de microprogramme selon la revendication 13, caractérisé en ce qu'il comprend en outre un moyen de synchronisation de détermination de branchement (114) pour, lorsque ladite instruction de branchement conditionnel est lue dans ledit second moyen de stockage, bloquer la lecture dudit mot de microprogramme dans ledit premier moyen de stockage et dans ledit second moyen de stockage en synchronisation avec le traitement de branchement conditionnel réalisé par ledit moyen de détermination de branchement conformément à ladite instruction de branchement conditionnel.
19. Contrôleur de microprogramme selon la revendication 13, caractérisé en ce qu'il comprend en outre: un second moyen de blocage de mot de microprogramme (111) connecté audit premier moyen de blocage de mot de microprogramme pour stocker temporairement ledit mot de microprogramme lu dans ledit second moyen de stockage; et un moyen de synchronisation de détermination de branchement (114) pour, lorsqu'un mot de microprogramme bloqué dans ledit second moyen de blocage de mot de microprogramme est une instruction de branchement conditionnel, bloquer la lecture dudit mot de microprogramme dans ledit premier moyen de stockage et15 dans ledit second moyen de stockage en synchronisation avec le traitement de branchement conditionnel réalisé par ledit moyen de détermination de branchement conformément à ladite instruction de branchement conditionnel.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5248934A JPH07104996A (ja) | 1993-10-05 | 1993-10-05 | マイクロプログラム制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2710992A1 true FR2710992A1 (fr) | 1995-04-14 |
FR2710992B1 FR2710992B1 (fr) | 1998-09-04 |
Family
ID=17185593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9411850A Expired - Fee Related FR2710992B1 (fr) | 1993-10-05 | 1994-10-04 | Contrôleur de microprogramme. |
Country Status (3)
Country | Link |
---|---|
US (1) | US5600842A (fr) |
JP (1) | JPH07104996A (fr) |
FR (1) | FR2710992B1 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076154A (en) * | 1998-01-16 | 2000-06-13 | U.S. Philips Corporation | VLIW processor has different functional units operating on commands of different widths |
JP5863855B2 (ja) * | 2014-02-26 | 2016-02-17 | ファナック株式会社 | 分岐命令を高速に処理するためのインストラクションキャッシュを有するプログラマブルコントローラ |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4008462A (en) * | 1973-12-07 | 1977-02-15 | Fujitsu Ltd. | Plural control memory system with multiple micro instruction readout |
EP0080737A1 (fr) * | 1981-12-02 | 1983-06-08 | Hitachi, Ltd. | Processeur de données commandé par des micro-instructions |
JPS58186846A (ja) * | 1982-04-27 | 1983-10-31 | Nec Corp | マイクロプログラム制御装置 |
JPS61134839A (ja) * | 1984-12-04 | 1986-06-21 | Nec Corp | 可変語長のマイクロプログラム制御方式 |
FR2675920A1 (fr) * | 1991-04-26 | 1992-10-30 | Nec Corp | Dispositif commande par microprogramme comprenant un dispositif de memoire de commande de taille reduite. |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3839705A (en) * | 1972-12-14 | 1974-10-01 | Gen Electric | Data processor including microprogram control means |
US4270184A (en) * | 1978-03-16 | 1981-05-26 | Tokyo Shibaura Denki Kabushiki Kaisha | Microprocessor-based programmable logic controller |
JPS5557951A (en) * | 1978-10-24 | 1980-04-30 | Toshiba Corp | Read control system of control memory unit |
US4438492A (en) * | 1980-08-01 | 1984-03-20 | Advanced Micro Devices, Inc. | Interruptable microprogram controller for microcomputer systems |
JPS58225422A (ja) * | 1982-06-25 | 1983-12-27 | Toshiba Corp | デ−タ制御装置 |
JPS61269734A (ja) * | 1985-05-23 | 1986-11-29 | Hitachi Ltd | マイクロプログラム制御方式 |
JPH06103460B2 (ja) * | 1985-11-19 | 1994-12-14 | ソニー株式会社 | プログラム転送方式 |
US5144628A (en) * | 1988-10-05 | 1992-09-01 | Nec Corporation | Microprogram controller in data processing apparatus |
EP0388735A3 (fr) * | 1989-03-10 | 1993-01-13 | Nec Corporation | Dispositif de commande de microprogramme à générateur d'instructions fixes et mémoire de microprogramme |
EP0522513A2 (fr) * | 1991-07-09 | 1993-01-13 | Hughes Aircraft Company | Unité de commande à grande vitesse pour programme à microcode parallèle |
-
1993
- 1993-10-05 JP JP5248934A patent/JPH07104996A/ja active Pending
-
1994
- 1994-10-04 FR FR9411850A patent/FR2710992B1/fr not_active Expired - Fee Related
- 1994-10-04 US US08/317,536 patent/US5600842A/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4008462A (en) * | 1973-12-07 | 1977-02-15 | Fujitsu Ltd. | Plural control memory system with multiple micro instruction readout |
EP0080737A1 (fr) * | 1981-12-02 | 1983-06-08 | Hitachi, Ltd. | Processeur de données commandé par des micro-instructions |
JPS58186846A (ja) * | 1982-04-27 | 1983-10-31 | Nec Corp | マイクロプログラム制御装置 |
JPS61134839A (ja) * | 1984-12-04 | 1986-06-21 | Nec Corp | 可変語長のマイクロプログラム制御方式 |
FR2675920A1 (fr) * | 1991-04-26 | 1992-10-30 | Nec Corp | Dispositif commande par microprogramme comprenant un dispositif de memoire de commande de taille reduite. |
Non-Patent Citations (3)
Title |
---|
"Parallel Microcode Access for Performance", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 29, no. 2, July 1986 (1986-07-01), NEW YORK US, pages 727 - 728, XP002034531 * |
PATENT ABSTRACTS OF JAPAN vol. 008, no. 033 (P - 254) 14 February 1984 (1984-02-14) * |
PATENT ABSTRACTS OF JAPAN vol. 010, no. 330 (P - 514) 11 November 1986 (1986-11-11) * |
Also Published As
Publication number | Publication date |
---|---|
US5600842A (en) | 1997-02-04 |
JPH07104996A (ja) | 1995-04-21 |
FR2710992B1 (fr) | 1998-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2667706A1 (fr) | Antememoire hierarchique a circuits integres. | |
EP0558125B1 (fr) | Processeur neuronal à cellules synaptiques reparties | |
FR2489555A1 (fr) | Systeme de traitement de donnees a commande par pipeline | |
FR2718262A1 (fr) | Mémoire tampon à adressage modulo. | |
FR2472784A1 (fr) | Matrice de traitement de donnees en parallele, notamment pour l'analyse d'images prises par un satellite | |
EP0006478B1 (fr) | Dispositif programmable de verrouillage de signaux de commande dans un système de traitement de données | |
FR2655169A1 (fr) | Processeur a plusieurs unites de traitement microprogrammees. | |
WO2010037570A1 (fr) | Dispositif de traitement en parallele d'un flux de donnees | |
FR2491654A1 (fr) | Appareil de commande par microprogramme | |
FR2480459A1 (fr) | Systeme de traitement de donnees a un dispositif d'appariement d'adresses de memoire de controle | |
FR2710992A1 (fr) | Contrôleur de microprogramme. | |
FR2733065A1 (fr) | Procede et circuit de lecture anticipee d'instrutions/ donnees utilisant un cache de lecture anticipee non consulte | |
FR2687004A1 (fr) | Architecture de memoire associative. | |
FR2595474A1 (fr) | Dispositif de controle et de verification du fonctionnement de blocs internes a un circuit integre | |
WO2009071791A2 (fr) | Verification de donnees lues en memoire | |
JPS61221948A (ja) | デジタルコンピユ−タ用記憶システム | |
FR2596890A1 (fr) | Systeme de traitement de l'information avec comparaison anticipee de la programmation | |
EP3215933B1 (fr) | Procede et dispositif d'architecture configurable a gros grains pour executer en integralite un code applicatif | |
EP0006485B1 (fr) | Dispositif d'adressage de pages dans un système de traitement de données | |
EP0112427B1 (fr) | Dispositif de commande logique programmable | |
EP3792771B1 (fr) | Test de programme | |
FR3084179A1 (fr) | Acces direct en memoire | |
FR3100907A1 (fr) | Test de programme | |
EP0355917B1 (fr) | Unité de mémoire adressable à circuit de sélection d'unité amélioré | |
EP1436694B1 (fr) | Microprocesseur disposant d'un espace adressable etendu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |