Brevet FR2301871A1 — publié le 19760917

L'invention concerne un microprocesseur simple et de faible coût pouvant être utilisé notamment dans différentes applications de contrôle de processus, en optimisant le repport coût-efficacité. our qu'un tel organe de traitement soit rentable, on doit pouvoir adapter non seulement sa capacité de traitement, mais aussi ses caractéristiques fonctionnelles. La commande de processus a Tout d'abord été réalisée à l'aide de circuits logiques câbles qui présentent l1inconvé- nient majeur d'être figés pour chaque application. Joute évolution de l'application, que ce soit du point de vue des fonctions ou de la capacité, exige une refonte complète au système cabale. Il en résulte donc un coût de réalisation supplémentaire. Pour remédier à ces inconvénients on a ensuite utilisé des circuits logiques microprogrammés, utilisation rendue possible par 11 apparition sur le marché de mémoires mortes à temp d' accès rapide, pouvant être programmées et même re-programmées électriquement, dites du type PROM et REPROM. Dans e cas, il suffit de changer le microprogramme pour chaque application nouvelle ou chaque variante envisagee. L' appareil de commande de processus ainsi obtenu, comportant r.otam- ment, outre une mémoire morte contenant le microprogramme relatif à l'application envisagée, un bloc arithmétique et logique, des registres eneraux et des décodeurs, est désigné sous le nom de microprocesseur. Oependant les microprocesseurs actuellement connus présentent plusieurs limitations imposées par leur structure, et leur utilisation tour des applications différentes, bien que tecr niquement possible, n'est souvent pas avantageuse du point de vue de l'économie. n effet, dans ces microprocesseurs connus, d'une part les micro-instructions constituant le micro-programme ont une longueur fixe, et d'autre tam la séquence des commandes élementaires résultant du décodage des micro-instructions est,ele aussi, immu & le. ar conséquent, les microprocesseurs doivent quand même être plus ou moins optimisés pour les types d'attlicatlons auxquels ils sont destinés, et de ce fait ne sont plus universels. En effet un microprocesseur optimisé pour le calcul numérique zos- séchera par exemple des micro-instructions de 24 ou 32 bits, et es registres genéraux e 16 bits, et sera surdimensionné pour une gestion de lignes te transmission, par exemple, pour laquelle des mots de 12 bits et des registres généraux de o bits suffi- raient. La présente invention se propose de remédier å ces inconvénients en fournissant un procède de commande et un microprocesseur perfectionné dont la capacité et les fonctions sont réellement adaptables å chaque application. Dans un microprocesseur ou les opérations relatives a une asplication particuliers sont explicitées sous forme de mi cro-instructions, comportant plusieurs champs et notaient un champ particulier définissant le type de la micro-instruction, lesdites micro-instructions étant mémorisées séquentiellement dans une mémoire morte pour i-orme un microprogramme, le procédé de commande suivant l'invention consiste à microprogrammer la base de temps utilisée tour l'exécution dudit microprogramme, c'est à dire a utiliser ledit champ particulier de chaque micro-instruction pour adresser une parmi m listes, figurant dans une seconde mémoire morte et correspondant respectivement à un type de micro-instruction, chacue liste comprenant n mots adressés séquentiellement qui sont lus au rythme d'une horloge et qui définissent la séquence des pas élémentaires permettant d'exécuter la micro-instruction correspondante. Suivant une autre caractéristique de l'Invention, on utilise en outre ces micro-instructions de longueur variable pour le microprogramme, la longueur desdites micro-instructions pouvant varier par groupes de 4 bits. Le procédé suivant l'invention est mis en oeuvre dans un micro- processeur du type décrit ci-dessus comportant au moins une mémoire morte électriquement programmable dite mémoire ce microprogramme, contenant le micro-programme relatif à l'application nue l'on désire traiter, et associée à un compteur ordinal, ainsi que notamment un bloc arithmétique et logique, des registres généraux et des décodeurs, le micro-processeur suivant l'invention étant caractérisé par le fait qu'il comporte en outre une seconde mémoire morte dite mémoire d'exécution, dans laquelle sont mémori sées E listes adressées séquentillement qui correspondent à m types ce micro-instructions et qui contiennent respectivement n mots définissant la seauence de pas élémentaires pour chaoue type de micro-instruction, cette mémoire d'exécution étant adressée par un premier registre recevant ledit champ particulier ce la micro- instruction en cours, extraite de la lere re moire dite meroire de microprogramme et ournissant l'adresse de la liste correspondant au type de ladite micro-instruction, et un second registre recevant des impulsions en provenance d'une horloge et servant a l'adressage séquentiel des n mots de la liste adressée par le premier registre, ladite mémoire d'exécution délivrant directement des commandes d' aiguillage et, par l'intermédiaire d'un décodeur unique, des com mandes d'échantillonnage qui mi-roprogramment la base de temps, c' est à dire définissent Les pas éléentaires correspondant au type e micro-instruction concerné. Suivant l'invention, la seconde mémoire morte dite memoire d'exécution est constituée par une mémoire électriquement programmable. Suivant une autre caractéristique e l'invention, le microprocesseur suivant l'invention comporte en outre un circuit de modification des champs des micro-instructions, permettant, par adaptation dynamique de ces micro-instructions, d'effectuer des boucles de microprogrammes, afin de permettre une réduction supplementaire du volume de ces microprogrammes. La présente invention sera mieux comprise à l'aide de la description suivante d'un mode de réalisation particulier donné à titre d'exemple et représenté au dessin annexé dans lequel la figure unique est un schéma de blocs d'un microprocesseur suivant l'invention. Dans la forme de réalisation représentée, le microprocesseur peut traiter jusqu'à 10 types différents de micro-instructions. La taille de ces micro-instructions est variable et peut augmenter par groupe de quatre bits et ces micro-instructions peu- vent comporter jusqu'à 16 champs 4 bits. lie premier champ appelé champ F, indique le type de la micro-instruction et détermine donc le nombre et la signification des champs suivants. belon leur type, ccs micro-instructions peuvent comporter de u a 3 chamts d' adresse (corresponoant generalement à des adresses de registres 'cé- néraux). les micro-instructions, constituant le microprogram- me correspondant a l'application envisagée, sont mémorisées séquen- tellement dans ne première mémoire morte dite mémoire de microprogramme 2. Cette mémoire de microprogramme est constituée par ses boîtiers de mémoire électriquement programmables connus sous le nom de boîtiers PROM la capacité individuelle de ces boîtiers est de 1u24 bits. Dans l'exemple représenté on a choisi comme capacité maxiamle 4096 mots de 4 bits, soit 15 boitiers. La capacité minimale, correspondant à 1 boîtier, est naturellement de 256 mots cie 4 bits. Cette mémoire se microprogramme est adressée par un registre de 12 bits qui constitue le compteur ordinal 1 du microprocesseur. les champs relatifs à une eême micro-instruction sont mémorisés séouentielle-'---'ent dans la memoire 2 dans des mots d'adresses consécutives et croissantes, le champ j? définissant le type de la micro-instruction étant mémorisé dans le mot de plus faible adresse. Comme on l'a indioué ci-dessus, une même micro-instruction peut occuper jusqu'à 16 mots consécutifs de 4 bits, et les microinstructions consécutives elles-mêmes sont mémorisées séquentiellement dans la mémoire 2. Lorsqu'une micro-instruction est extraite de la mémoire 2, le champ r se cette micro-instruction est chargé dans un registre 4, par l'intermédiaire de la ligne 30 et sert à l'adressage d'une seconde mémoire morte électriquement programmable ou reprogrammable dite mémoire d'exécution 6. Cette seconde mémoire morte comporte L'adressage de cette mémoire d'exécution û se fait à l'aide de deux registres 4,5. le registre 4, dont le contenu correspond au champ à de la micro-instruction en cours, fournit les bits de tords fort de l'adresse &alpha; ou qui servent à rointer une de m listes de la mémoire d'exécution . Jans l'exemple représenté le registre 4 comporte 4 bits, en correspondance avec le nombre de its du champ F de claque micro-instruction, et le nombre de listes adressées est donc e 24 = 1 . Les bits de poids faible de l'adres- se &alpha; sont fournis par le second registre 5 commandé par une horloge 8.En désignant par F le contenu du registre 4 et par w le contenu du registre 5, l'adresse d'un mot de le mémoire 6 est donnée par = 16+w. Le registre s est remis a zero lors du chargemant du registre 4 et avance d'une unité a chaque impulsion d'horloge de façon à ire séquentiellement les mots constituant la liste adressée qui définissent la séquence des pas élémentaires permettant d' exécuter la micro-instruction en cours. Dans l'exemple représenté, chaque liste peut comporter jusqu'à n = 16 mots et le registre 5 doit comporter 4 bits. Chaque pas élémentaire correspondant à use microinstruction donnée provoque la délivrance d'un signal de commande d'échantillonnage et/ou de remise à zéro, qui est code dans les 4 bits de poids fort du mot de 8 bits correspondant au pas élémentaire en cours, ces bits étant transmis au décodeur 7 qui délivre alors un signal sur une de ses 16 bornes de sortie désignées dans leur ensemble par la référence Ech. A chaque pas élémentaire peut aussi correspondre un parmi quatre signaux de commande d'aiguillage, désignés par les références SO à 53, qui sont mémorisés sous Torme décodée dans les 4 bits de poids faible du mot de 8 bits correspondant au pas élémentaire en cours. On voit donc que le micro-processeur suivant l'invention peut comporterÎjusqu'à 16 types différents de micro-instructions, et que l'exécution de chaque micro-instruction peut se décomposer en un maximum de 16 pas élémentaires dont la durée est d' une période d'horloge. On remarquera que les signaux délivrés au cours des différents pas élémentaires ne dépendent que du contenu de la mémoire d'éxécution 6. Par conséquent, pour chaque application, il est très simple de choisir les types de micro-instructlons les mieux adaptés au problème à traiter, de définir pour chague type la séquence des pas d'exécution, et d'enregistrer la description des pas dans la mémoire d'exécution 6 lie dernier pas élémentaire de chaque séance consiste en une remise a zéro de la base de temps, ce qui provoque l'appel de la micro-instruction suivante. lar conséquent, cela permet de n'extraire de la mémoire d'exécution 6 que le nombre de mots né evessaires à l'exécution de la uicro-instruction concernée, et non pas systématiquement les 16 mots e la liste correspondante, d'où un gain de temps. la remise à zéro de la base de temps se ait par 1' intermédiaire du décodeur 7. Le signal ftAZ.B de remise a zéro de la base de temps est appliqué directement au registre 4 et à la bascule 13 décrite ci-après, et au registre 5, par l'intermédiaire d'une morte OU 24 recevant d'autre part un signal mw de remise å zéro générale, appliqué aussi au compteur ordinal 1, servant e la remise à zéro lors de la mise en marche lorsque le dispositif a été arrêté intentionnellement ou non. On va maintenant décrire brièvement les différents circuits de traitement au microprocesseur suivant l'invention. Dans l'exemple considéré, le microprocesseur suivant l'invention comporte 16 registres généraux de 8 bits, désignés dans leur ensemble par la référence Is, qui sont respectivement adres- sés par le registre d'adressage 19. Le registre général adressé est chargé à l'apparition d'un signal d'échantillonnage Ech. RG délivré par le décodeur 7. De même le chargement du registre d' adressage 19 est commandé par un signal d'échantillonnage Ech.Ad. délivré par le décodeur 7. e registre d'adressage 19 est char gé par les champs a'adresse successifs de la micro-instruction en cours, tels qu'ils sont extraits de la memoire -de microprogramme 2, et qu'ils apparaissent sur la ligne 31 å la sortie du circuit d'aiguillage 3. Ce registre 19 peut être remis à zéro par un signal RAZ délivré par le décodeur 7. le micro-processeur comporte un bus d'entrée BE à huit bits pouvant adresser 16 périphériques émetteurs de données, et un bus de sortie BS a huit bits pouvant adresser 16 peripheriques recepteurs de données. Une mémoire vive, structurée en mots de huit bits peut être connectée en tant que péripnérique entre les bus d' entrée et de sortie. L'adressage des périphériques se fait par l'interme- diaire du registre tampon 11. Ce registre tampon 11 est relié à la sortie de la mémoire de microprorramme 2, par l'intermédiaire ducircuit d'aiguillage 3 et de la ligne )1, et est commandé ar une impulsion d'échantillonnage Ech. TP2 en provence du décodeur 7, de façon à être chargé par le champ APE d'adresse de périphérique émetteur ou le champ Ai?R d'adresse de périphérique récepteur extrait ses micro-instructions d'entrée/sortie provenant de la mémoire de microprogramme 2. belon le cas, la sortie de ce registre, con sortant 4 bits, est transmise soit au décodeur 21 qui comporte 16 sorties correspondant respectivement à 16 adresses de périphériques émetteurs, désignées dans leur ensemble par la référence AIE, soit au décodeur 20 oui com--orte également 16 sorties correspondant à 16 adresses de périphériques récepteurs designées dans leur ensemble par APR, soit aux 4 bits de poids inférieur du compteur ordinal 1, -ar l'intermédiaire te la ligne 41. mes données d'entrée sont aiguillées par l'intermédiaire du Sélecteur 15 et du bloc arithmétique et logique 16, vers un registre tampon 17. les données de sortie correspondant au résultat délivré ar le bloc arithmétique et logique 16, sont transférées dans le registre tampon 17 et sont envoyées au périphérique récepteur qui est adressé par le décodeur 20, sous la commande d'une impulsion d'échantillonnage de données Ech.D délivrée par le décodeur 7. lie bloc arithmétique et ogique 16 à 8 bits est comman- dé par un registre de code d'opération 14, lui-même chargé par le champ correspondant des micro-instructions qui proviennent de la mémoire de microprogramme 2, par l'intermédiaire du circuit d'aiguillage 3 et des lignes 31 et 32, le chargement se faisant so s la commande d'un signal d'échantillonage Ech. OIE en provenance du dé- odeur 7. Ce registre de code d'opération 14 peut être remis à zéro par un signal de remise à zéro RAZ.OPE délivré ar le décodeur 7. lie bloc arithmétique et logique 16 vermet d'effectuer 16 opérations entre les données apparaissant sur la voie EM1 et provenant, par 1' intermédiaire du sélecteur 15, soit d'un des registres généraux 18 par l'intermédiaire de la ligne 33 aboutissant à l'entrée a de ce sélecteur, soit d'un des registres tampons 1O,11, par l'intermédiai- re des lianes 34 et 35 aboutissant à l'entrée c du sélecteur, soit du bus d'entrée Bm, aboutissant à l'entrée b du sélecteur, et les données apparaissant sur la voie EM2 toujours charée tar le remis tre 17.On remarquera que l'entrée ci du sélecteur 15 n'est -.as branchée et reste disponible. Le registre 17 est un registre ct décalage à 8 bits dont le chargement est commandé par un signal d' échantillonnage Ech.RR en provenance de la mémoire d'exécution 6, par l'intermédiaire du décodeur 7 et dont le contenu peut être décalé soit vers la gauche, soit vers la droite lors de l'application des signaux d'aiguillage respectifs 52 et 5), en provenance directe de la mémoire d-'ez-ci:tioe o. Comme on l'a vu ci-dessus la sortie du registre 17 est envoyée en permanence l'entrée EM2 du bloc arithmétique et logique 10, par la ligne 36 et, le cas echéart, par l'intermédiaire du bus de sortie ES, vers un périphérique récepteur arressé par le décodeur EC. Elle est en outre envoyée, par la ligne 37, a un multiplexeur 12 servant a effectuer des tests.Ce multiplexeur 12 re çoit aussi un signal If = O en provenance du bloc arithmétique et logique 16, indiquant que la sortie de celui-ci est nulle, ainsi que 7 signaux d'entrée, désignés dans leur ensemble par la reiérence Ext., correspondant à 7 conditions extérieures. les tests, au nombre de r, sont effectués par l'ensemble des circuits 12, 13 et 1 désignant respectivement le multiplexeur, une bascule et le registre de code d'opération. ses tests consistent à détecter la présence des 7 conditions externes (Ext.), a déterminer si la sortie du bloc arithmétique et logique 16 est nulle (T# = L), et à analyser individuellement les 8 bits du registre 17. Le circuit ce test fonctionne en plusieurs temps. les champs de test des micro-instructions extraites de la mémoire de microprogramme 2 et apparaissant sur la ligne 31 a la sortie du circuit d'aiguillage 3 sont chargés dans le registre de code d'o- purgation 1+, par l'intermédiaire de la ligne 32, et sous la commanse ou signal d'échantillonnage Ech. OPE provenant de la mémoire d'exécution 6, par l'intermédiaire du décodeur 7. le reistre de code d'opération 1+ commande alors le multiplexeur 12 -par l'intermédiaire de la ligne jb, de façon que ce multiplexeur sélectionne, parmi les 16 signaux d'entrée qu'il reçoit la voie indiquée dans le registre 14, et qutil délivre un signal correspondant sur sa sortie 39.Le signal de sortie de ce multiplexeur 12 est échantil- lonné dans une bascule 13, à la réception d'un signale RAZ.SI de remise à zéro ce la base de temps fourni par le décodeur 7. me signal de sortie de cette bascule 13, a paraissant sur la ligne 40, est applique à une entrée d'une porte ET 22 dont l'autre entrée reçoit un signal d'état !, indiquant par exemple une rupture de séquence figurant dans le champ q de la micro-instruction en cours et permettant par exemple l'exécution de micro-instructions de oranche- ment conditionnel du type "sauter à l'adresse &alpha; ; si la sortie ae la bascule présente le niveau logique 1". me signal de sortie ET 22 est appliqué a une entrée d'une porte 1 23 dont l'autre entrée reçoit un signal d'horloge . le signal Le sortie de cette porte E1 23 commande le compteur ordinal 1 de façon qu'il effectue l' opération envisagée, ~par exemple un saut. On remarquera en outre que les outre bits de poids le plus faible du compteur ordinal 1 peuvent être chargés de l'exterieur en utilisant l'entrée Ech.V. D'autre part, les quatre bits de poids le plus im- portant de ce compteur ordinal 1 peuvent également être chargés ci rectement par la sortie de la memoire de microprogramme L, par l' intermédiaire du circuit d'aiguillage 3 et de la ligne +). De même, les sorties des registres tampons 10 et il, qui sont chargés par la sortie de la moire de microprogramme 2, par l'intermédiai- re de la ligne ji, sur commande d'impulsions d'échantillonage respectives ch. TP1, Ech.TP2, provenant de la mémoire d'exécution b, peuvent être appliquées respectivement sur les bits 5 à 8, et 1 a 4 du compteur ordinal 1, par l'intermédiaire des lignes 42 et 41. Comme on l'a vu précédemment, la sortie des registres 10, 11 peut également être appliquée sur l'entrée c du sélecteur 15 qui doit alors recevoir un code de commande approprié 50, S1 en provenance de la mémoire d'exécution 6. Ces différents chargoments externes du compteur ordinal 1 permettent d'effectuer des sauts de microprogramme, ces sauts pouvant être conditionnés par le signal de sortie de la Das- cule 13, en correspondance avec le test effectué lors de la microinstruction précédente lie microprocesseur suivant l'invention comporte un outre un registre 9 dit de modification de champ.Le contenu de ce registre 9, qui provient d'un des registres généraux 18, par la ligne 45, peut, par l'intermédiaire du circuit d'aiguillage 3 auquel il est raccordé par la ligne 44, être substitué au signal de sortie de la mémoire de microprogramme 2, pour être distribué aux deux registres tampons 10, 11, au registre de code d'opération 14, ou au registre d'adressage 19. Il permet donc de modifier un champ de micro-instruction au moyen du contenu 'un registre général, ce qui ormet d'effectuer des boucles de microprogramme, au cours desquelles on peut par exemple modifier une adresse de periphérique, modifier un numéro de registre, compter ou décompter, etc., Ayantedécrit la structure générale au microprocesseur suivant l'invention, on va maintenant décrire son fonctionnement en se référant à l'exécution d'une micro-instruction particulière comportant à titre d'exemple cinq clamps de 4 bits. On rappelle que les micro-instructions utilisées suivant l'invention cuvent comporter Le 1 à 6 clamps de 4 bits. La micro-instruction dont on va écrire le déroule- ment peut s'crire F1 ERG 1 OPE ERG 2 RRG 3 Comme on l'a vu ci-dessus, le premier champ '1 é- finit le type de la micro-instruction, il correspond ici à la lie d'adresse 0001. lie second cnamp ERG1 fournit ici l'adresse d'un premier registre général dit émetteur, contenant le premier opérande. e troisième champ OPE définit l'opération devant être réalisée -ar le bloc arithmétique et logique 16. me quatrième champ ERG2 fournit l'adresse d'un se cond registre général dit émetteur, contenant le second opérande. le cinquieme chaman RRG3 fournit 11 adresse d'un troi- sieme registre général dit récepteur, dans lequel sera mémorisé le résultat. Il s'agit donc d'une micro-instruction à 3 adresses, ce qui est rarement nécessaire e pratique où tar exemple le ré sultat est mémorisé dans un des registres généraux utilisés pour les opérandes. Comme on l'a vu ci-dessus, le dernier pas de la micro-instruction précédente a remis a zéro le registre 5. Il a également chargé le registre 4 par le code 5 = 0001 et éventuellement chargé la bascule 13 par le résultat wu test effectué. D' autre part, le registre 5 a été remis a zéro (w = 0). On va maintenant décrire les différents pas corres- pondants à cette micro-instruction, ces différents pas étant ici au nombre de 14 et figurant dans la mémoire d'exécution 6, dans les 14 premiers mots de la liste adressée par le champ 31 de la micro-instruction. 1er pas. La mémoire d'exécution 6 est maintenant adressée par le registre e (? = 1) et le registre 5 (w = 0), ce qui correspond au premier mot de la liste concernée, c'est c dire au mot d'adresse &alpha; = 16. Ce mot, qui décrit le premier pas, est décodé par le décodeur 7 qui génère le signal Ech. V incrémentant d'une laité le compteur ordinal 1. 2éme pas. La sortie de la mémoire de microprogramme 2 fournit alors lt-adresse du premier registre général, soit ERG1. me registre 5 est incrémenté d'une unité et le mot d'adresse 17 est lu dans la mémoire 6 qui délivre alors, tar l'irtermédiaire du décodeur 7, le signal de remise à zéro RAZ. OPE du registre de code d'operation i. o le b oc arithmétique et logique 6 qui reçoit alors le code C devient transparent vis a vis de l'entrée R-1, c'est à dire qu'il transmet les données appliquées sur cette entree 18 au registre 17, sans les traiter. 3éme pas. Le mot d'adresse 18 de la mémoire 6 fournit, par l'intermédiaire du décodeur 7, le signal d'echantillonnage xch. Ad.RG du registre d'adressage 1-,. Ge registre est donc chargé par le code ERG1, correspondant au premier opérande, disponible à la sortie de la mémoire de microprogramme 2. 4éme pas. lie mot d'adresse 1 de la mémoire o fournit dans les quatre bits de poids fort un code qui, par l'intermédiaire du décodeur 7, génère le signal Ech. RR, et dans les quatre bits de poids faible, un code Su, ;o1 qui, appliqué au sélecteur 15, met en communication la sortie des registres généraux 18 avec 11 entrée EM1 du bloc arithmétique et logique 16.Il en résulte que le contenu du registre général possédant l'adresse ERG1 est chargé dans le registre 17, par l'intermédiaire du sélecteur 15 et de la voie EM1 du bloc arithmétique et logique 1O. me contenu de ce registre 17 est alors envoyé sur l'entrée EM2 du bloc o, car la ligne 36. 5ème pas. Le mot d'adresse Lu de la mémoire 6 fournit le code Ech. V qui incrémente d'une unité le compteur ordinal 1 de la mémoire 2. 6éme pas. la sortie de la mémoire de microprogramme 2 fournit le troisième champ de la micro-instruction qui indique la nature de l'opération arithmétique ou logique à exécuter. Par ailleurs, le mot d'adresse 21 de la mémoire 6 fournit, par l'intermédiaire du décodeur 7, le signal Ech. OPE qui permet le chargement du registre 14 par le code d'opération disponible å la sortie de la mémoire 2. 7éme pas. Je mot d'adresse 22 de la mémoire G fournit, par l'intermédiaire du décodeur 7, le signal Ech. V qui incrémente le compteur ordinal 1 de la mémoire 2. 8éme pas. la sortie de la mémoire de microprogramme 2 fournit le quatrième champ de la micro-instruction qui indique l' adresse # -2 du registre général contenant le second opérande. Par ailleurs, le mot d'adresse 23 de la mémoire d'exécution 6 fournit, par l'intermédiaire du décodeur 7, le signal Ech. Ad. RG, qui commande le chargement du registre 18 par le code ENG2 délivré par la mémoire 2. 9éme pas. Le mot d'acresse 24 de la mémoire d'exécution o fournit, dans les cuatre bits se poids faible, le code SC,a 1 qui, ppliqué au selecteur 15, pertet de présenter à l'entrée EM1 du bloc arithmetique et logique 16, la sortie des registres généraux 1d, c'est à dire Z-e contenu du registre général possédant l'adres- se ERG2. On remarquera que le premier operande est alors présent sur l'entrée EM2 depuis le quatrime pas, et que le code d'opération a eté chargé dans le registre 14 lors du 6éme pas. ie mot dádresse 24 fournit aussi, dans les quatre bits de poids fort un code qui, par l'intermédiaire du décodeur 7, génère le signal Ech. 1R au eriet le chargement du registre 17 par le résultat de l'opération effectuée par le bloc 16. 10éme pas. Le mot d'adresse 25 de la memoire d'exécution 6 délivre, par l'intermédiaire du décodeur 7, le signal Ech. V qui incrémente d'une unité le compteur ordinal 1 de la memoire de microprogramme 2. 11éme pas. La sortie de la mémoire de microprogramme 2 fournit le cinquième champ de la micro-instruction qui indicue 1' adresse ERG3 du registre général dans lequel doit être mémorisé le résultat de l'opération. Par ailleurs, le mot d'adresse 26 de la mémoire d'exécution fournit, par l'intermédiaire du décodeur 7, le signal Ech. . Ad.RG cul permet le chargement du registre 19 tar l'acresse ERG3. 12éme pas. le mot d'adresse 27 de la mémoire d'exécution 6 fournit, par l'intermédiaire du décodeur 7, le signal Ech. RG cul permet le chargement du résultat de l'opération dans le registre géneral possédant l'adresse RRG3. 13éme pas. Le mot d'adresse 28 de la mémoire d'exécution 1 fournit, par l'intermédiaire au décodeur 7, le signal lch.V qui incrémente le compteur ordinal 1 de la mémoire de microprogramme 2. 14ème pas. le premier champ B de la micro-instruction suivante apparat à la sortie de la memoire de microprogramme 2. le mot d'adresse â de la mémoire d'exécution 6 délivre, par líntermé- diaire du décodeur 7, le signal RA3.B4 de remise à zéro de la base de temps qui sert à la remise a zéro du registre 5 et au chargement du registre 4 par le signal disponible a la sortie de la mémoire de microprogramme 2, qui precise la nature de la micro-instruction suivante. Ce dernier pas sert donc a appeler la micro-instruction suivante et à initialiser son exécution. Dans la lue de réalisation décrite, la période de 1' no-loge 8 a té choisie égale a 130 ns. Il en résulte que la vitesse déxecution n'est ta treE rapide, mais elle suffit pour la plupart des commandes de processus. dependant, pour commander des processus rapides, il peut être nécessaire de travailler en multi-programmation, les enchaîne- ments étant déclenchés et enchaînés par des appels d'interruption. Ce problème peut être résolu en utilisant deux microprocesseurs suivant l'invention. Le premier microprocesseur est optimisé pour l'application à traiter, comme décrit ci-dessus. lie second microprocesseur est couplé au premier, par le bus de données, et prend en compte le traitement des interruptmons. Ce second nicroprocesseur est doté de microprogrammes particuliers lui permettant de redevoir les appels d'interruption, de les memoriser et se les classer par ordre de priorités dtinterrompre sinnécessaire le microprogramme en cours d'exécution dans le premier microprocesseur, de mémoriser l'adresse de reprise ultérieure, et de provoquer le branchement vers le microprogramme afférent à la nouvelle interruption. On peut traiter ainsi jusqu'à huit niveaux hiérarchiques d'interruptions. Enfin le microprocesseur peut être utilisé, outre pour la commande de processus, comme coupleur de périphériques, tels que des bandes magnétiques, des imprimantes rapides, etc... REVENDICATIONS 1) Procédé de commande d'un microprocesseur, notamment pour le contrôle de processus dans lequel les opérations relatives à une application particulière sont explicitées sous forme de micro-ins trustions, comportant plusieurs champs rangés en serie dans la mémoire morte et notamment un champ particulier aéinissant le type de la micro-instruction, lesdites micro-instructions étant mémorisées séquentiellement dans une mémoire morte tour former un microprogramme, caractérisé par le lait qu'il consiste à microprogrammer la base de temps utilisée pour l'exécution dudit Proernmme, c'est à dire à utiliser ledit champ particulier de chaque micro-instruction pour adresser une parmi m listes, figurant dans une seconde mémoire morte et correspondant respectivement-- à un type de microinstruction, chaque liste comprenant n -mots adressés séquentielle- ment qui sont lus au rythme d'une horloge et qui définissent la sé agence des tas élémentaires permettant d'exécuter la micro-instruction correspondante. 2j Procédé suivant la revendication 1, caractérisé par le fait qu'il consiste en outre à utiliser des micro-instructions de longueur variable, la longueur desdites micro-instructions pouvant varier par groupes de 4 bits, mémorisés séquentiellement. 3) Microprocesseur pour la mise en oeuvre du procédé suivant les revendications 1 et 2, comportant au moins une mémoire morte é- lectriquement programmable dite mémoire de microprogramme, contenant le microprogramme relatif à l'application que l'on désire traiter, et associée à un compteur ordinal, ainsi que notamment un bloc arithmé---- tique et logique, ses registres généraux et des décodeurs, caractérisé par le fait qu'il comporte en cutre une seconde mémoire morte alte mémoire d'exécution, dans laquelle sont mémorisées m listes adresses séquentiellement qui correspondant à m types de micro-instructions et qui contiennent respectivement n mots définissant la séquence des pas élé=entaires pour chaque type de micro-instruction, cette mémoire d'exécution étant adressée par un premier registre recevant ledit champ particulier de la micro-instruction en cours, extraite de la Zemière mémoire dite mémoire de rnicroprogramme et fournissant l'aoe-'esse de la liste corres-ondant au t-pe de ladite microinstruction, et un second registre recevant des impulsions en provenance d'une horloge et servant a- l'adressage séquentiel ses n mots de la liste adressée par le premier registre, ladite mémoire d'exécution délivrant directement des commandes d'aiguillage et. par intermédiaire d'un décodeur unique, des commandes d'échan- tillonnage qui microprogramme la base de temps, c'est à dire définissent les pas élémentaires correspondant au type de microinstruction concerne. 4) Microprocesseur suivant la revendication 3, caractérisé par le fait que la mémoire d'exécution est n--e memoire morte électriquement proora-mable du type PRCH. 5) Michprocesseur suivant les revendications 5 et 4, caractérisé par le fait qu'il comporte en outre un circuit ce modification des champs des micro-instructions permettant, par adat- tation dynamique de ces micro-instructions, d'effectuer des boucles de microprogrammes.