Brevet FR2562288A1 — publié le 19851004

La présente invention concerne le domaine de la conception assistée par ordinateur et plus particulièrement de la mise en oeuvre d'algorithmes de simulation. Ces dix dernières années, la conception assistée par ordinateur est devenue d'une utilisation commune dans de;iombreux domaines, comme par exemple la conception de circuits électriques. En réalité, il serait actuellement difficile et peut-être impossible du point de vue économique de développer un circuit à haute densité d'intégration sans des outils de conception réalisant une vérification. La réalisation d'un "montage expérimental" pour un circuit comportant un million de composants serait une tâche monu- mentale et la révision continue par rapport à des masques, qui est requise si le circuit n'a pas été vérifié avant la fabrication, serait également peu réalisable. On dispose actuellement de nombreux postes de tra- vail ou d'autres outils pour simuler des systèmes. La pré- sente invention est utilisée en liaison avec l'un de ses postes de travail disponibles dans le commerce et vendus sous la marque déposée "Logician" par la société dite Daisy Systems Corporation de Sunnyvale, Californie. Ce système de l'art antérieur et l'algorithme, qu' il met en oeuvre, vont être décrits en référence aux figures 1, 3 et 4 anne- xées a la présente demande. D'une manière générale la pré- sente invention met en oeuvre un algorithme de simulation commandé par les évènements, dans un calculateur à usage particulier ou spécialisé. Le document de l'art antérieur le plus proche connu de l'auteur de la présente invention et décrivant des cal- culateurs à usage spécial pour la mise en oeuvre d'algorith- mes de circulation sont: (i) "une machine de simulation logique" de Abra- movici, M. et consorts, dans IEEE Transactions on Computer- Aided Design of Integrated Circuits and Systems, Vol. CAD-2, >5 Ne 2, Avril 1983. La présente invention met en oeuvre un algorithme semblable à celui décrit dans cet article. Cepen- dant le cloisonnement utilisé dans la présente invention est substantiellement différent de celui décrit dans cet article. (ii) "Evaluateur logique ZYCAD" décrit dans le ma- nuel de la société dite ZYCAD Corporation, daté de Novembre 1982. Cet appareil utilise un cloisonnement différent de celui de la présente invention. Cependant il ne présente pas la souplesse d'utilisation de la présente invention, selon laquelle le calculateur est microprogrammable. (iii) "Le traitement parallèle simule d'une manière interactive une logique complexe à très haute densité d'in- tégration" par Howard J. et consorts, Electronics, 15 Décem- bre 1983, à partir de la page 147. Cet article décrit la mise en oeuvre d'un algorithme différent qui n'est pas com- mandé par les événements. On utilise une architecture diffé- rente et un cloisonnement différent. L'invention concerne un calculateur servant à met- tre en oeuvre un algorithme commandé par les événements et qui simule un système tel qu'un circuit intégré ou un système numérique. Ce calculateur comporte un premier, un second et un troisième processeurs qui, dans la forme de réalisation préférée, sont tous substantiellement identiques. Un bus unidirectionnel relie les différents processeurs; de façon spécifique le premier processeur envoie des signaux au second processeur, le second processeur envoie des si- gnaux au troisième processeur et le troisième processeur envoie des signaux au premier processeur. Le premier proces- seur inclut une première mémoire servant à mémoriser l'état du système qui est simulé à des intervalles prédétermines. Dans la pratique, cette mémoire mémorise également la table de sortance, qui serait utilisée dans la simula- tion d'un circuit typique. La mémoire du second processeur mémorise une partie des caractéristiques de comportement de chacun des composants du système, c'est-à-dire une table de vérité pour les portes. Le troisième processeur mémorise une information représentant les intervalles auxquels des modifications du système apparaissent et les endroits o ces modifications apparaissent (par exemple l'instant auquel le signal de sortie de certaines portes varie), et en outre mémorisent les retards associés & chaque porte. L'informa- tion est acheminée et traitée selon un mode pipeline dans les trois processeurs, et ces derniers fonctionnent simul- tanément sur les contenus de leurs mémoires respectives en réponse à des signaux reçus à partir d'un autre desdits processeurs. Dans la forme de réalisation actuellement préférée, lors de l'initialisation chaque processeur est programmé avec un microcode ou microprogramme. Par conséquent le cal- culateur présente comme souplesse d'utilisation le fait d'être optimisé pour différentes simulations. D'autres caractéristiques et avantages de la pré- sente invention ressortiront de la description donnée ci- après prise en référence aux dessins annexés, sur lesquels: - la figure 1 représente un schéna-bloc montrant l'architecture d'ensemble du calculateur conforme à l'inven- tion et un schéma-bloc du calculateur de l'art antérieur utilisé en liaison avec la présente invention; - la figure 2 est un schéma-bloc montrant l'un des processeurs faisant partie du calculateur conforme à l'in- vention; - la figure 3 est un schéma de deux portes utili- sées pour expliquer un algorithme de l'art antérieur - la figure 4 est un organigramme utilisé pour dé- crire un algorithme, commandé par les événements, de l'art antérieur; - la figure 5 est un organigramme utilisé pour dé- crire l'algorithme, commandé par les évènements, mis en oeuvre dans le calculateur conforme à l'invention; - les figures 6a et 6b représentent, ensemble, un schéma électrique d'un décodeur de microprogrammes, utilisé dans chacun des processeur; - les figures 7a, 7b et 7c constituent ensemble un schéma électrique du tampon de sortie "premier entré- premier sorti", utilisé dans chacun des processeurs; et - les figures 8a et 8b représentent ensemble un schéma électrique d'un générateur d'adresses de mémoire, utilisé dans chacun des processeurs. On va donner ci-après une description détaillée de l'invention. On va décrire un calculateur qui met en oeuvre un algorithme de simulation. Le calculateur est particulière- ment utile pour réaliser la simulation de modèles de cir- cuits. Dans la description qui va suivre, de nombreux dé- tails spécifiques sont indiqués, comme par., exemple des nom- bres spécifiques de lignes, etc, de manière à permettre une compréhension parfaite de la présente invention. Naturel- lement il apparaîtra à l'évidence au spécialiste de la tech- nique que la présente invention peut être mise en oeuvre sans ces détails spécifiques. A d'autres égards, on n'a pas représenté de façon détaillée des circuits et structures bien connus afin de ne pas gfier inutilement la compréhension de la présente invention. En outre, bien que la présente invention soit décrite en liaison avec un algorithme parti- culier pour une simulation de circuit, la présente inven- tion peut être utilisée avec d'autres algorithmes, comme par exemple des algorithmes "placement et acheminement". Pour avoir une meilluere compréhension de la pré- sente invention, on va décrire tout d'abord un algorithme de simulation de l'art antérieur. La présente invention met en oeuvre un algorithme semblable à cet algorithme de l'art antérieur. Sur la figure 3, on a représenté deux portes ET 77 et 78. Les entrées de la porte ET 77 sont les noeuds 76 et 79 et les entrées de la porte 78 sont les noeuds 72 et 73. La sortie de la porte 77 constitue une entrée de la porte 78. La sortie de la porte 78 est formée par une ligne ou un noeud 74. Pour la discussion, on suppose que la porte 77 entraîne un retard de 20 unités et que la porte 78 entraîne un retard de 10 unités. L'algorithme représenté dans l'organigramme de la figure 4 peut être utilisé pour simuler des circuits tel que le circuit de la figure 3. Naturellement, dans la prati- que, on simule des circuits beaucoup plus compliqués, con- tenant des centaines de milliers de portes. Dans l'art antérieur, avant que la simulation ne commence, le circuit qui doit être simulé est tout d'abord représenté (sous forme numérique), d'une manière prédéter- minée. Dans cette représentation, on représente une "sortance" de chaque noeud (désigné quelquefois sous le terme de table d'entrée de porte). Ceci décrit fondamenta- lement toutes les connexions. Par exemple en se référant à la figure 3, il serait indiqué que la sortie de la porte 77 (noeud 72) est raccordée à une borne d'entrée de la porte 78, et s'il existait d'autres portes raccordées à ce noeud, elles seraient signalées. De façon similaire pour les noeuds 73, 74, 76 et 79, les autres portes accouplées à ces noeuds sont signalées (pour l'exemple simple de la figure 3, aucune connexion de ce type n'est utilisée). La représentation du circuit inclut également des caractéristiques de compor- tement de chacun des composants. Pour la porte 77, les carac- téristiques mémorisées indiqueraient que la sortie de la porte passe au niveau haut lorsque les deux entrées sont au niveau haut (table de vérité) et que la porte 77 présente un retard de 20 unités. De façon similaire, pour la porte 78, l'entrée pour cette porte indiquerait que sa sortie passe au niveau haut lorsque ses deux entrées sont au niveau haut et que la porte fournit un retard de 10 unités. De même l'état de tous les noeuds est mémorisé, comme cela sera décrit, et est mise à jour. Ceci est désigné sous le terme de "réseau d'états". La simulation s'effectue à des intervalles prédé- terminés, en représentant de façon typique le temps (par exemple en ms) qui sera désigné, dans le cadre de la pré- sente description, sous le terme de "unité". De façon typique, lors d'une simulation, il existe des conductions initiales ou des entrées initiales pour simuler le système qui est analysé. On suppose pour la dis- cussion concernant le circuit de la figure 3, qu'à un ins- tant 1, le potentiel dans la ligne 79 passe au niveau haut, qu'à l'instant 10 le potentiel présent sur le noeud 76 passe au niveau haut et qu'à l'instant 40 le potentiel présent sur le noeud 73 passe au niveau haut. En se référant à la figure 4, on voit que le pre- mier pas 80 requiert une incrémentation du temps de 0 à 1. Lors du pas 81, les évènements intervenant à l'instant 1 sont lus dans la mémoire. A l'instant 1 le noeud 79 passe au niveau haut, (ceci a été mémorisé antérieurement pour l'instant 1). Le pas 82 réalise la mise à jour du réseau d'états pour indiquer que le noeud 79 est maintenant au niveau haut. Pour le pas 83, on a répertorié la "sortance" pour le noeud 79. C'est-à-dire que, à titre d'exemple, si le noeud 79 était raccordé à des entrées d'autres portes, une indication serait marquée dans la mémoire concernant le fait que les entrées aboutissant à ces portes ont été modifiées. Le pas 83 détermine s'il existe d'autres évène- ments à l'instant actuel, instant 1. Dans le cas de l'exem- ple de la figure 3, il n'en existe aucun et par conséquent l'analyse passe au pas 85. S'il existait d'autres évènements intervenant à l'instant 1, les pas 80 à 84 seraient répétés jusqu'à ce que tous les événements apparaissant à cet ins- tant soient pris en compte. Pour le pas 85, chaque porte, dont l'entrée a été modifiée, est maintenant examinée. Cette liste de portes est développée au pas 83 indiqué ci-dessus (on notera qu'avec l'algorithme décrit, seules les portes, dont une entrée a été modifiée, sont maintenant considérées. Si l'algorith- me est désigné comme étant un algorithme "commandé par les événements"). Dans le cas du présent exemple, l'entrée de la porte 77 a été modifiée, et ainsi lors du pas 86, la sortie de cette porte est considérée. Etant donné que le potentiel présent dans la ligne 80 est encore bas, il n'exis- te aucune modification de la porte et par conséquent l'ana- lyse passe au pas 89, après le pas 87. Etant donné qu'il n'existe plus de porte dans la liste à cet instant, il se produit un retour au pas 80. Lors du pas 80, le temps est incrémenté pour passer à l'instant 2. Il n'existe pas de nouveaux événements "mis en file d'attente" à cet instant. L'instant est incrémenté jusqu'à ce qu'il existe un événement mémorisé pour l'ins- tant en question. Dans le présent exemple, ceci se produit à l'instant 10 lorsque l'entrée au niveau du noeud 76 passe au niveau haut. Par conséquent le pas 81 consiste a déter- miner le fait qu'à l'instant 10 le potentiel présent dans la ligne 76 augmente. (Les événements sont mémorisés en fonc- tion du "temps"). Lors du pas 82 le réseau d'états est mis à jour de manière a indiquer que le noeud 76 est maintenant au niveau haut (antérieurement, a l'instant 1 le réseau avait été mis à jour pour indiquer que le noeud 76 était passé au niveau haut). Lors du pas 83, la liste de sortance est préparée, cette liste incluant dans ce cas uniquement la porte 77 étant donné que le noeud 76 est raccordé unique- ment a la porte 77 Pendant le pas 84, il est déterminé s'il n'existe aucun autre événement mémorisé à l'instant 10, et par conséquent le pas suivant est le pas 85. Ici les portes répertoriées lors du pas 83 sont sélectionnées une par une. Dans le cas de l'exemple actuel, la porte 77 est sélectionnée et, lors du pas 86, sa sortie est évaluée à partir des caractéristiques (par exemple la table de vêri- té) mémorisées précédemment. Etant donné que les deux en- trées de la porte 77 sont au niveau haut, sa sortie sera au niveau haut. Lors du pas 87, étant donné que la sortie n'a pas varié, le pas 88 est le pas suivant. La porte 77 réalise un retard de 20 unités de temps et par conséquent sa sortie (noeud 72) voit son potentiel augmenter au bout d'une durée de 20 unités à partir de l'instant actuellement considéré ou à l'instant 30. L'information est mémorisée dans la mémoire à l'instant 30 pour indiquer un accroisse- ment du potentiel au niveau du noeud 72. Etant donné qu'il n'existe aucune autre porte dans la liste, il se produit un retour au pas 80. Aucun événement n'est mis en file d'attente entre l'instant 10 et l'instant 29. A l'instant 30, pour le pas 81, le potentiel présent sur le noeud 2 augmente. Le réseau d'état est mis à jour pour indiquer que le noeud 72 est maintenant au niveau haut (pas 82) et la liste des portes raccordées à ce noeud est établie, cette liste comportant dans le présent exemple uniquement la porte 78. Le proces- sus passe aux pas 85, 86 et 87, et étant donné qu'aucune modification n'intervient au niveau de la s6rtie de la porte 78 étant donné qu'il n'existe aucune porte supplémentaire dans la liste, il se produit un retour à l'état 80. L'événement suivant est programmé à l'instant 40. A cet instant, la file d'attente indique que le potentiel au niveau du noeud 73 augmente. Le réseau d'état est mis à jour et la liste de sortance est établie, cette liste étant constituée dans ce cas simplement par la porte 78 (pas 83). Lors du pas 86, il est établi que la sortie de la porte 78 varie en réalité et, lors du pas 88, un évène- ment est mémorisé pour indiquer qu'à l'instant 50 (en raison du retard de 10 unités dans la porte 78), le potentiel de sortie de la porte 78 augmente. Il se produit alors un re- tour au pas 80. A l'instant 50, le réseau d'états est mis à jour pour indiquer que le potentiel dans la ligne 74 augmente. Si un concepteur désirait savoir le moment o une modifica- tion d'états est apparue au niveau du noeud 74 pour les conditions initiales indiquées pour le circuit de la figure 3, ce fait lui serait notifié (par exemple au moyen d'un dispositif d'affichage ou d'une imprimante). Dans la pratique les pas représentés sur la figure 4 se déroulent très rapidement. Par exemple, lorsque l'on utilise un microprocesseur 80 286, plusieurs centaines de milliers des pas indiqués ci-dessus se produisent à chaque seconde. Néanmoins pour un circuit très important, un inter- valle de temps considérable (par exemple de nombreuses mi- nutes) est requis pour la simulation. Le calculateur conforme à la présente invention met en oeuvre un algorithme semblable à celui représenté sur la figure 4 dans un calculateur spécialisé, ce qui permet que la simulation se produise un grand nombre de fois plus rapidement qu'avec un microcalculateur d'usage général. On va décrire ci-après le simulateur "Logician" de l'art antérieur. Sur la figure 1, on a représenté d'une manière gé- nérale au-dessous de la ligne 25 un simulateur logique de l'art antérieur qui met en oeuvre l'algorithme de la figure 4. Le simulateur fonctionne dans un poste de traitement qui est commercialisé par la société dite Daisy Systems Corporation, sous la marque déposée "Logician". D'une maniè- re générale ce poste inclut un bus 26 qui est un "bus multi- ple". A ce bus se trouvent accouplés un système à disques , une plaquette de microprocesseur (CPU) 27 (No de pièce 8086 ou 80286), une mémoire 28 du système et un dispositif d'affichage vidéo 29 pour la liaison d'interface avec l'uti- lisateur. L'algorithme de la figure 4 est mis en oeuvre dans un logiciel qui est exécuté par l'unité CPU 27. Conformément a la présente invention, un algorithme semblable a celui représenté sur la figure 4 est mis en oeuvre dans le calculateur représenté au-dessous de la ligne 25. Le système situé au-dessous de la ligne 25 fonctionne à la manière d'un calculateur maître ou pilote réalisant toutes les fonctions normalement effectuées par une machine de simulation, hormis l'exécution de l'algorithme. Pour l'exécution de l'algorithme, le calculateur conforme à l'in- vention fonctionne en tant que calculateur esclave, c'est- à-dire que ses opérations sont en général commandées par le calculateur maître. On va donner ci-après une vue d'ensemble de l'appa- reil conforme à la présente invention. En se référant à nouveau à la figure 1, on voit que le calculateur conforme à l'invention comporte trois processeurs, à savoir les processeurs 39, 40 et 41. Ces trois processeurs sont interconnectés par l'intermédiaire de bus bidirectionnels respectifs 54, 56 et 55 de manière à recevoir des donnés et des adresses à partir du bus multi- ple 36. Le bus multiple 36, qui est un bus standard à 16 bits, est interconnecté au bus multiple 26 du calculateur maître par l'intermédiaire de l'interface maître 34 et de l'interface esclave 35. Les bus -multiples et les interf a- ces 34 et 35 utilisent des circuits standards bien connus. Dans la forme de réalisation actuellement préférée, les bus multiples 35 et 36 fonctionnent de façon synchrone. Le bus 36 communique avec chacun des processeurs par l'intermédiai- re d'une unité 58 de liaison d'interface avec le bus multi- ple. Outre le fait de communiquer avec le bus multiple 36, les processeurs communiquent les uns avec les autres par l'intermédiaire de bus unidirectionnels qui forment un an- neau entre les processeurs. Le premier processeur 39 commu- nique avec le second processeur 40 par l'intermédiaire du - bus 50, le second processeur 40 communique avec le troisième processeur 41 par l'intermédiaire du bus 51 et le troisième processeur 41 communique avec le premier processeur 39 par l'intermédiaire du bus 49. Les processeurs 39, 40 et 41 comportent des mémoi- res respectives 43, 45 et 46. Chaque mémoire peut comporter plusieurs cartes mémoires, dont chacune mémorise 320 K.mots a 24 bits. Ces mémoires sont constituées par des mémoire dynamiques usuelles à accès direct. Les différents processeurs sont identiques dans la forme de réalisation actuellement préférée, mais chacun d'eux est chargé par un seul microprogramme lors de l'ini- tialisation et par conséquent réalise une fonction différen- te. Le processeur 39 est désigné comme étant "l'unité d'état". La mémoire 43 mémorise le réseau d'états mentionné plus haut et également la table desortance. Le processeur 40 est désigné comme étant l'unité d'évaluation (EU) et sa mémoire mémorise les caractéristiques de comportement des com- posants dans le système simulé, comme par exemple les tables de vérité pour les portes. Le processeur 41 ou l'unité & file d'attente (QU) mémorise, avec sa mémoire 46, les évè- nements qui commandent l'algorithme et les temps de retard pour les portes et analogues. Comme cela va être décrit, les différents proces- seurs fonctionnent simultanément avec une information trans- mise selon le mode pipeline entre eux par l'intermédiaire des bus 49, 50 et 51. Dans la forme de réalisation actuelle, les processeurs fonctionnent à une fréquence d'horloge de 6,7 mHz, délivrée par une horloge commune. Ci-après on va décrire les processeurs utilisés dans le calculateur conforme à l'invention.. Comme cela a été mentionné, les trois processeurs utilisés actuellement sont identiques. Comme cela est re- présenté sur la figure 2, chacun des processeurs possède un bus interne de transmission de données 60. Ce bus com- munique avec un bus multiple 36 par l'intermédiaire d'une unité 58 de liaison d'interface avec le bus multiple. Le bus interne bidirectionnel de transmission de données à 24 bits est accouplé à un tampon d'entrée "premier entré- premier sorti" 65. Ce tampon reçoit des données provenant de l'un des autres processeurs. Par exemple, dans le cas du processeur 40 de la figure 1, le tampon 65 est accouplé au bus 50. Le processeur inclut un tampon "premier entré- premier sorti" 66. Ce tampon accouple le bus interne de transmission de données 60 à l'unité suivante de l'anneau et par exemple, dans le cas du processeur 40, ce bus est accouplé au bus 51. Le tampon 66 inclut une mémoire "élas- tique" de 256 x 24 bits (représentée en détail sur les fi- gures 7a, 7b et 7c). Cette mémoire permet une mémorisation temporaire des données en vue de leur transmission au proces- seur suivant afin de compenser des différences de vitesse dans les processeurs. Comme cela a été mentionné, les pro- cesseurs fonctionnent en utilisant une horloge commune, mais l'intervalle de temps requis par un processeur de temps particulier pour achever une opération peut ne pas être le même que l'intervalle de temps requis pour un autre pro- cesseur pour achever une opération associée. Le générateur d'adresses de mémoire/l'unité logique d'interface 66 accouple le bus interne de' transmission de données 60 à la mémoire du processeur. Cette unité est re- présentée de façon détaillée sur les figures 8a et 8b. L'u- nité 67 permet la formation d'une adresse à 24 bits basée sur une adresse présente dans le bus 60 et un microprogramme délivré de la mémoire RAM 69 (par l'intermédiaire de la bascule bistable 70). Les opérations arithmétiques pour le processeur sont effectuées par une unité logique arithmétique (ALU 62). Cette unité à 24 bits est un élément TTL commercial standard (74S382) muni des dispositifs de commande, bascules bistables, etc. associés. Un fichier de registres63 compor- tant une capacité de 8 x 24 bits est également accouplé au bus 60. C'est un fichier usuel permettant la lecture et l'enregistrement dans différents emplacements et utili- sant simultanément des éléments standards (74LS670). Chacun des processeurs est commande par son micro- programme. Le microprogramme est mémorisé dans une mémoire RAM 69 possédant une capacité de 4 k x 36 bits. Il est char- gé lors de l'initialisation à partir du calculateur maître par l'intermédiaire du bus 36. La logique 68 de commande d'adresses de microprogrammes et de sauts inclut un compteur à 12 bits qui forment une adresse de manière à sélection- ner des instructions de microprogrammes à partir de la mé- moire RAM 69. Cette unité reçoit un signal d'horloge servant a incrementer le compteur à partir d'une horloge commune délivrant une fréquence de 6,7 mHz. La sortie de la mémoire RAM 69 est accouplée à une bascule bistable 70 qui est en communication avec le décodeur d'instructions 71 et le bus 60. (Des instructions spéciales circulent entre les proces- seurs en passant dans la bascule bistable 70, qui peut com- mander le compteur pour qu'il saute à une nouvelle adresse). Le décodeur d'instructions 71 est accouplé aux dif- férentes unités situées dans le processeur, telles que l'u- nité ALU, le fichier de registre, les tampons, le générateur d'adresses de mémoire, etc., de manière à commander ces unités comme cela est réalisé de façon typique a l'aide de microinstructions décodées. Le décodeur 71 est repré- senté de façon détaillée sur les figures 6a et 6b. Ci-après on va décrire le fonctionnement général du calculateur conforme à l'invention. Lors de 1 ' initialisation, le microprogramme est chargé dans chacune des mémoires RAM 69 de la figure 2 (une mémoire différente pour chaque processeur), et les mémoires de chaque processeur sont programmées. En se reportant briè- * vement à la figure 3, pour une simulation de circuit, la mémoire 43 mémorise le réseau d'états c'est-à-dire l'état des différents noeuds et également la table de sortie. L'uni- té de mémoire d'évaluation 45 reçoit les caractéristiques de chacun des composants, par exemple pour les portes 77 et 78, et leurs tables de vérité. La mémoire 46 de l'unité à file d'attente reçoit tous les événements requérant une planification et les mémorise au moyen du "temps" incluant les événements initiaux. Cette mémoire mémorise également les retards intervenant dans les portes. Les mémoires des microprocesseurs reçoivent les données présentes dans le circuit devant être simulées à partir du calculateur maître. Le calculateur conforme à l'invention met en oeuvre l'algorithme représenté sur la figure 5. Les pas effectués par le microprocesseur 41 et l'unité à file d'attente sont représentés au-dessous de l'en-tête QU sur la figure 5. De façon similaire les pas effectués par le processeur 39, l'unité d'état, sont représentés au-dessous de l'en-tête SU et ceux effectués par le processeur 40, unité d'évalua- tion, sont représentés au-dessous de l'en-tête EU. Les unités prédéterminées correspondant d'une ma- nière générale au temps sont incrémentées par l'unité à file d'attente comme représenté par le pas 94. Lors de cha- que nouvel instant, l'unité 94 détermine s'il existe des évènements ordonnés et s'il en est ainsi, communication en est faite (au moyen du noeud possédant son nouvel état) à l'unité d'état, comme cela et indiqué par le pas 95. Cette communication est réalisée par l'intermédiaire du bus 49 de la figure 1. L'unité d'état met à jour sa mémoire confor- mément à une instruction fournie par l'unité à file d'atten- te, comme cela est indiqué par le pas 94. Tous les événe- ments ordonnancés pour cet instant particulier sont lus hors de la mémoire de l'unité a file d'attente et sont envo- yés à l'unité d'état pour une mise à jour du réseau d'états. Le réseau d'états, tel que représenté dans la mémoire 43 de la figure 1, est mis à jour en même temps que s'effectue la lecture des événements hors de la mémoire 46. Un second passage s'effectue dans la mémoire de l'unité à file d'at- tente pour chaque intervalle de temps, comme cela est indi- qué par le pas 98. Pendant le pas 98, l'unité d'état reçoit à nouveau les noeuds au niveau desquels des modifications sont apparues. Pendant ce second passage, l'unité d'état prépare une liste (basée sur la liste de sortie) des portes accouplées à ces noeuds. L'unité d'état est par conséquent apte à envoyer à l'unité d'évaluation une liste des grilles dont les entrées ont varié, la modification et la sortie de courant fournies par la porte (pas 99 et 100). L'unité d'évaluation reçoit par exemple le numéro de la porte, ses nouvelles entrées et le courant sortant et détermine si une modification de sortie s'est produite, comme cela est indiqué par les pas 106 et 107. S'il se pro- duit une modification de la sortie, la nouvelle sortie est communiquée pour mémorisation dans la mémoire de l'unité à file d'attente par l'intermédiaire d'un bus 51, comme cela est indiqué par le pas 108. Le processeur 41peut dter- miné, à partir de la mémoire 46, le moment o cette nouvelle sortie apparaît (étant donné qu'il a mémorisé les retards pour chaque porte). On notera que l'unité d'évaluation n'a pas la notion de "'temps", mais plutôt évalue simplement les sorties des portes dans lesquelles une entrée a varié. En revenant au pas 98, une fois que l'unité à file d'attente a envoyé l'information concernant une porte modi- fiee à l'unité d'état, elle détermine si une planification quelconque est requise comme cela est indiqué par le pas 109. (On notera que, en raison du mode de traitement en pipeline, l'unité à file d'attente envoie une information présente dans une porte à l'unité d'états et peut recevoir une information au niveau d'une porte totalement différente, lorsqu'elle exécute ensuite le pas 109). Apres achèvement et planification (pas 110), s'il existe encore plus d'évè- nements pour cet instant (pas 111), il se produit un retour au pas 98. S'il n'existe aucune transmission supplémentaire pour l'unité d'état pour cet intervalle de temps, il se produit un retour au pas 109 en vue de réaliser la réception des données restantes, en provenance de l'unité d'évalua- tion. Lorsqu'il n'existe aucune planification supplémentaire requise et aucun évènement pour l'instant considéré, il se produit un retour au pas 94. Dans la pratique, les pas 94, 95, 96 et 97 appa- raissent très rapidement et requièrent seulement environ 10 à 20 % du temps du calculateur. La majeure partie du temps requise pour la simulation est disponible pour les pas restants. Ci-après on va décrire le décodeur de microprogram- mes. Le décodeur de microprogrammes (décodeur d'instruc- tions 71 de la figure 2) décode les instructions de micropro- grammes, délivrées par la mémoire RAM 69 de la figure 2 et réalise la commande générale du processeur, comme cela a été mentionné précédemment. Les instructions de micropro)- grammes délivrées par la bascule bistable, 70 de la figure 2 sont envoyées aux lignes 122 de la figure 6a. Le décodeur permet également aux instructions de microprogrammes de spécifier directement les données pour le bus interne de transmission de données 60 de la figure 2. Ce bus de trans- mission de données est représenté dans la partie de droite de la figure 6b. Les instructions de microprogrammes arri- vant dans la ligne 122 sont transférées directement aux tampons 116, 117 et 118, ce qui permet une spécification directe des données pour le bus. D'une manière générale, chacune des instructions de microprogrammes inclut un code OP à 4 bits qui désigne la classe de l'instruction et deux zones fixes prévues pour toutes les instructions et désignant l'origine et la desti- nation dans le bus interne de transmission de données. Le décodeur 3 parmi 8 bits 113 représentés dans le coin supé- rieur gauche de la figure 6 détermine le code OP à partir des signaux présents dans la ligne 124 (qui sont un sous- ensemble des signaux présents dans la ligne 122. Le décodeur 113 reçoit également, au niveau des broches 4 et 5, un si- gnal de validation servant à indiquer si l'instruction de microprogramme est valable, sinon elle n'est pas exécutée. (La broche 6 est toujours accouplée à un potentiel positif). La classe d'instructions est sélectionnée par le code OP, comme cela est représenté dans la partie supérieure de la figure 6a, en commençant par la ligne 25. De façon plus spécifique ces classes d'instructions sont: enregistrement en mémoire, saut conditionnel, lecture de mémoire, appel, unité ALU, etc. Les lignes 126 et 127 fournissent des si- gnaux zéro spécifiques de l'unité ALU, la ligne 128 efface une erreur à parité et la ligne 129 efface les tampons "pre- mier entré-premier sorti" lors de l'initialisation. L'unité PLA 114 détermine la destination pour chaque instruction de microprogramme; le décodeur 115 détermine l'origine des instructions. L'unité PLA 114 reçoit des signaux d'en- trée des lignes 122 en plus des signaux delecture et d'en- registrement de mémoire (broches 5 et 6), le signal correct (broche 7), le signal de cadencement sur la broche 8. Le décodeur 115 reçoit les instructions des microprogrammes depuis un fichier de registre par l'intermédiaire des lignes 130, un signal d'origine de validation (broche 6) et le signal correct sur la broche 5. Les sorties de l'unité PLA 114 et du décodeur 115 sont représentées dans la partie inférieure de la figure 6a. La désignation "D" indique que la destination, ou bien le fait que la donnée doit être "capturée" alors que la désignation "S" désigne l'origine, c'est-à-dire pour "l'en- voi" de données. Par exemple "SDP" envoie des données à partir d'un accès de données (le bus positif) 36 de la figu- re 2. Les lignes 133 et 134 sont accouplées aux registres de fichiers, la ligne 135 est prévue pour la logique de commande de sauts pour une bascule bistable adressable par bit, la ligne 136 est accouplée au registre d'adresses de microprogrammes et la ligne 137 est utilisée pour le circuit logique de sauts. La bascule bistable 120 représentée dans la partie inférieure de la figure 6b est une bascule bistable adres- sable par bits qui produit des interruptions pour le micro- processeur utilisé dans le calculateur maître. L'une de 8 lignes d'interruption est sélectionnée avec un cavalier, comme indiqué par le cavalier 137. D'autres signaux ou dra- peaux présents sur la sortie de la bascule bistable 120 sont utilisés en liaison avec le processeur 8086 du calcu- lateur maître et sont raccordés par l'intermédiaire des lignes désignées par FL3, FL4 et FL5. Le tampon 119 ne fait techniquement pas partie du système logique de microprogrammation. Il contient diffé- rents bits d'état qui sont accouplés aux bus internes comme par exemple une erreur de parité dans la ligne 138, des signaux d'états pleins des tampons de sortie et d'entrée et d'autres drapeaux d'états. On va décrire ci-après le tampon de sortie "premier entré-premier sorti". En se reportant rapidement à la figure 1, comme cela a été mentionné, chacun des processeurs délivre des données à l'un des autres processeurs situés dans l'anneau. Chacun des processeurs assume une fonction différente et par conséquent tous les processeurs n'utilisent pas le même intervalle de temps pour assumer leurs fonctions. Une cer- taine compensation est nécessaire afin d'empêcher qu'un processeur d'envoi des données à un autre processeur avant que cet autre processeur soit prêt à recevoir les données. De même, comme cela a été mentionné, le tampon de sortie de chacun des processeurs, tel que le tampon 66 de la figure 2, est un tampon "élastique" (c'est-à-dire qu'il possède une mémoire extensible). Chaque tampon de ce type peut mé- moriser jusqu'à 256 mots à 24 bits. Le processeur introduit les données dans le tampon à la cadence à laquelle les don- nées sont préparées. Les données sont retirées du tampon à la cadence déterminée par le processeur récepteur. En se référant aux figures 7a, 7b et 7c, on voit que les données délivrées par le processeur sont transfé- rées au tampon FIFO (FIFO abréviation retirée de l'anglais First-In, First-Out put before, signifiant tampon de sortie "premier entré-premier sorti") par l'intermédiaire d'un bus interne 60 représenté dans la partie supérieure de la figure 7c. Les données de sortie envoyées au processeur suivant sont transmises a l'intérieur de lignes 51. Les tampons 140, 141 et 142 de la figure 7c réalise une mémo- risation intermédiaire des données arrivant dans le tampon FIFO avant qu'elles soient mémorisées, et réalisent égale- ment une mémorisation intermédiaire des données provenant de cette mémoire en vue de les transmettre dans les lignes 51. Les données situées dans le tampon FIFO sont mémo- risées dans six "microplaquettes" de mémoire (RAM) à accès direct, de façon spécifique les mémoires RAM 144, 145, 146, 147, 148 et 149, représentées sur la figure 7b. Chacune de ces mémoires RAM statiques possède une capacité de 4 k.bits, mais dans la mise en oeuvre réalisée effectivement, deux des lignes de transmission d'adresses de chaque mémoire RAM sont accouplées & la masse et par conséquent les mémoi- res RAM sont utilisées en tant que mémoire RAM à 1 k.bit. Chaque mémoire RAM a accès aux données d'entrée pour chacune des adresses à 8 bits utilisées. Par conséquent pour chaque adresse à 8 bits, il se produit un accès dans une position A 24 bits. Deux pointeurs de mémoire RAM sont utilisés pour identifier les emplacements des données d'entrée et les emplacements des données de sortie. Les compteurs 153 et 154 sur la figure 7a délivrent une adresse & la mémoire RAM, tandis que les compteurs 155 et 156 délivrent une adres- se pour les données de sortie. Les compteurs 153 et 154 sont incrémentés chaque fois qu'un mot à 24 bits est intro- duit dans la mémoire, et de façon similaire les compteurs 155 et 156 sont incrémentés pour chaque mot & 24 bits lus hors de la mémoire. Les compteurs sont effaces lors de l'ini- tialisation avec le signal présent dans la ligne 170, le flux des données envoyées au processeur suivant est commandé par un signal présent dans la ligne 171, les commandes de lecture-enregistrement pour les mémoires RAM sont reçues par l'intermédiaire de la ligne 172 et un signal d'horloge prévu pour les compteurs est envoyé par l'intermédiaire de la ligne 174. Les données ne peuvent pas être simultanément enre- gistrées dans les mémoires RAM 144-149 et en être lues. C'est pourquoi, soit l'adresse d'entrée fournie & partir de l'adresse de sortie délivrée par les compteurs 153 et 154, soit l'adresse d'entrée fournie par l'adresse de sortie délivrée par les compteurs i55 et 156 peut être transmise aux mémoires RAM. Les multiplexeurs 150 et, 151 de la figure 7a sélectionnent soit le pointeur d'entrée, soit le pointeur de sortie pour la transmission aux mémoires RAM. Le comparateur 158 compare le pointeur d'entrée et le pointeur de sortie. De façon plus spécifique il com- pare le nombre compté présent aux sorties des compteurs 153 et 154 au nombre compté présent à la sortie des comp- teurs 155 et 156. Si ces adresses sont égales, les données sont enregistrées dans et lues hors des mêmes emplacements dans les mémoires RAM. Cela signifie que le tampon est soit vide, soit plein. Lorsque cet état se présente, le cir- cuit logique 160 représenté à la partie inférieure des figu- res 7a et 7b détermine si le tampon est plein ou vide et produit des signaux qui indiquent que le tampon est soit plein soit vide (voir le coin inférieur droit de la figure 7c). Si le tampon est vide, les données ne peuvent pas être lues hors du tampon, bien que les données puissent être enregistrées dans le tampon. Inversement si le tampon est plein, les données ne peuvent pas être enregistrées dans le tampon, bien que des données puissent être lues hors du tampon. Ci-après on va décrire le générateur d'adresses de mémoire. Chacun des processeurs comporte un générateur d'a- dresses de mémoire et une unité logique d'interface telle que l'unité 67 de la figure 2. Comme cela a été mentionné précédemment les adresses peuvent être produites pour chaque mémoire de processeur avec une combinaison de signaux prove- nant du microprogramme et du bus de transmission de données. C'est une caractéristique particulièrement importante étant donné que, comme cela va être décrit, ceci accélère la pro- duction des adresses. Un nombre relativement important d'ac- cès en mémoire sont nécessaires pour la mise en oeuvre de l'algorithme, et c'est pourquoi une économie de temps lors de la production des adresses est importante. Chacune des mémoires du processeur est subdivisée en sections. Le microprogramme sélectionne une section (a- dresse de base), tandis que des signaux délivrés par le bus de transmission de données sont utilisés en tant que décalage dans cette section. A titre d'exemple, si la sec- tion de mémoire commence par l'adresse 1000 et que l'empla- cement particulier auquel on s'intéresse à l'intérieur de cette section se situe en 3, le processeur doit ajouter 1000 et 3 pour produire l'adresse 1003 avant d'effectuer l'accès à la mémoire. Comme on le voit, cette opération d'addition est en réalité effectuée en sélectionnant "1000" à partir des lignes de transmission du microprogramme et "3" à partir des lignes de transmission de données pour fournir l'adresse nécessaire sans nécessiter une addition effective. En se référant aux figures 8a et 8b, on voit que le générateur d'adresses est accouplé au bus de transmission de données 60 et reçoit les instructions de microprogrammes à partir de la mémoire RAM de microprogrammes, par l'inter- médiaire des lignes 122. L'adresse de mémoire (A0 à A23) est transmise par l'intermédiaire des lignes 180 et est envoyée à la mémoire pour réaliser l'accès à la mémoire, d'une manière usuelle. Il existe trois colonnes de portes, deux sur la figure 8a et la troisième sur le côté gauche de la figure 8b, qui sont utilisées pour la section de base de l'adresse de mémoire. Les bornes d'entrée de ces portes sont accou- plées en alternance aux bus de transmission de données 60 et aux lignes 122 partant de la mémoire RAM de microprogram- mes. Huit lignes partant de la mémoire RAM de microprogram- mes sont également accouplées aux unités PLA 180 et 182. Les signaux de sortie de ces réseaux sont transmis, en tant que signaux de commande, aux trois colonnes des portes. La sortie des portes fournit les signaux d'adresses A12 à A23. Les réseaux 181, 182 peuvent sélectionner, en réponse à des instructions de microprogrammes, soit une ligne partant du bus de transmission de données, soit une ligne partant de la mémoire RAM de microprogrammes, pour les bases d'adres- ses A12 à A23. Les huit lignes partant du bus de transmission de données 60 (D4-D11) sont accouplées directement à un tampon 183. La sortie de ce tampon délivre les signaux d'adresses A4-A11 qui représentent en général le décalage décrit ci- dessus. La mise en oeuvre efficace de l'algorithme requiert des structures en mémoire, c'est-à-dire le groupement de données associées en des emplacements adjacents. Par exemple pour chaque événement, un numéro de porte, un instant, une nouvelle sortie de porte et un lien sont mémorisés. L'adres- se de base et le décalage sont utilisés pour identifier la structure; quatre bits d'adresses sont utilisés pour identifier des éléments à l'intérieur de la structure. Les bits d'adresses A0 à A3 développés à partir de la colonne des portes représentés sur la partie de droite de la figure 8b sélectionnent les éléments à l'intérieur de la structure. Ces bits d'adresse sont commandés par le microprogramme à partir de l'unité PLA 182 et peuvent être sélectionnés soit à partir du microprogramme, soit à partir du bus de transmission de données. Les lignes de transmission de don- nées D0, D1, D2 et D3 et les lignes de transmission de microprogrammes UC0, UC1, UC2 et UC3 sont accouplées à ces portes. La sélection des bits d'adresses, telle que décrite ci-dessus, impose certaines contraintes au partage de la mémoire en section et au partage des sections en structures. A titre d'exemple une section de mémoire ne peut pas com- mencer à l'adresse 1001. Un décalage ne peut pas être "ajou- té" à cette adresse de base étant donné que l'addition vraie ne peut pas être effectuée par le processus de sélection utilisé par le générateur d'adresses. Cependant une section de mémoire peut commencer a l'adresse 1000 et comporter 240 structures à 4 éléments chacune à titre d'exemple. Ceci n'est pas une contrainte importante par rapport à l'avantage obtenu. Ainsi on a décrit un calculateur esclave qui met en oeuvre un algorithme commandé par les événements. Le traitement effectué par le calculateur esclave est subdivi- sé d'une façon unique et est réalisé au moyen de trois pro- cesseurs qui réalisent une mise en oeuvre hautement efficace de l'algorithme. REVENDICATIONS 1. Système de calculateur utilisé pour la mise en oeuvre d'un algorithme déclenché par les événements, caractérisé en ce qu'il comporte: - un calculateur maître (26-30) réalisant la com- mande d'ensemble dudit système de calculateur et fournis- sant une interface avec l'utilisateur, - un calculateur esclave (39-41; 43, 45, 46, 54- 56) servant à mettre en oeuvre ledit algorithme sous la commande dudit calculateur maître, et comprenant une plura- lité de processeurs (39, 40, 41) destinés à exécuter chacun des pas prédéterminés dudit algorithme, ce calculateur es- clave étant microprogrammable, et - des moyens d'interface (34, 35) servant à réali- ser une interface entre ledit calculateur maître et ledit calculateur esclave, ce qui permet de mettre en oeuvre effi- cacement ledit algorithme déclenché par les événements. 2. Système de calculateur selon la revendication 1, caractérisé en ce que ledit calculateur maître comprend un premier bus (26) et ledit calculateur esclave inclut un second bus (36), lesdits premier et second bus (26, 36) étant acouplés par l'intermédiaire desdits moyens d'inter- face (34, 35), et que ledit second bus (36) est accouplé à chaque processeur de ladite pluralité de processeur (39, 40, 41). 3. Système de calculateur sejon la revendi- cation 2, caractérisé en ce que ladite pluralité de processeurs (39, 40, 41) sont interconnectés par des bus unidirectionnels selon une disposition en anneau (49, 59, 51). 4. Système de calculateur selon la revendication 3, caractérisé en ce que chacun desdits processeurs (39, , 41) comprend un bus (60) de transmission de données et une mémoire (43, 45, 46) et un générateur d'adresses de mémoire (67) qui est branché entre ledit bus de transmis- sion de données (62) et ladite mémoire (43, 45, 46), et que ledit générateur délivre des adresses pour lesdites mémoires, qui sont une combinaison de signaux provenant dudit bus de transmission de données (60) et d'un dispositif de mémorisation de microprogrammes (69). 5. Système de calculateur pour la mise en oeuvre d'un algorithme déclenché par les événements, caractérisé en ce qu'il comprend: - un calculateur maître accouplé & un premier bus (21) en vue de réaliser la commande d'ensemble du système de calculateur et en vue de fournir une interface pour l'uti- lisateur, - un second bus (36), des moyens d'interface (34, 35) servant a réali- ser l'accouplement entre lesdits premier et. second bus (26, 36), - un calculateur esclave servant à mettre en oeu- vre ledit algorithme sous la commande dudit calculateur maître, et incluant une pluralité de processeurs (39, 41) destines chacun à exécuter les pas prédéterminés dudit algo- rithme et étant accouplés chacun audit second bus (26), ce qui permet de mettre en oeuvre de façon efficace ledit algorithme. 6. Système de calculateur selon la revendication 5, caractérisé en ce que chacun desdits processeurs (39, , 41) comprend des moyens de mémorisation de microprogram- mes (69) servant à mémoriser les instructions de micropro- grammes, lesdits moyens de mémorisation étant programmés à partir dudit calculateur maître. 7. Système de calculateur selon la revendication 6, caractérisé en ce que ladite pluralité de processeurs (39, 40, 41) sont interconnectés par l'intermédiaire de bus unidirectionnels (49, 50, 51) selon une disposition en anneau. 8. Système de calculateur selon la revendication 7, caractérisé en ce que chacun desdits processeurs (39, , 41) comporte un tampon premier entrépremier sorti (66) possédant une mémoire extensible. 9. Système de calculateur selon l'une des revendi- cations 5 ou 8, caractérisé en ce que chacun desdits pro- cesseurs (39, 40, 41) comporte un bus de transmission de données (60) et une mémoire interconnectée par un générateur d'adresses de mémoire (67), qui est également accouplé auxdits moyens de mémorisation de microprogrammes (69), ce générateur d'adresses étant apte à produire des adresses qui sont des combinaisons de signaux délivrés par ledit bus de transmission de données (60) et par lesdits moyens de mémorisation de microprogrammes (69), en fonction des- dites instructions de microprogrammes. 10. Calculateur pour la mise en oeuvre d'un algo- rithme déclenché par les événements, qui simule un système, caractérisé en ce qu'il comprend: - une pluralité de processeurs (39, 40, 41) desti- nés chacun à exécuter des pas prédéterminés dudit algori- thme et comprenant chacun: - un bus de transmission de données (60), - une unité logique arithmétique (62) accouplée audit bus de transmission de données (60), - des moyens de mémorisation de microprogrammes (69) et des moyens de décodage (71) servant à commander le fonctionnement dudit processeur et accouplés à ladite unité logique arithmétique (62) et audit bus de transmission de données (60), - une mémoire, - un générateur d'adresses de mémoire (67) accou- plé entre ledit bus de transmission de données et ladite mémoire, ledit générateur d'adresses étant également accou- plé auxdits moyens de mémorisation de microprogrammes (68), ledit générateur étant destiné à délivrer des adresses pour ladite mémoire, qui sont une combinaison de signaux prove- nant dudit bus de transmission de données (60) et desdits moyens de mémorisation de microprogrammes (68), sur la base d'instructions délivrées par ces derniers, ce qui permet de réaliser une mise en oeuvre efficace dudit algorithme. 11. Calculateur selon la revendication 10, carac- térisé en ce que chacun desdits processeurs (39, 40, 41) est accouplé aux autres processeurs selon un agencement en anneau par l'intermédiaire de bus unidirectionnels (49, , 51). 12. Calculateur selon la revendication 11, carac- térisé en ce que chacun desdits processeurs comporte un tampon premier entré-premier sorti (66) muni d'une mémoire extensible pour réaliser l'accouplement avec un autre des- dits processeurs. 13. Calculateur pour la mise en oeuyre d'un algori- thme déclenché par les évènements, qui simule un système, caractérisé en ce qu'il comprend: - un premier, un second et un troisième proces- seurs (39, 40, 41), parmi lesquels le second processeur (40) est accouplé de manière & recevoir des signaux de la part dudit premier processeur (39), ledit troisième proces- seur (41) est accouplé de manière à recevoir des signaux. dudit second processeur (40), et ledit premier processeur (39) est accouplé de manière a recevoir des signaux dudit troisième processeur (41) , - ledit premier processeur (39) comportant une première mémoire (43) servant à mémoriser l'état des élé- ments situés dans ledit système, dans une pluralité d'inter- valles prédétermines, - ledit second processeur (40) comportant une se- conde mémoire (45) servant à mémoriser les caractéristiques de comportement d'éléments situés dans ledit système lors de l'apparition desdits évènements, - ledit troisième processeur (41) comportant une troisième mémoire (46) servant a mémoriser une information représentative de modifications apportées auxdits éléments situés dans ledit système pendant certains desdits interval- les, pendant lesquels lesdits modifications apparaissent, - lesdits premier, second et troisième processeurs (39, 40, 41) étant accouplés de manière à traiter les con- tenus de leurs mémoires respectives (43, 45, 46) en réponse à des signaux reçus en provenance respectivement dudit se- cond, troisième et premier processeurs, ce qui permet d'ob- tenir une mise en oeuvre efficace dudit algorithme de simu- lation, déclenché par les événements. 14. Calculateur selon la revendication 13, carac- térisé en ce que ladite troisième mémoire (46) mémorise également certaines caractéristisques de comportement des- dits éléments. 15. Calculateur selon la revendication 13, carac- térisé en ce que chacun desdits processeurs (39, 40, 41) inclut également: - un bus (60), - un tampon d'entrée premier entré-premier sorti (65) accouplé audit bus (60), - un tampon de sortie premier entré- premier sorti (66) accouplé audit bus, - une unité logique arithmétique (62) accouplée audit bus (60), - des moyens de mémorisation de microprogrammes (69) servent à mémoriser des instructions de microprogrammes et qui sort accouplés audit bus (60), - des moyens décodeurs (71) servant à décoder des instructions délivrées par lesdits moyens de mémorisation demicropgrammes(69) et accouplés à ces moyens, et - des moyens de production d'adresses (67) bran- chés entre ledit bus et ladite mémoire pour la production d'adresses de mémoire. 16. Calculateur selon la revendication 15, carac- térisé en ce que lesdits moyens de production d'adresses (67) sont accouplés auxdits moyens de mémorisation de micro- programmes (68) et agissent sous la commande de ces moyens (68) de manière à produire lesdites adresses de mémoire qui sont des combinaisons de signaux provenant dudit bus (60) et de signaux provenant desdits moyens de mémorisation de microprogrammes (68). 17. Calculateur selon l'une des revendications 13 ou 16, caractérisé en ce qu'il comporte un calculateur de commande servant a commander le fonctionnement dudit calculateur et comprenant des moyens pour réaliser une inter- face de liaison avec un utilisateur.