Brevet FR2414754A1 — publié le 19790810

La présente invention concerne les dispositifs de traitement de l'information et plus particulièrement les ordinateurs programsables. Elle peut être appliquée à des calculatrices universelles et à des dispositifs de commande de processus technologiques et d'objets physiques. Les ordinateurs de classe moyenne doivent satisfaire à un certain nombre de conditions. Tout en restant peu encombrants et d'une structure simple, d'une consommation électrique réduite et d'une fiabilité élevée, ils doivent présenter une grande rapidité de traitement et une bonne souplesse de fonctionnement. De plus, étant donné le volume important de logiciel coûteux accumulé à l'heure actuelle, les nouvelles machines doivent pouvoir concurrencer d'une façon efficace des machines plus anciennes. Ainsi, le problème consiste à l'heure actuelle à doter les ordinateurs d'une structure permettant aux matériels d'un mbme type d'assimiler des jeux d'instructions différents gracie au changement de mémoire de microprogrammes et cela de manière que l'efficacité de la machine reste élevée et qu'un jeu d'instructions universel soit exécuté plus vite que dans des machines de même classe bâties autour de structures traditionnelles. Il existe des ordinateurs comportant une mémoire servant à stocker l'information de programme et dont l'entrée d'information est raccordée à un bus de données destiné à transférer les opérandes, les instructions et les résultats partiels et finals qui sont mémorisés et décalés lors du traitement, un bloc de registres de commande servant à mémoriser les instructions et le mot d'état du programme et dont l'entrée de commande est raccordée à la sortie d'un bloc de commande dont l'entrée est reliée à la sortie d'une mémoire d'information de commande qui reçoit sur son entrée d'adresse l'adresse d'une micro-instruction suivante et qui se trouve en liaison électrique avec la sortie du bloc de registres de commande.La machine contient également un bloc de calcul dont la sortie d'information est raccordée au bus de données où aboutissent à leur tour l'entrée d'information et la sortie d'information d'un bloc d'échange de données, un bloc d'adresse de données dont l'entrée d'information est reliée électriquement à la sortie d'infornation du bloc de registres de commande, son entrée de commande tant raccordée à la sortie du bloc de commande, couplée aussi aux entrées de commande de la mémoire d'information de programme, du bloc d'échange de données et du bloc de calcul. L'autre entrée de commande du bloc de calcul est raccordée à l'autre sortie de la mémoire d'information de commande, raccordée également à l'entrée d'adresse de la mémoire d'information de programme. Dans cet ordinateur existant, le cheminement de l'information au cours du traitement est fixé rigidement et n'autorise qu;'un nombre limité de variantes. En arithmétique, un opérande s'applique à une entrée du bloc de calcul (de l'additionneur) et un autre opérande à son autre entrée, le résultat étant transféré à travers le dispositif de décalage de l'additionneur et le registre de sortie vers le bus de sortie (bus de l'additionneur). Le décalage d'information s'opère lors du transfert de l'information à travers ledit dispositif de décalage de l'additionneur qui permet de décaler vers la gauche ou vers la droite une information longue d'un mot seulement ou d'un ou de quatre bits.Tous les autres décalages doivent astre effectués par itérations des décalages ci-dessus.Le sens du décalage et le nombre de bits de décalage sont indiqués par des rrllcrcrordres concrets. Pour porter le format de l'information à décaler à un double mot, il est prévu un groupe de quatre bascules de dépassement servant à mémoriser un bit ou des bits décalés par la sortie extr#me gauche ou extrtme droite de l'additionneur. Les bits de dépassement ou bits déplacés, peuvent autre rangés dans les positions du registre de sortie libérées par le décalage du mot suivant. De cette manière, le décalage de l'information en double mot se fait en plusieurs étapes. Dans la machine existante, les opérandes, les instructions et les résultats partiels et finals sont mémorisés dans la mémoire interne. La mémoire interne est divisée en plusieurs zones dont l'une sert à stocker des résultats partiels, deux autres zones étant réservées à l'information de programme. La mémoire interne peut être lue pour être appliquée à l'un de deux registres tampons, l'écriture dans la mémoire interne s'effectuant soit à partir de ces registres soit à partir de bascules de stockage temporaire. En un cycle de mémoire interne, il est ainsi possible de ne lire et écrire qu'un seul mot d'information, ce qui rend moins rapide la machine existante. Le traitement logique des données est exécuté par un bloc spécial de traitement logique par octet. Ce bloc possède un nombre limité de fonctions et de liaisons avec les registres et les blocs de la machine. En raison du petit format de l'information pouvant être traitée à la fois (un quart de mot), la vitesse de traitement de la machine est insuffisante pour l'exécution des opérations appartenant à une certaine classe. La présence d'un matériel autonome doté de liaisons spécifiques et utilisé à temps partiel de l'ordinateur est, par ailleurs, à l'origine d'une structure moins régulière, d'une fiabilité moins bonne et d'une gestion plus compliquée. La machine existante présente comme autre inconvénient le fait de posséder des bus qui sont distincts pour les données et pour les adresses et étroitement spécialisés, c'est-à-dire dotés de longueurs de données différentes et de liaisons spécifiques. La banalisation des bus est impossible du fait qu'ils n'ont pas de liaisons adaptées tant au transfert de données qu'au transfert d'adresses. Dans la machine existante, les échanges de données internes s'effectuent soit par mots complets d'un format standard adopté, soit par fractions de celui-ci, par exemple par octets ou demioctets, les liaisons fractionnaires indiquées étant rigides. Etant donné la structure de la machine existante, ces liaisons fractionnaires s'imposent et elles ne concernent que les circuits et les registres où elles sont indispensables. De telles liaisons fractionnaires sont difficiles à contrôler car le déclenchement des portes respectives réalisant les liaisons fractionnaires nécessite des micro- ordres spéciaux et donc un équipement de commande spécial d'où une fiabilité moindre de la machine et un contrôle plus compliqué. La présence d'un nombre limité et bien déterminé de liaisons fractionnaires gêne le traitement de l'information, ces liaisons ne desservant que les transferts les plus fréquents. Le transfert en un format autre que celui prévu par le matériel est impossible, et cela d'autant plus que les machines existantes sont incapables de servir comme outil universel de traitement de l'information du fait que, le jeu d'instructions ou d'algorithmes une fois changé, le manque de quelques liaisons fractionnaires se fait sentir immédiatement. Le nombre de liaisons en format complet entre les blocs est également limité et soumis aux algorithmes de traitement. Le transfert est donc effectué souvent par étapes à travers une channe de registres et par dérivation ce qui, en plus d'être fort préjudidable à la vitesse de traitement, détériore la polyvalence. Dans la machine existante, le traitement logique des données est localisé dans le bloc de traitement logique par octet. Il en résulte qu'un problème fréquent d'obtention d'un résultat partiel de traitement des parties de deux opérandes se divise en plusieurs étapes, à savoir des étapes d'obtention individuelle des parties de chaque opérande dans le bloc de traitement logique par octet, suivies d'une étape d'obtention du résultat proprement dit, et enfin, d'une étape d'obtention du résultat partiel.L'impossibilité de traitement logique lors des transferts dans les machines existantes (sauf le décalage) réduit d'une manière significative leur capacité de traitement. Un autre inconvénient de la machine existante est que sa mémoire interne ne permet ni d'appeler deux ou plusieurs opérandes stockés à deux ou à plusieurs adresses, ni d'envoyer le résultat de leur traitement à une troisième adresse. Un désavantage substantiel de la machine existante consiste dans le fait que l'orientation très spécifique de son organisation et l'hétérogénéité des liaisons internes la rendent mal adaptée aux techniques d'intégration poussée. En outre, le contrôle global des liaisons internes implique la présence d'organes de contrôle sur chaque liaison; or, étant donné l'individualité de ces liaisons, l'équipement de contrôle est à son tour hétérogène. La quantité de cet équipement de contrôle dans l'ensemble de la machine est donc importante, ce qui fait augmenter la probabilité de défaillance. La présente invention vise à mettre au point un ordinateur comportant des blocs et des liaisons entre ceux-ci qui permettent d'améliorer la régularité de sa structure, d'augmenter sa rapidité de traitement et de simplifier sa gestion. Le problème posé est résolu à l'aide d'un ordinateur comprenant s une mémoire d'information de programme dont l'entrée d'information est raccordée à un bus de données destiné au transfert des opérandes, des instructions et des résultats partiels et finals qui lors du traitement sont mémorisés et décalés; un bloc de registres de commande, prévus pour stocker les instructions et le mot d'état du programme, l'entrée de commande de ce bloc étant reliée à la sortie d'une unité de commande dont l'entrée est raccordée à la sortie d'une mémoire d'information de commande qui reçoit sur son entrée d'adresse l'adresse de la micro-instruction suivan- te et qui est reliée à la sortie dudit bloc de registres de commande; une unité de calcul dont la sortie d'information est rac cordés à un bus de données auquel aboutissent également l'entrée d'information et la sortie d'information d'une unité d'échange de données; une unité d'adresse de données dont l'entrée d'information est déliée à la sortie d'information du bloc de registres de commande, son entrée de commande étant connectée à la sortie de l'unité de commande raccordée à son tour aux entrées de commande de la mémoire d'information de programme, de l'unité d'échange de données et de l'unité de calcul dont l'autre entrée de commande est raccordée à une autre sortie de la mémoire d'information de commande connectée également à l'entrée d'adresse de la mémoire d'infor mation de programme, ledit ordinateur étant caractérisé en ce qu'il comporte en outre deux bus de données supplémentaires, une mémoire temporaire servant à conserver les données pendant l'exécution d'une instruction et dont les entrées et les sorties d'information sont raccordées aux bus principal et supplémentaires; un dispositif de décalage de données dont l'une des entrées d'information ~st raccordée au bus de données principal, ses autres entrées d'information et ses autres sorties d'information étant raccordées aux bus de données supplémentaires; un bloc de masquage des données dont les sorties d'information sont raccordées aux bus de données principal et supplémentaire ; un dispositif de formation de l'adresse de la micro-instruction suivante dont l'entrée d'adresse Initiale est raccordée à la sortie du bloc de registres de commande dont la sortie est reliée à l'entrée d'adresse de la mémoire d'information de commande, son entrée d'adresse étant raccordée à la sortie de la mémoire d'information de commande qui est raccordée à l'entrée d'adresse de la mémoire d'information de programme, à l'entrée d'information du masque et à l'entrée d'adresse de la mémoire temporaire; un bus de tests destiné au transfert de l'information sur 1'état de la mémoire temporaire stockant les données durant l'exécution d'une instruction, de la mémoire d'information de programme, du bloc de registres de commande, de l'unité de calcul, du dispositif de décalage de données et du dispositif de fornation de l'adresse de la micro-instruction suivante en réponse à une demande émise par le dispositif de formation d'adresse de la micro-instruction suivante et raccordée aux sorties de tests de ladite mémoire temporaire, de la mémoire dtinformation de program ne, du bloc de registres de commande, de l'unité de calcul, du dispositif de décalage de données ainsi qu'à l'entrée et à la sortie de test du dispositif de formation de l'adresse de la micro instruction suivante, les bus de données supplémentaires étant raccordés également aux sorties d'information de la mémoire d'information de programme, aux entrées et aux sorties d'information du bloc de registres de commande, aux entrées d'information de l'unité de calcul, aux sorties d'information de la mémoire d'information de commande, aux entrées et aux sorties d'information de l'unité d'échange de données, aux entrées et aux sorties d'information de l'unité d'adresse des données, le bus de données principal étant raccordé à la sortie d'information de la mémoire d'information de commande, à une autre entrée et à une autre sortie d'information de l'unité d'adresse des données, la sortie de l'unité de commande étant raccordée aux entrées de commande du bloc de masquage, du dispositif de formation de l'adresse de la micro-instruction suivante, de la mémoire temporaire et du dispositif de décalage de données. Il est avantageux que les bus de données principal et supplémentaires comportent dans chaque bit un circuit de mémorisation des données pendant l'exécution d'au moins une micro-instruction. Il est également avantageux que le circuit de mémorisation des données pendant l'exécution d'au moins une micro-instruction, qui délivre le signal de transfert des données masquées et non masquées, comporte au moins une section de chaque bit des bus de données principal ou supplémentaires pour le transfert bidirectionnel des données, un élément logique NON-ET servant au transfert des données masquées ayant l'une de ses entrées formant l'entrée du circuit de mémorisation des données raccordée à la sortie d'information respective du dispositif de masquage, ses autres entrées, dont le nombre est égal à celui des sections du bus de données, étant raccordées à la section respective du bus de données et sa sortie constituant la sortie du circuit de mémorisation des données; des éléments logiques NON-ET à deux entrées dont le nombre est égal à celui des sections du bus de données, l'une des entrées de chacun desdits éléments NON-ET étant raccordée à la sortie de l'élément logique NON-ET servant au transfert des données masquées, l'autre entrée de chacun desdits éléments NON-ET formant l'entrée du circuit de mémorisation des données étant reliée à la sortie d'information respective de la mémoire d'information de commande, leurs sorties étant raccordées aux entrées des éléments logiques NON-ET destinés au transfert des données masquées; un élément logique NON-ET servant au transfert des données non masquées, les entrées dudit élément NON-ET, dont le nombre est celui des sections du bus de données, étant raccordées aux sections respectives du bus de données et sa sortie formant la sortie du circuit de mémorisation des données; un élément logique NON-ET à deux entrées supplémentaires, l'une des entrées dudit élément NON-ET formant l'entrée du circuit de mémorisation des données étant reliée à la sortie d'information respective de la mémoire d'informationde commande, son autre entrée étant raccordée à la sortie de l'élément logique NON-ET destiné au transfert des données non masquées, et sa sortie étant reliée à l'une des sections du bus de données, et un circuit de rétablissement du niveau logique "1" des sections du bus de données couplé avec cette sortie et raccordé à une source de potentiel fournissant un Aln logique et à une source de potentiel fournissant un "0" logique. Il est avantageux que l'ordinateur comporte un convertisseur de nombres d'un système de numération à un autre dont les entrées d'information sont raccordées au bus de données principal et au premier des bus de données supplémentaires, sa sortie d'information étant raccordée à l'autre bus de données supplémentaire et son entrée de commande étant raccordée à la sortie de l'unité de commande. Il est utile que le dispositif de décalage de données contienne deux registres à décalage des données, les entrées et les sorties d'information de chacun desdits registres formant les entrées et les sorties d'information du dispositif de décalage de données, les entrées et les sorties d'information du premier d'en autre eut étant raccordées aux bus de données supplémentaires, l'entrée et la sortie d'information du deuxième registre étant raccordées à l'un des bus de données supplémentaires, tandis que son autre entrée d'information est raccordée au bus de données principal et servant d'entrée d'information au dispositif de décalage de données.Ce dernier comporte avantageusement également un registre de chiffre de quotient dont la sortie d'information est raccordée à celui des bus de données supplémentaires auquel est raccordé le premier registre à décalage des données, deux unités de commande du décalage des données, la sortie de commande de la première desdites unités étant raccordée à l'entrée de commande du registre de chiffre de quotient, sa sortie de test formant la sortie de test du dispositif de décalage de données, son entrée d'information étant raccordée au bus de données principal et ses deux autres entrées et sorties étant raccordées aux deux registres à décalage des données, la sortie de la deuxième unité de commande étant raccordée au deuxième registre à décalage des données, et les entrées d'information du registre de chiffre de quotient constituant alors les entrées du dispositif de décalage de données et étant raccordées à l'unité de calcul et à la mémoire d'information de commande, les entrées de commande des deux registres à décalage des données, des unités de commande et une autre entrée de commande du registre de chiffre de quotient étant reliées entre elles de manière à former l'entrée de commande du dispositif de décalage de données. Selon une autre caractéristique de l'invention, le bloc de masquage comporte au moins deux registres de masquage, les entrées d'information desdits registres ayant un point commun servant d'entrée d'information au bloc de -masquage qui contient un commutateur comportant deux entrées raccordées aux sorties des deux registres de masquage, sa troisième entrée étant branchée aux entrées interconnectées des registres de masquage, tandis que ses sorties constituent les sorties d'information du bloc de masquage, auquel cas les entrées de commande de deux registres de masques et du commutateur ont un point commun formant ltentrée de commande du bloc de masquage. Selon une autre caractéristique, l'ordinateur comporte une unité de diagnostic destinée à localiser les pannes, l'entrée et la sortie d'information de ladite unité de diagnostic étant raccordées au bus de données principal, son entrée et sa sortie de commande étant raccordées à l'unité de commande, son entrée d'adresse étant raccordée à la sortie du dispositif de formation de l'adresse de la micro-instruction suivante, son entrée d'inhibition étant raccordée à la sortie du bloc de registres de commande reliée à l'entrée d'adresse initiale du dispositif de formation de l'adresse de la micro-instruction suivante, l'entrée de contrôle de l'uni- té de diagnostic étant raccordée aux bus de données principal et supplémentaires et aux sorties de contrôle du dispositif de décalage de données, de l'unité de calcul, du bloc de registres de commande, de la mémoire d'information de programme, de la mémoire temporaire, de la mémoire d'informationde commande, du dispositif de formation de l'adresse de la micro-instruction suivante, de l'unité d'échange de données, de l'unité d'adresse des données et du bloc de masquage, auquel cas la sortie de l'unité de diagnostic forme une sortie supplémentaire de l'ordinateur et sa sortie d'adresse étant raccordée à l'entrée d'adresse du dispositif de formation de l'adresse de la micro-instruction suivante et à 1'en- trée d'adresse de l'unité d'adresse de données. Il est avantageux que ladite mémoire temporaire stockant les données pour la durée d'exécution d'une micro-instruction comporte un bloc de mémoire de données munie d'entrées et de sorties d'information en nombre égal à celui des bus de données principal et aupplmentaires, chacune de ces entrées et de ces sorties étant raccordée au bus de données respectives, la mémoire temporaire comportant également trois commutateurs servant à la commutation de l'adresse d'écriture des données en provenance du bus de données respectif, les sorties de ces commutateurs étant raccordées aux entrées respectives du bloc de mémoire de données, trois commutatours servant à la commutation de l'adresse de lecture des données pour le bus de données respectif et dont les sorties sont raccordes également aux entrées respectives du bloc de mémoire de données, un bloc de compteurs destiné à la modification d'adresse du bloc de mémoire de données et dont la sortie est reliée à l'entrée de chaque commutateur, un registre d'information de commande dont la sortie d'information est raccordée à l'entrée de commande de chaque cosinutateur, l'entrée de commande dudit registre d'information de commande étant reliée à l'entrée de commande du bloc de compteurs de manière à former l'entrée de commande de la mémoire temporaire auquel cas les entrées d'information du registre d'information de commande et du bloc de compteurs ont un point commun constituant l'entrée d'adresse de la mémoire temporaire et l'autre entrée de chaque commutateur forme également l'entrée d'adresse de l'ensemble de la mémoire temporaire stockant les données pour la durée d'exécution d'une instruction. La présente invention permet d'améliorer la régularité de la structure de l'ordinateur et d'augmenter sa rapidité de traitement. En outre, elle simplifie la gestion de l'ordinateur, réduit l'équipement et améliore la fiabilité de l'ordinateur. D'autres caractéristiques de l'invention apparaîtront au cours de la description qui va suivre, donnée uniquement à titre d'exemples et faite en se référant aux dessins annexés sur les quels 2 - la Fig. 1 représente le schéma fonctionnel de l'ordinateur selon l'invention; - la Fig. 2 montre le circuit de mémorisation des données pendant I1 exécution d'au moins une micro-instruction, selon l'invent ion; - la Fig. 3 est un diagramme des temps du fonctionnement du circuit de mémorisation des données selon l'invention; - la Fig. 4 montre le schéma fonctionnel du dispositif de décalage de données selon l'invention; - la Fig. 5 montre un schéma fonctionnel du bloc de masquage selon l'invention;; - la Fig. 6 est un schéma fonctionnel de la mémoire temporaire stockant les données durant ltexécution d'une instruction, selon l'invention; - la Fig. 7 montre un schéma du bloc de mémoire de données de la mémoire temporaire selon l'invention. L'ordinateur selon l'invention comporte une mémoire d'information de programme 1 (Fig. 1) dont l'entrée d'information 2 est raccordée à un bus de données 3, ses sorties d'information 4 et 5 étant raccordées à des bus de données 6 et 7 respectivement. La machine comporte également une unité de commande 8 dont les sorties sont raccordées aux entrées de commande d'une mémoire temporaire 9 conservant les données durant l'exécution d'une instruction, de la mémoire 1, d'un bloc de registres de commande 10, d'une unité de calcul 11, d'un dispositif de décalage de données 12, d'un bloc de masquage 13, d'une unité d'adresse des données 14, d'une unité d'échange de données 15 et d'un dispositif 16 de formation d'adresse de micro-instruction suivante.L'entrée de l'unité de commande 8 est raccordée à une sortie 17 d'une mémoire d'information de commande 18 dont l'autre sortie est respectivement reliée aux entrées d'adresse 19, 20 et 21 de la mémoire temporaire 9, de la mémoire 1 et du dispositif 16 de formation d'adresse de micro-instruction suivante, à une autre entrée de commande 22 de l'unité de calcul il et à une entrée d'information 23 du bloc de masquage 13, les sorties d'information 24, 25 et 26 de la mémoire d'information de commande 18 étant raccordées respectivement aux bus de données 3, 6 et 7. Une entrée d'adresse 27 de la mémoire 18 est raccordée à la sortie du dispositif 16 de formation de l'adresse dont l'entrée d'adresse initiale 28 est reliée à la sortie du bloc de registres de commande 10, son entrée et sa sortie de test 29 étant raccordées à un bus de tests 30.Ce dernier est également raccordé à des sorties de test 31, 32, 33, 34 et 35 de la mémoire temporaire 9, de la mémoire 1, du bloc de registres de commande 10, de l'unité de calcul 11 et du dispositif de décalage de données 12, respectivement. Les bus de données 3, 6 et 7 sont raccordés aux entrées et .aux sorties dtinformation 36 de la mémoire temporaire 9, aux entrées et aux sorties d'information 37 du bloc d'échange de données 15, aux entrées et aux sorties d'information 38 de l'unité d'adresse des données 14, ainsi qu'aux sorties d'information 39 du bloc de masquage 13. Les bus de données 6 et 7 sont raccordés aux entrées et aux sorties d'information 40 du bloc de registres de commande 10, aux entrées et à des sorties d'information 41 du dispositif de décalage de données 12 et à des entrées d'information 42 de l'unité de calcul 11.Le bus de données 3 est relié à une sortie d'information 43 de l'unité de calcul 11 et à une entrée d'information 44 du dispositif de décalage de données 12. Une entrée 45 de l'ordinateur est formée par l'entrée de l'u nité d'échange de données 15, son autre entrée 46 étant formée par l'entrée de l'unité d'adresse de données 14. Une sortie 47 de l'ordinateur est constituée par la sortie de l'unité d'échange de données lr, son autre sortie 48 étant formée par la sortie de l'unité d'adresse des données 14. Chacun des bus de données 3, 6 et 7 comporte dans chaque bit un circuit de mémorisation des données pendant l'exécution d'au soins une micro-instruction. Ce circuit qui délivre un signal de 'transfert des données masquées et non masquées contient au moins une section de chaque bit de l'un des bus bidirectionnels. La variante décrite ci-dessous du circuit de mémorisation des données est la même pour tous les bus de données 3, 6 et 7. Le circuit comporte une section 49 (Fig. 2) de l'un des bus de données, raccordée à une entrée 50 d'un élément logique NON-ET 51 servant au transfert des données masquées et dont une autre en trée 52 constitue l'entrée du circuit de mémorisation des données raccordée à la sortie 39 respective du bloc de masquage 13 (Fig. 1). Les autres entrées 53 et 54 (Fig. 2) de l'élément logique NON-ET 51 -sont raccordées à d'autres sections 55 et 56 du même bus de don nées. La sortie 57 de l'élément logique NON-ET 51 forme la sortie du circuit de mémorisation des données raccordée aux entrées d'éléments logiques NON-ET à deux entrées dont le nombre est égal à -celui des sections du bus de données, c'est-à-dire à des entrées 58 d'éléments logiques NON-ET 59, 60 et 61 à deux entrées. Une au tre entrée 62 des éléments logiques NON-ET 59, 60 et 61, qui sert comme autre entrée au circuit de mémorisation des données, est raccordée à la sortie respective de la mémoire d'information de commande 18, les sorties des éléments logiques NON-ET 59, 60 et 61 étant raccordées aux entrées respectives 50, 53 et 54 de l'élément logique NON-ET 51. Les sections 49, 55 et 56 du bus de données sont raccordées à des entrées 63, 64 et 65 d'un élément logique NON-ET 66 destiné à permettre le transfert respectif des données non masquées et dont la sortie 67 forme la sortie du circuit de mémorisation des données et est reliée à une entrée 68 d'un élément logique NON-ET supplémentaire 69 à deux entrées. Une autre entrée 70 de l'élément logique NON-ET 69, qui constitue la troisième entrée du circuit de mémorisation des données, est couplée à la sortie respective de la mémoire d'information de commande 18. La sortie 71 de l'élément logique NON-ET 69 est raccordée à la section 49 du bus de données. Chacune des sections 49, 55 et 56 du bus de données est à son tour raccordée à un circuit 72 de rétablissement du niveau logique "1" des sections 49, 55 et 56, ce circuit comportant des résistances 73 et 74 et étant raccordé par l'une de ses sorties 75 à une source 76 de potentiel de niveau logique "t" et par son autre sortie 77, à une source de potentiel de niveau logique "0" formée par la masse de l'ordinateur. Ce dernier contient également un convertisseur de nombres d'un système de numération à un autre 78 (Fig. 1) dont la première entrée d'information est raccordée au bus de données 3, sa deuxième entrée d'information 79 étant raccordée au bus de données 7, sa sortie 80 étant reliée au bus de données 6 et son entrée de commande 81 étant raccordée à la sortie de l'unité de commande 8. Pour mieux faire comprendre le principe de l'ordinateur suivant l'invention, on examinera la Fig. 3 qui représente un diagramme des temps a à g dans lequel la tension U représentée par les niveaux logiques "1" et "0" est traçée en fonction du temps t en cycles. La courbe a montre une suite d'impulsions d'horloge représentant le premier demi-cycle de fonctionnement de la machine. La courbe b représente une suite d'impulsions d'horloge déterminant le deuxième demi-cycle de fonctionnement de la machine. La courbe c montre le signal de rétablissement du niveau logique n 1 n des sections d'un bus de données. La courbe d représente la variation de potentiel sur l'une des sections d'un bus de données à la lecture d'un won logique. La courbe e montre la variation de potentiel sur une autre section du bus de données à la lecture d'un "O" logique. La courbe f représente la variation de potentiel sur la troisième section du bus de données à la lecture d'un "O" logique. Enfin, la courbe s montre le signal de chargement des registres à partir d'un bus de données. Le dispositif de décalage de données 12 (Fig. 4) selon l'in vention comporte un registre 82 à décalage des données dont des entrées et des sorties d'information 83 et 94 forment les entrées et les sorties d'information du dispositif 12 de décalage de données et sont raccordées aux bus de données 6 et 7 respectivement. Le bus de données 6 est raccordé également à une entrée et à une sortie d'information 85 d'un autre registre 86 à décalage des données, une entrée d'information 87 de ce registre 86 étant reliée au bus de données 3.Il faut noter à ce propos que l'entrée et la sortie d'informatia 85 et l'entrée d'information 87 du registre 86 constitubent égal-ent les entrées d'information et la sortie d'information du dispositif de décalage de données 12. Une sortie 88 d'un registre 89 4. chiffre suivant de quotient est raccordée au bus de données 7. Des entrées d'information 90 et 91 du registre 89 for Pant des entrées supplémentaires du dispositif de décalage 12 sont raccordées à l'unité de calcul Il et à la mémoire d'information de commande 18.L'une des entrées de commande 92 du registre 89 de chiffre suivant de quotient est raccordée à une sortie de commande 93 de 1unité 94 de commande de décalage des données dont une sortie de test 95 forme la sortie de test du dispositif de décalage de données 12, sortie qui est raccordée au bus de tests 30 (Fig.1). Une entrée d'information 96 (Fig. 4) de l'unité 94 de commande de décalage de données est raccordée au bus de données 3, ses autres entrées et ses autres sorties 97 et 98 étant reliées aux registres à décalage des données 82 et 86, respectivement. Une sortie 99 d'un autre bloc 100 de commande de décalage de données est raccor d#e à une entrée 101 du registre à décalage des données 86. Des entrées de commande 102 des registres 86, 82 et 89 et des blocs 94 et 100 de commande de décalage des données sont reliées par une entrée de commande 103 du dispositif de décalage de données 12 à l'unité de commande 8 (Fig. 1). Corme indiqué ci-dessus, l'ordinateur contient un bloc de masquage 13 (Fig. 5) dont une entrée d'information 104 est raccor dée à la sortie de la mémoire d'informationde decommande 18. L'en- trée 104 est formée par un point commun à des entrées d'information 103 et 106 auxquelles est reliée respectivement une entrée 107 de registres de masquage 108 et 109 et d'un commutateur 110. D'autres entrées 111 et 112 du commutateur 110 sont raccordées aux sorties des registres 108 et 109, respectivement; ces sorties forment les sorties d'information 113, 114 et 115 du bloc de masquage 13 et sont raccordées respectivement aux bus de données 3, 6 et 7. Les entrées de commande des registres 108 et 109 et du commu- tateur 110 sont reliées entre elles de manière à former une entrée de commande 116 du bloc de masquage 13 raccordée à l'unité de commande 8 (Fig. 1). La machine contient également une unité de diagnostic 117 (Fig. 1) prévue pour localiser les pannes et dont les entrées d'information et une sortie d'information 118 sont raccordées au bus de données 3. L'entrée et la sortie de commande 119 de l'unité de diagnostic 117 sont raccordées à l'unité de commande 8, l'entrée d'adresse 120 étant reliée à la sortie du dispositif 16 de formation d'adresse de la micro-instruction suivante, l'entrée d'inhibition 121 étant raccordée à la sortie du bloc de registres de commande 10 qui est raccordée à l'entrée 28 du dispositif 16, son entrée de contrôle 122 étant reliée à des sorties de contrôle 123 de la mémoire de données 9, de la mémoire 1, du dispositif de décalage de données 12, du bloc de registres de commande 10, du bloc de calcul 11, de la mémoire d'information de commande 18, du dispositif 16 de formation d'adresse de la micro-instruction suivante, de l'unité d'échange de données 15, de l'unité d'adresse de données 14, du bloc de masquage 13 ainsi qu'aux bus de données 3, 6 et 7. Une sortie 124 du bloc de diagnostic 117 sert de sortie a l'ordinateur, sa sortie d'adresse 125 étant reliée à des entrées d'adresse 126 et 127, respectivement, de l'unité d'adresse des données 14 et du dispositif 16 de formation d'adresse de la micro-instruction suivante. La mémoire temporaire 9 selon l'invention comporte un bloc de mémoire de données 128 (Fig. 6) dont les entrées d'information et les sorties d'information 36 sont reliées respectivement aux bus de données 3, 6 et 7. La mémoire 9 comporte également des commutateurs 129, 130 et 131 destinés à la commutation de l'adresse d'écriture des données du bus de données 3, 6 ou 7 respectif. Les sorties 132, 133 et 134 de ces commutateurs sont raccordées respectivement aux entrées d'adresse d'écriture du bloc de mémoire 128. La mémoire comporte également des commutateurs 135, 136 et 137 permettant la commutation de l'adresse de lecture des données pour le bus de données respectif 3, 6 ou 7, les sorties 138, 139 et 140 ces commutateurs 135, 136 et 137 étant raccordées aux entrées 4'adresse de lecture du bloc de mémoire de données 128. Des entrées d'adresse 141 des commutateurs 129, 130, 131, 135, 136 et 137 constituant les entrées d'adresse de la mémoire temporaire 9 sont reliées à la sortie de la mémoire d'information de commande 18; d'autres entrées d'adresse 142 des commutateurs 129, 130, 131, 135, 136 et 137 sont raccordées à la sortie d'un bloc de compteurs 143 dest#iné à modifier l'adresse du bloc de mémoire de données 128.Des entrées de commande 144 à 149 des commutateurs 129, 135, 130, 136, 131 et 137 sont respectivement reliées à une sortie d'information 150 d'un registre d'information de commande 151 de la mémoire 9. pes entrées d'information 152 et 153 du bloc de compteurs 143 et du registre 151, respectivement, sont connectées entre elles pour for ler une entrée d'adresse 154 de la mémoire 9, entrée qui est raccordée à la sortie de la mémoire d'information de commande 18. L- entrée de commande du registre 151 qui est raccordée à l'entrée du bloc de compteurs 143 sert dtentrée de commande 155 à la mémoire 9 raccordée à la sortie de l'unité de commande 8 (Fig. 1). Le bloc de mémoire de données 128 (Fig. 6) est réalisé sous la #forme d'une matrice constituée de cellules 156 (Fig. 7) formant une Structure matricielle homogène. Les entrées d'information et les sorties d'information 157 de ces cellules sont raccordées à un bus d'informatlon 158; des entrées d'adresse d'écriture 159 des cellules 156 sont raccordées à des bus d'écriture 160, leurs entrées d'adresse de lecture 161 étant reliées à des bus de lecture 162. Le bloc de mémoire de données 128 contient également des décodeurs L'ordinateur selon l'invention fonctionne de la manière sui Pante : Le plus rapide et le plus universel serait un ordinateur dont chaque unité pourrait communiquer directement avec toute autre unité. C'est dans ce cas que les échanges d'unité à unité seraient les plus rapides et indépendants l'un de l'autre, et, partant, universels. Mais de telles machines auraient une gestion compliquée etrun grand nombre de liaisons qui auraient pour effet un abaissement de la fiabilité. Cependant, il n'est pas nécessaire qu'à un moment donné des informations soient simultanément transmises par toutes les liaisons entre les unités dont dispose la machine. A un certain moment, le nombre de transferts de l'information est limité et dépend de l'al gorithme de traitement respectif. D'une façon générale, dans la plupart des pas du traitement, celui-ci n'intéresse que trois grandeurs, à savoir deux opérandes (nombres à additionner, facteurs de multiplication, etc) et un-résultat (somme, produit, etc). Ainsi, il est nécessaire de disposer à chaque instant d'un nombre limité d'échanges directs d'unité à unité. Les exigences peu compatibles de disposer d'échanges directs d'unité à unité et de conserver en même temps la simplicité de gestion et un nombre réduit de liaisons, sont satisfaits au mieux par l'ordinateur suivant l'invention. Les blocs et organes de la machine possèdent des entrées et des sorties reliées aux bus de données 3, 6 et 7 (Fig. 1). Les bus de données 3, 6 et 7 bouclent les entrées d'information et les sorties d'information des blocs et organes de la machine, assurent l'adaptation électrique des entrées et des sorties bouclées des blocs et organes et contrdlent l'information qui y arrive. Tous les bus de données 3, 6 et 7 sont identiques, indépendants l'un de l'autre et ont une longueur de mot correspondant au format standard.Les entrées et les sorties d'in- formation des blocs et organes de la machine et les sorties d'information des blocs et organes de la machine sont réalisées de manière qutelles puissent être réunies entre elles par câblage, par exemple avec des circuits à collecteur ouvert ou utilisant des éléments dont la sortie comporte trois états. Etant donné que toutes les entrées et toutes les sorties des blocs et organes 'de la machine sont reliés à trois bus indépendants 3, 6 et 7, on peut produire à chaque cycle de l'ordinateur, trois échanges d'information directs entre trois groupes de blocs. Au cycle suivant, il est possible d'établir trois échanges indépendants entre trois autres groupes de blocs, le transfert de l'information entre ces blocs étant fonction de l'algorithme de traitement des données. Par conséquent, dans chaque cycle de la machine, les échanges entre les blocs sont ajustés de la façon optimale. On arrive ainsi à des échanges d'unité à unité par les voies les plus courtes. Le nombre de bus est choisi de manière à avoir une mise en parallèle optimale de la circulation des données. Comme déjà indiqué, la grande majorité des cycles de machine nécessite trois rechanges indépendants de données, à savoir deux opérandes et le résultat du traitement. Par conséquent, il est nécessaire et il suffit d'avoir dans la machine trois bus de données indépendants 3, 6 et 7. L'universalité des liaisons internes et des organes de la ma chine élimine le désavantage substantiel des machines existantes, i savoir la spécificité des liaisons. L'ordinateur selon l'invention reste pratiquement efficace quel que soit le Jeu d'instructions ou l'algorithme à exécuter. Il est à noter de plus que le transfert de données s1effec- tuant par les bus 3, 6 et 7, le contrôle du transfert peut Autre localisé en un seul endroit, à savoir sur ces bus. Cela évite d'a toir plusieurs circuits de contrôle dont le nombre doit être au nombre d'échanges individuels entre les blocs, comme c'est le cas dans les machines existantes. Cette caractéristique de l'ordinateur suivant l'invention conduit à une réduction de l'équipement de con trône, à une diminution du nombre de liaisons et à une amélioration de sa fiabilité.Un avantage substantiel du système d'échanges pro Pre à l'ordinateur suivant l'invention est que tout bloc communiquant par son entrée et sa sortie avec les bus peut être considéré comme élément de la zone de mémoire composée d'unités interconnectées, ce qui permet l'attribution à chaque bloc d'une adresse avec comme effet une gestion beaucoup plus facile de la machine, par ~temple par microprogramme. Tout bus peut recevoir simultanément le contenu de plusieurs registres (par exemple de deux) faisant partie d'un bloc. Cette possibilité permet d'effectuer le traitement logique des données extraites d'un registre à l'aide de l'information provenant 'un autre registre (par exemple la fonction booléenne ET), c'est lire d'isoler une partie d'opérande à l'aide d'un masque. On peut ainsi éliminer les échanges fractionnaires entre les blocs et, partant, simplifier considérablement la gestion de l'ordinateur. Or, le masquage des données en transfert rend possible n1 importe quel échange fractionnaire impossible à réaliser au moyen des liaisons tractionnaires assurées par le matériel.L'information de masque peut alors autre aussi bien une constante qu'un résultat des opérations précédentes, c'est-à-dire interne, en provenance, par exem le, d'une machine analogue. La présence dans l'ordinateur de trois bus 3, 6 et 7 permet d'opérer simultanément et séparément sur des données diverses (ou identiques). Par exemple, on peut détecter une partie du premier opérande sur le bus de données 6, une partie du deuxième opérande sur le bus de données 7, tandis que sur le bus de données 3, on peut mettre en évidence une partie du résultat provenant de la sortie d'information 43 de l'unité de calcul il et l'introduire dans l'un des registres de la mémoire d'information de programme 1 par son entrée d'information 2. Etant donné que les blocs et organes de la machine possèdent plusieurs sorties et plusieurs entrées reliées à plusieurs bus de données et commandées indépendamment l'une de l'autre, il est possible de lire un registre faisant partie d'un bloc quelconque au profit de plusieurs bus et de transférer le contenu de ce registre en plusieurs sens; il est également possible d'introduire dans un registre l'information à partir de divers bus par plusieurs entrées à la fois, ce qui permet un traitement logique tel que, par exemple, l'opération de mélange, c'est-à-dire la fonction booléenne OU. il est ainsi possible, grâce auxdites fonctions booléennes, d'effectuer le traitement logique de l'information lors de son transfert, ce qui augmente d'une façon significative la capacité de traitement de l'ordinateur. Alliées à la possibilité de complémentation des données extraites des blocs et transmises sur le bus (exécution de la fonction booléenne NON), lesdites opérations logiques constituent un système complet de fonctions de commutation de l'algèbre de Boule. Dans l'ordinateur, les données sont traitées suivant un programme composé d'instructions. L'adresse de l'instruction suivante se trouve dans le bloc de registres de commande 10. Sur un signal donné par unité de commande 8, l'adresse de l'instruction est transférée par l'un des bus de données 6 ou 7 dans l'unité d'adresse des données 14 qui la dirige par la sortie extérieure 48 de la machine vers la mémoire vive (non représentée). A partir de la mémoire vive, l'instruction appelée est transmise par l'entrée extérieure 45 à l'unité d'échange de données 15. L'unité d'échange de données 15 fournit l'instruction par ses sorties d'information 37 à l'un des bus 6 ou 7 et de là au bloc de registres de commande 10 par les entrées d'information 40 de celui-ci pour y être conservée pendant l'exécution de l'opération complète définie#par cette instruction. La gestion de l'ordinateur est microprogrammée. Chacune des opérations définie par l'instruction est divisée en cycles d'exécu tion en conformité avec l'algorithme de traitement adopté. L'état de toutes les portes de la machine est décrit à l'aide de mots de commande contenus dans la mémoire d'information de commande 18. Chaque mot de commande (micro-instruction) décrit l'état des portes de la machine en un seul cycle de travail. En sortant un par un les mots de commande de la mémoire d'information de commande 18 dans une succession déterminée par l'algorithme de traitement et en traduisant les indications de commande isolées (micro-ordres), on débloque et on bloque les portes pour transférer les données à traiter à travers les blocs et les bus respectifs. L'adresse ini- tiale d'une suite de mots de commande (microprogramme) donnée par le bloc de registres de commande 10, est numériquement égale au code d'instruction. Le code d'instruction est transmis à partir du bloc de registre de commande 10 à l'entrée d'adresse initiale 28 du dispositif 16 de formation d'adresse de la micro-instruction suivante.Ce dernier, après avoir élaboré l'adresse de la micro jnstruction initiale du microprogramme en cours, l'applique à l'entrée d'adresse 27 de la mémoire d'information de commande 18. Le premier mot de l'information de commande extrait par la sortie 17 de la mémoire 18 est transmis à l'unité de commande 8 et de là, après la traduction, est appliqué sous la forme de signaux de commande au bloc de registres de commande 10, à l'unité de calcul 11, au convertisseur de nombres 78, au dispositif 16 de formation d'adresse de la micro-instruction suivante, à l'unité d'échange de données 15, à l'unité d'adresse des données 14, au bloc de masquage 13, à la mémoire temporaire 9, à la mémoire d'information de programme 1 et au dispositif de décalage de données 12, pour assurer la gestion de la machine au cours d'un cycle de travail.Une partie de la micro-instruction extraite définit l'adresse de la microinstruction suivante. A partir de la mémoire 18, l'adresse de la ;icro-instruction suivante est transmise sur l'entrée d'adresse 21 du dispositif 16 de formation d'adresse qui élabore l'adresse de la micro-instruction suivante et l'envoie sur l'entrée d'adresse 27 de la mémoire d'information de commande 18 en adressant la microinstruction suivante. C'est ainsi qu'on sort la suite des microinstructions exécutant l'opération définie par l'instruction précé ~vente. La dernière micro-instruction du microprogramme appelle l'instruction suivante de la mémoire vive, comme cela a été décrit plus haut. Cependant, le déroulement du microprogramme peut conduire à une situation où le traitement doit changer en fonction des données de départ, des résultats partiels, de l'état des registres de commande, etc. Dans ce cas, la succession normale des appels des micro-instructions doit être modifiée, c'est-à-dire qu'il y aura un branchement du microprogramme. La fonction d'analyse des situations ainsi apparues incombe au bus de tests 30. Afin de contrôler l'état d'un autre bloc quelconque de la machine (cette information est contenue dans la micro-instruction), le dispositif 16 de formation de l'adresse de la micro-instruction suivante émet par sa sortie de test 29 un message d'examen ou de vérification à un bloc ou à un groupe de blocs dont l'état est à vérifier.L'information sur l'état des blocs est appliquée par le bus de tests 30 sur le dispositif de formation 16 qui modifie l'adresse, appliquée à son entrée d'adresse 21 à partir de la mémoire d'information de commande 18, en conformité avec le résultat de test provenant du bus de tests 30. La mémoire 18 reçoit sur son entrée d'adresse 27 l'adresse modifiée, ce qui a pour effet le changement de l'ordre des appels des micro-instructions et, partant, du trajet d'exécution de llopéra- tion. Un test quelconque de l'état des blocs de la machine est ef- fectué par ces blocs à la suite d'un signal de commande reçu de l'unité de commande 8. Le résultat de test est appliqué au bus de tests 30 à partir de la sortie de test 31 de la mémoire temporaire 9, de la sortie de test 32 de la mémoire d'information de programme 1, de la sortie de test 33 du bloc de registres de commande 10, de la sortie de test 34 de l'unité de calcul 11 et de la sortie de test 35 du dispositif de décalage de données 12. Chacun de ces blocs est raccordé à tous les conducteurs de bits (non représentés) du bus de tests 30, mais il ne délivre l'information que sur un nombre de conducteurs qui est suffisant pour le transfert de l1in- formation sur l'état dudit bloc. Le dispositif 16 de formation de l'adressè de la micro-instruction suivante peut conserver le résultat d'analyse reçu du bus de tests 30 pour l'utiliser après quelques cycles de travail pour la modification d'adresse. Cela permet d'effectuer une analyse préalable de l'information en cours de transfert. Le processus d'exécution d'une instruction comporte les étapes de calcul des adresses des opérandes, de sortie des opérandes de la mémoire, de traitement des opérandes, d'introduction du résultat dans la mémoire et d'établissement de l'indice du résultat. Suivant la nature de l'instruction, certaines étapes peuvent être sautées. Les opérandes peuvent autre rangés dans la mémoire d'information de programme 1, dans la mémoire vive (non représentée) ou être contenus dans l'instruction sous forme de l'une de ses parties (opérande immédiat). Les adresses des opérandes à conserver dans la mémoire 1 sont introduites dans celle-ci par son entrée d'information 2 reliée au bus de données 3, à partir du bloc d'échange de données 15 lors de l'appel de l'instruction. On examine maintenant ltexécution d'une opération lorsque les opérandes se trouvent dans la mémoire d'information de programme 1 et plus précisément, l'opération d'addition (de soustraction) de deux nombres, le résultat de l'opération devant être rangé à ltem- placement du premier opérande. Le code d'opération d'addition (de soustraction) est appliqué à-l'entrée d'adresse initiale 28 du dispositif 16 de formation de l'adresse de la micro-instruction suivante à partir du bloc de registres de commande 10. Adressée par son entrée d'adresse 27, la mémoire d'information de commande 18 délivre la micro-instruction d'addition (de soustraction) sur sa sortie 17 à l'unité de commande 8. L'unité de commande 8 fournit à la mémoire d'information de programme 1 les signaux de commande qui valident la lecture des données du premier opérande par sa sortie 4 pour le bus de données 6 et la lecture des données du deuxième opérande par sa sortie 5 pour le bus des données 7. Les premier et deuxième opérandes sont appliqués aux entrées d'information de l'unité de calcul 11.Cette dernière reçoit sur son entrée de commande 22 le code de la fonction à exécuter (addition ou soustraction dans le cas considéré) de la mémoire d'information de commande 18. Après avoir réalisé la fonction donnée, l'unité de calcul 11 applique le résultat par sa sortie d'information 44 au bus de données 3. A cet instant, l'unité de commande 8 délivre le micro-ordre d'écriture du résultat à la mémoire d'information de programme 1. Le résultat est introduit dans la mémoire 1 par son entrée 2 à partir du bus de données 3. Si l'un des opérandes ou les deux se trouvent dans la mémoire vive, son adresse comporte généralement plusieurs composantes : à savoir un index, une base et un décalage. Il faut noter à ce propos que l'instruction n'indique que les adresses des registres mémorisant les index et les bases, le décalage étant défini directement. Dans ce cas, l'adresse de l'opérande est à calculer. Le calcul d'adresse est effectué comme indiqué ci-dessus, et on appelle le contenu des registres de la mémoire d'information de programme 1 comportant les bases et les index, le résultat étant introduit dans la mémoire temporaire 9 par son entrée d'information 36 reliée au bus de données 3, et dans l'unité d'adresse des données 14. L'unité d'adresse des données 14 fournit l'adresse de l'opérande par la sortie externe 48 de l'ordinateur à la mémoire vive. L'opérande extrait est appliqué par l'entrée 45 de l'ordinateur à l'unité d'échange de données 15. Pendant cette opération, l'un des opérandes est appliqué au bus de données 6 à partir de la mémoire li l'autre opérande étant appliqué au bus de données 7 à partir de l'unité d'échange de données 15.Après avoir subi le traitement dans l'unité de calcul 11, le résultat est introduit à partir du bus de données 3 dans la mémoire 1 par son entrée 2. Si les deux opérandes sont rangés dans la mémoire vive, le calcul d'adresse des opérandes et leur extraction de la mémoire vive sont effectués successivement, et les opérandes, y compris ceux de longueur variable, sont introduits dans la mémoire temporaire 9. Dans ce cas, la mémoire 9 délivre par ses sorties d'information 36 les opérandes initiaux à traiter sur les bus de données 6 et 7. Le résultat du traitement peut être introduit tant dans la mémoire 9 que dans l'unité d'échange de données 15 pour être ensuite introduit dans la mémoire vive par la sortie 47 de l'ordinateur à une adresse fixée à sa sortie48 par l'unité d'adresse des données 14. Dans le cas d'un traitement de données compliqué nécessitant plusieurs étapes d'exécution de l'algorithme, les résultats partiels des calculs et les opérandes initiaux sont transférés de la mémoire vive dans la mémoire temporaire 9. La mémoire temporaire 9 comporte trois entrées et trois sorties d'information 36 raccordées simultanément aux trois bus de données 3, 6 et 7 et commandés séparément et simultanément. Les registres de la mémoire 9 sont adressés par l'entrée d'adresse 19 de celle-ci au moyen de la mémoire 18, les micro-ordres de lecture et d'écriture provenant de l'unité de commande 8. Cela permet à la mémoire 9 d'échanger dynamiquement l'information avec trois blocs quelconques de la machine à la fois. Le traitement de l'information comporte une forte proportion d'opérations de décalage des données; elles s'appliquent tant sous forme d'instructionsde décalage que dans d'autres opérations, par exemple pour aligner les exposants et pour normaliser, dans les opérations à virgule flottante; elles sont fréquentes également lors de l'accumulation du résultat dans les opérations de multiplication et de division. Les opérations de décalage se font dans la machine au moyen du dispositif de décalage de données 12. Le dispositif de décalage de données 12 reçoit les données à décaler sur ses entrées d'information 41 et 44 à partir des bus de données 3, 6 et 7, le paramètre de décalage lorsqu'il est connu au préalable étant appliqué par l'unité de commande 8 à l'entrée de commande du dispositif de décalage 12. Si le paramètre de décalage est inconnu (conne c'est le cas pour la normalisation ou pour l'a n gnement des exposants), il est calculé dans l'unité de calcul 11 et appliqué à partir du bus de données 3 à l'entrée 44 des unités de commande 94 et 100 (Fig. 4) du dispositif de décalage de données 12. Après avoir effectué le nombre fixé de décalages, ce dernier délivre le résultat par ses sorties d'information 41 (Fig. 1) aux bus de données 6 et 7 pour son utilisation ultérieure. lors de leur transfert par les bus de données 3, 6 et 7, les données subissent le masquage dont le but est de permettre l'isolement d'une partie de l'information transférée. Les masques peuvent autre appliqués à partir de la mémoire d'information de commande 18 au bus de données 3 par la sortie d'information 24, au bus de données 6 par la sortie d'information 25 et au bus de données 7 par la sortie d'information 26. Les bus 3, 6 et 7 effectuent la fonction booléenne ET sur les données en cours de transfert et le coda ge de masque. Les bits de données détectés sont reçus par les blocs de la machine afin de subir le traitement suivant.Les masques sont également appliqués aux bus de données 3, 6 et-7 à partir des sorties d'information 39 du dispositif de masquage 30 qui les reçoit par son entrée 23 de la mémoire d'information de commande 18. Si à un moment donné, la mémoire 18 peut appliquer par ses sorties 24 à 26 aux bus 3, 6 et 7 un masque d'une seule nature, le dispositif de masquage 13 dont les registres mémorisent des masques de plusieurs natures peut appliquer simultanément les masques de natures différentes sur divers bus 3, 6 et 7. Le masquage de l'information en cours de transfert évite les échanges fractionnaires entre les blocs, ramène l'opération de transfert d'une partie d'information k la procédure de masquage microprogrammée et améliore la fiabilité de la machine. Pour mieux comprendre le fonctionnement de l'ordinateur avec emploi de masques, il convient d'examiner l'exécution d'une procédure fréquente qui est 11 écriture dans trois cellules différentes de la mémoire temporaire 9 du signe, de la caractéristique et de la mantisse de l'opérande à virgule flottante appliqué à l'unité d'échange de données 15. L'unité d'échange de données 15 fournit l'opérande par ses sorties d'information 37 aux trois bus de données 3, 6 et 7 à la fois. En meme temps, le bus de données 3 reçoit le masque de détection du signe à partir du dispositif de masquage 13, le bus de données 6 reçoit le masque de détection de la caractéristique à partir de ce même dispositif, tandis que le bus 13 de données 7 reçoit le masque de détection de la mantisse à partir de la sortie 26 de la mémoire d'informationde decommande 18. Le signe, la caractéristique et la mantisse ainsi détectés sont inscrits par les entrées 36 dans trois cellules différentes (non représentées) dont les adresses sont envoyées par la mémoire d'information de commande 18 sur lten- trée 19 de la mémoire 9.Ces opérations sont effectuées simultanément pendant un seul cycle d'ordinateur. On voit par cet exemple que la présence de plusieurs entrées et de plusieurs sorties reliées aux différents bus et commandées séparément, ainsi que l'emploi du masquage dans les blocs de ltor- dinateur, rend celui-ci beaucoup plus rapide tout en améliorant sa souplesse. Le traitement de l'information peut nécessiter des constantes. Le rible des constantes peut être tenu par le masque à condition qu'il soit appliqué aux bus sur lesquels des données ne sont pas transférées à cet instant. Il peut arriver lors du traitement, que l'information lue dans un bloc quelconque doit être inscrite après la traduction à la même adresse. Si la lecture, le traitement et l'écriture de 11 informa- tion ne sont pas séparés dans le temps, il peut se produire une confusion des fronts d'impulsion pouvant fausser le résultat de l'opération. Pour y remédier, les bus de données 3, 6 et 7 comportent dans chaque bit un circuit pour la mémorisation des données pendant l'exécution d'au moins une micro-instruction. Le cycle T (Fig. 3) de la machine est divisé en deux demicycles T/2. Dans le premier demi-cycle (courbe a), une lecture de l'information est effectuée pour un bus 3, 6 ou 7 quelconque (Fig. 1). Les éléments de mémoire de ce bus mémorisent pendant une période donnée l'information lue. Dans le second demi-cycle (courbe b), une écriture de l'information est effectuée dans les blocs de -l'ordinateur à partir des bus de données 3, 6 et 7 (Fig. 1). Etant donné que la lecture de l'information pour le bus prend fin à l'- instant d'écriture, il n'y a pas de modification de l'information sur le bus au moment de l'écriture, c'est-à-dire que la confusion des fronts d'impulsion n'existe pas même pendant l'écriture dans un même registre dans lequel a été lu au cours du premier demi-cycle. Cette caractéristique des bus de données 3, 6 et 7 est à l'origine d'une stabilité de fonctionnement plus grande des circuits de combinaison dont les entrées sont raccordées à ces bus, tels que, par exemple l'unité de calcul 11. On va examiner plus en détail le comportement du circuit de sémorisation des données pendant I1 exécution d'au moins une microinstruction. Les fonctions du circuit sont les suivantes s mémorination des données non masquées, masquage de l'information reçue, mmorisation des données masquées et découplage galvanique des blocs de la machine raccordés aux bus. Le découplage galvanique des blocs est réalisé par sectionnement des bus. Un bus suffisamment long présente une capacité répartie qui peut servir de charge capacitive aux circuits de sortie des blocs de l'ordinateur destinés à appliquer les données aux bus.Dans le cas où la capacité du bus ddpasse une certaine valeur fixée pour ces circuits, les signaux sont mutilés ce qui conduit à une limitation de la vitesse de transmission de l'information par les bus et à une dégradation de la stabilité de fonctionnement de la machine. Il est à remarquer de plus que chaque sortie des circuits est prévue pour avoir un coefficient de ramification bien déterminé, ce qui limite le nombre des abonnés raccordés aux bus. Pour éviter les inconvénients ci-dessus, le bus est sectionné et dans le mode de réalisation considéré, il comporte trois sections. Les sections 49, 55 et 56 (Fig. 2) du bus sont raccordées aux entrées et aux sorties des blocs de la machine. L'information appliquée à l'une quelconque des sections 49, 55 et 56 doit avoir accès à toutes les autres sections, mais chaque section n'a pas de couplage galvanique avec les autres, ce qui réduit considérablement sa capacité répartie. A l'état de repos, les sections 49, 55 et 56 sont maintenues au niveau logique n 1 n . Dans le premier demi-cycle de la machine (courbe d de la Fig. 3), un non logique appliqué à l'entrée 63 de l'élément NON-ET 66 destiné au transfert de l'information non masquée à partir de la section 55 (Fig. 2), produit un niveau haut à l'entrée 68 de l'élésent logique NON-ET 69 à deux entrées qui reçoit sur son autre entrée 70 également au niveau haut (courbe c de la Fig. 3). Sa sortie 71 (Fig. 2) passe au niveau bas qui est appliqué à l'autre seo-- tion 49 du bus considéré et sur l'entrée 63 de l'élément logique NON-ET 66 ( courbe 3 e ). La boucle de réaction est ainsi fermée et les éléments logiques NON-ET 66 et 69 (Fig. 2) forment une bascule de blocage. L'information non masquée est appliquée à partir de la sortie 67 de l'élément logique NON-ET 66 aux circuits de contrôle (non représentés) prévus pour vérifier l'authenticité du transfert de I1 information. Après la fin du signal d'horloge (courbe a), la lecture de l'information pour la section 55 (Fig. 2) du bus cesse; cependant, l'information est maintenue sur l'autre section 49 du bus et est appliquée sur l'entrée 50 de l'élément logique NON-ET 51 destiné au transfert de l'information masquée. Le "0" logique appliqué à l'entrée 50 de l'élément logique NON-ET 51 engendre à sa sortie 57 un niveau haut qui est appliqué aux entrées 58 des éléments logiques NON-ET 59 et 61 à deux entrées.Pendant le second demi-cycle (courbe b), leurs autres entrées 62 reçoivent le niveau haut autorisant le passage de l'information vers les sorties des éléments logiques 59, 60 et 61 (Fig. 2). Les trois sections 49, 55 et 56 du bus prennent le niveau de "0" logique (courbes e et f) au moment de l'arrivée du signal d'écriture (courbe g) sur un bloc quelconque de l'ordinateur. Ainsi, l'information lue dans le bus, au cours du premier demi-cycle (courbe a) est mémorisée dans le circuit de mémorisation des données et au cours du second demicycle elle se propage dans toutes les sections du bus (courbe b). Le comportement du circuit de mémorisation des données est décrit à propos de l'application d'un "on logique à la section 55 (Fig. 2). Or, à l'apparition d'un "1" logique, l'état du circuit reste le même du fait qu'à l'état de repos il était au niveau logique "1". L'élément logique NON-ET 51 pour le transfert de 1 'information masquée comporte une entrée supplémentaire 52 destinée à la réception du masque. A l'application d'un masque t0" (niveau logique "o") à l'entrée 52, la sortie 57 de l'élément logique 51 prend toujours le niveau logique n 1 n quels que soient les niveaux de ses autres entrées 50, 53 et 54, c'est-à-dire quelle que soit l'information sur le bus. Si l'entrée 52 de l'élément logique 51 reçoit un masque "1", l'information lue dans les blocs arrive sur les sections 49, 55 et 56 du bus. De cette façon, on réalise l'opération de détection d'une partie de l'information sur les bus de données 3, 6 et 7 (Fig. 1), c'est-à-dire l'opération de masquage.Dans les bits du bus où le masque présente des "1", information est maintenue, et dans les bits où le masque présente des nO", le bus affiche les non quelle que soit l'information reçue. La sortie 57 (Fig. 2) de l'élément logique NON-ET 51 pour le transfert de l'information masquée est raccordée aux circuits de la sachine qui doivent recevoir l'information plus tat que dans le second demi-cycle de travail, par exemple aux entrées 42 (Fig. 1) de l'unité de calcul 11. Dans ce cas, l'unité de calcul 11 fonc tionne en codes inverses. L'élément logique NON-ET 51 (Fig. 2) et ses éléments logiques NON-ET 59, 60 et 61 constituent ensemble une bascule qui maintient l'information masquée sur les sections 49, 55 et 56 du bus Jusqu'à la disparition du signal aux entrées 62 des éléments logiques NON-ET 59, 60 et 61 (ce signal est indiqué par la courbe b de la Fig. 3). Après que l'information est extraite des bus, ceux-ci doivent reprendre leur état initial. A cet effet, un "0" logique est appliqué à l'entrée 70 (Fig. 2) de l'élément logique NON-ET 69. La bas Culez de blocage formée par les éléments logiques NON-ET 66 et 69, se déverrouille et les sections 49, 55 et 56 reprennent le niveau logique initial "1". Le circuit 72 à niveau logique "1" des sections du bus de données comportant les diviseurs constitués par les résistances 73 et 74 accélère le rétablissement du niveau logique #1" sur les sections 49, 55 et 56. Le signal de rétablissement (courbe c) est délivré après la fin du signal d'écriture (courbe ). L'ordinateur peut traiter les nombres en binaire pur et en décimal codé binaire. Pour la conversion rapide des nombres d'une base dans une autre, l'ordinateur comporte le convertisseur de nombres 78 (Fig. 1). Le nombre écrit dans la base initiale arrive sur les bus des données 3 et 7 et de là, par les entrées du convertisseur de nombres 78, au circuit de conversion respectif (non représenté-). Sur un signal de commande en provenance de l'unité de commande 8 qui arrive sur l'entrée 81 du convertisseur de nombres 78, ce dernier délivre par sa sortie 80 le résultat de la conversion au bus de données 6. Le résultat peut être fourni par parties. Dans ce cas, le résultat final est le cumul des résultats partiels rangés dans le dispositif de décalage de données 12. Comme la conversion au moyen de circuits de combinaison du convertisseur de nombres 78 dure généralement plus longtemps que le cycle de l'ordinateur, le signal de rétablissement de niveau logique nl tt (courbe c) est ab- sent pendant autant de cycles que dure la conversion.Les bus de données 3 et 7 (Fig. 1) conservent ainsi l'information durant tout le temps de traduction du nombre d'une base dans une autre. Le dispositif de décalage de donnée 12 (Fig. 4) effectue le décalage sur des mots à double longueur dans le premier registre à i 4.. décalage 82. L'information provenant des bus de données 6 et 7 est reçue par le premier registre à décalage 82. Le décalage est effectué vers la droite et vers la gauche sur un signal de commande fourni par la première unité 94 de commande du décalage qui reçoit soit un paramètre de décalage fixe sur son entrée 102 â partir de l'unité de commande 8 (Fig. 1), soit un paramètre calculé du bus de données 3. La première unité de commande 94 élabore une suite de signaux de commande en fonction du paramètre de décalage et commande le décalage dans le premier registre à décalage 82.Dans le cas d'un décalage vers la droite ou vers la gauche, l'unité 94 de commande du décalage fait entrer les "O" dans les bits libérés du registre à décalage 82 et dans le cas d'un décalage arithmétique vers la droite, il fait avancer le signe de l'opérande. Lors du décalage arithmétique vers la gauche, l'unité 94 de commande du décalage contrôle le dépassement de décalage et s'il y a lieu délivre un signal sur sa sortie 95. Dans le cas de l'exécution d'une opération de division, le registre à décalage 92 accumule le quotient. Chaque chiffre de quotient est appliqué au registre de chiffre de quotient 89 soit à son entrée 90 à partir de l'unité de calcul 11, soit à son entrée 91 à partir de la mémoire d'information de commande 18. Dans chaque cycle de stockage du quotient, chaque chiffre de quotient est appliqué au bus de données 7 à partir du registre 89. Simultanément, le quotient accumulé dans le registre à décalage 82 est extrait avec décalage sur les bus de données 6 et 7 de façon à libérer sur le bus de données 7 une place pour le chiffre de quotient suivant. L'information formée est ensuite de nouveau rangée dans le registre à décalage 82. Le cycle de stockage est repris tant que le quotient n'est pas totalement forme. Le deuxième registre à décalage 86 effectue également le décalage de nombres à double longueur qu'il reçoit sur ses entrées 87 et 85 respectivement des bus de données 3 et 6. Le décalage dans les registres à décalage 86 et 82 est réalisé indépendamment, étant donné que le registre 86 est commandé par son unité de commande de décalage 100 produisant les signaux de commande qu'il envoie par sa sortie 99 sur l'entrée 101 du registre à décalage 86.Deux registres à décalage 82 et 86 ont la possibilité d'effectuer le décalage sur des nombres d'une longueur de quatre mots à la fois, le !';transfert entre les bits de poids faible du deuxième registre à décalage > 86 et les bi 4 e poids fort du premier registre à décala go 82 et vice-versa étant effectué par l'unité de commande 94 par ses entres et ses soties 97 et 98. La détermination du régime de fonctionnement des registres 82, 86 et 89, ainsi que leur synchronisation générale, sont réalisées par l'unité de commande 8 qui fournit les signaux de commande sur l'entrée 103 (Fig. 4) du dispositif de décalage de données 12 et, de là, sur les entrées 102 des unités de commande de décalage 100 et 94 et des registres 82, 86 et 89 du dispositif de décalage de données 12. Le dispositif de masquage 13 (Fig. 5) comporte les registres 108 et 109 servant au stockage des masques; lesdits registres de masques 108 et 109 reçoivent par l'entrée 104 du dispositif de masquage 13, et alternativement sur leurs entrées 105 et 106, le masque de la mémoire d'information de commande 18. Sous la commande des signaux appliqués à l'entrée 116 du dispositif de masquage 13 de l'unité de commande 8 (Fig. 1), le commutateur 110 aiguille par les sorties 113, 114 et 115 du dispositif de masquage 13 vers les bus de données 3, 6 et 7 un masque quelconque provenant respectivement soit des registres de masques 108 et 109, soit directement de la mémoire d'information de commande 18.Le commutateur 110 (Fig.5) est capable de raccorder l'une quelconque des entrées 107, 111 et 112 à l'une quelconque des sorties 113, 114 et 115, ce qui permet dlappliquer à l'un quelconque des bus 3, 6 et 7, trois masques différents à la fois selon une combinaison quelconque, y compris un même masque aux trois bus à la fois. Ce caractère du dispositif de masquage 13 étend les possibili tés de l'ordinateur, évite l'emploi de liaisons fractionnaires, simplifie la gestion, améliore la fiabilité et augmente la rapidité de traitement. La fonction de recherche et de localisation des pannes dans l'ordinateur est remplie par l'unité de diagnostic 117 (Fig. 1). En cas d'inç dent, l'équipement de contrôle incorporé dans la ma jeure partieges blocs de la machine, délivre par ses sorties 123 les signaux d'incident à l'unité de diagnostic 117 qui les reçoit sur son entrée de contrôle 122. A la suite de ces signaux, l'unité de diagnostic 117 fait cesser immédiatement le déroulement du traitement dans la machine en délivrant un signal d'inhibition sur l'entrée de commande 119 de l'unité de commande 8. Il est à noter que l'unité de diagnostic 117 ntintervient que si cela est autorisé par le bloc de registres de commande 10. Le signal d'autorisation d'intervention est appliqué à l'entrée d'inhibition 121 de l'unité de diagnostic 117. Après l'arrêt de l'ordinateur, l'unité de diagnostic 117 fournit par sa sortie 124 une série de signaux de service à la mémoire vive (non représentée) pour la préparer à la réception et à l'écri- ture de la situation, c'est-à-dire de l'état de tous les blocs, de tous les bus et de tous les organes de la machine à l'instant de l'apparition de l'incident. L'unité d'adresse des données 14 reçoit sur son entrée 126 l'adresse de début de 11 écriture de la situation tandis que le dispositif 16 de formation de l'adresse de la microinstruction suivante reçoit sur son entrée 127 les adresses des micro-instructions d'écriture de la situation. Après l'écriture de la situation, l'unité de diagnostic 117 Bait de nombreuses tentatives pour relancer l'instruction à laquelle l'incident a eu lieu.Si la relaye réussit et des erreurs ne sont pas constatées, l'incident est considéré comme fortuit et le déroulement du programme se poursuit. Mais, si l'erreur apparait à chaque relance, elle est considérée comme incident et l'unité de diagnostic 117 passe à l'exécution des procédures de localisation des pannes. Ces procédures consistent à appeler certaines micro-instructions de la mémoire d'information de commande 18 en appliquant à l'entrée 127 du dispositif 16 de formation de l'adresse de la micro-instruction suivante les adresses connues, à contrôler par l'entrée 120 de l'unité de diagnostic 117 le passage correct de l'adresse vers la mémoire 18 et à valider certains micro-ordres par l'entrée 119 de l'unité de commande 8. L'unité de diagnostic 117 peut astre déclenchée par une instruction spéciale, "Diagnostic". Le déclenchement de l'unité de diagnostic 117 s'effectue par son entrée 121 à partir du bloc de registres de commande 10. L'information supplémentaire entre dans l'unité de diagnostic 117 par son entrée d'information 118 à partir du bus de données 3. La présence de liaisons entre les blocs de l'ordinateur et plusieurs bus de données identiques intéressant plusieurs entrées et plusieurs sorties facilite beaucoup la recherche automatique des pannes. Il suffit d'opérer un certain nombre de transferts par d'autres bus à travers d'autres entrées et d'autres sorties en insérant dans ladite chaine de communications un registre ou un bloc du groupe où la panne a été constatée pour localiser rapidement et avec précision l'organe défaillant. Cette propriété contribue d'une manière significative à la facilité de diagnostic de la machine et son efficacité sans demander pour autant de nombreuses liaisons de diagnostic spéciales (étant donné que le diagnostic est réalisé sur l'équipement de base) et évite d'avoir un logiciel de test encombrant et cher. La mémoire temporaire 9 (Fig. 6) est destinée à stocker les résultats partiels des calculs, les adresses et les opérandes nécessaires lors du traitement de l'information au cours de l'exécution d'une seule instruction. Dans le cas du traitement des nombres rangés dans l'unité de mémoire de données 128, ces derniers sont appelés dans le premier demi-cycle d'ordinateur sur les bus de données 3, 6 et 7; dans le second demi-cycle d'ordinateur, les données rangées sur les bus de données 3, 6 et 7 sont inscrites dans le bloc de mémoire de données 128 par les entrées d'information 36 de ce dernier.Ainsi, un seul cycle d'ordinateur intéresse six adresses dont trois adresses de lecture et trois adresses d'é cri turc. Cela permet d'effectuer des transferts simultanés et indépendants par trois bus de données 3, 6 et 7, d'appeler deux opérandes à la fois pour les traiter dans le premier demi-cycle et d'écrire le résultat dans le second demi-cycle, etc. L'une des sources d'adresses est la mémoire d'information de commande 18. Chacune des adresses d'écriture et de lecture est définie séparément par les entrées d'adresse 141 de la mémoire 18. Une autre source d'adresses est le bloc de compteurs 143. Les commutateurs 129, 130, 131, 135, 136 et 137 déterminent laquelle des sources d'adresses doit être raccordée au bloc de mémoire de données 128. Dans le cas de l'adressage du bloc de mémoire de données 128 comportant 2n cellules de mémoire, par la mémoire d'information de commande 18, cette dernière délivre aux commutateurs 129, 130, 131, 135, 136 et 137 une adresse à (n+1) bits où n bits fixent le numéro de la cellule et le (n+1) bit représente l'indice de zone. Si le (n+1) bit a la valeur "1", les commutateurs 129, 130, 131, 135, 136 et 137 laissent passer n bits de l'adresse qui sont assiailés par le bloc de mémoire de données 128 comme adresse active. Cependant, si l'état du (n+1) bit est "on, le cycle donné de l'ordinateur ne comporte pas de lecture (d'écriture) pour le bus de données 3, 6 et 7 respectif. Dans ce cas, les bits d'adresse sont utilisés pour la génération d'autres micro-ordres imposant la lecture (l'écriture) de l'information pour le bus de données 3, 6 ou 7 respectif à partir d'autres blocs de ltordinateur. LaLavaleur won de la totalité des (n+1) bits d'adresse signifie l'absence de l'opération, c'est-à-dire qu'il n'y a ni adresse ni miero-ordre. L'interconnexion ainsi opérée des blocs améliore sensiblement la souplesse d'emploi de la mémoire temporaire 9, facilite la microprogrammation et économise le volume de la mémoire d'information de commande 18 du fait que les mêmes bits sont utilisés tant pour l'- adressage du bloc de mémoire de données 128 que pour le codage des micro-ordres destinés à d'autres blocs de la machine. C'est ainsi qu'au moyen de la mémoire d'information de commande 18, on définit explicitement et sans ambiguïté les adresses de lecture et d'écriture, ce qui est précisément nécessaire pour la plupart des algorithmes de traitement. Cependant, le traitement des opérandes longs dont le format est plusieurs fois la longueur digitale du bloc de mémoire de données 128 nécessite un outil supplémentaire. En fait, l'information à traiter ne peut être extraite que par parties, à savoir par mots correspondant à la longueur du mot du bloc de mémoire de données 128. Chaque partie doit subir la même opération. Par exemple, il faut faire la somme de deux opérandes dont chacun a une longueur de dix mots. Le premier opérande est rangé dans les cellules 1 à 10, le second dans les cellules il à 20; le résultat doit etre envoyé dans les cellules 21 à 30.La pre ère ème mière micro-instruction appelle les 1 et 11 cellules, leur eme contenu est additionné et le résultat est envoyé sur la 21 cel- eme ème lule; la deuxième micro-instruction appelle les 2 et 12 cellules, leur contenu est additionné et le résultat est envoyé sur la 22ère cellule et ainsi de suite. On voit que si l'adressage du bloc de mémoire de données 128 est explicite, le microprogramme sera linéaire et va occuper beaucoup de cellules de la mémoire d'information de commande 18, dans cet exemple dix. En considérant qu'en fait, dans chaque cycle de traitement, il y a plus d'une microinstruction (6 à 10 micro-instructions), on peut se rendre compte de l'importance d'un tel système d'adressage.A cela s'ajoute que les longueurs des opérandes ne sont pas fixes etpeuvent varier entre de larges limites. Pour traiter les opérandes longs, on a recours à la modifica tion d'adresses du bloc de mémoire de données 128 par le bloc de compteurs 143 qui reçoit l'adresse des premières cellules de la totalité de celles-ci disposées successivement. Le microprogramme est exécuté par cycles; dans ce cas, dans chaque cycle, les compteurs progressent (leur contenu augmente ou diminue d'une certaine valeur); il est à noter de plus que dans chaque cycle, on traite un nouveau groupe de cellules. Il en résulte une économie de cellules de la mémoire d'information de commande 18. L'exécution desicroprogrammes compliqués, dont le traitement des opérandes longs, nécessite tant l'adressage explicite que la modification d'adresses; dans ce cas, quelques-unes des adresses peuvent être explicites, d'autres peuvent être fixées par le bloc de compteurs 143 ou bien ne pas être utilisées du tout, tandis que les bits respectifs de la mémoire d'information de commande 18 assurent le codage d'autres micro-ordres de commande. Le nombre de combinaisons de six adresses est très important et toutes les combinaisons peuvent être utiles. De plus, au cours du déroulement d'un cycle, on peut avoir besoin tant d'une adresse explicite que d'une adresse définie par le bloc de compteurs 143.Pour déclencher le régime de modification d'adresses, la mémoire d'information de commande 18 applique à chacun des commutateurs 129, 130, 131, 135, 136 et 137 un signal de modification d'adresse. La présence d'un signal de modification d'adresse sur les entrées 141 signifie que le rôle de source d'adresses pour le bloc de mémoire de données 128 doit être rempli par le bloc de compteurs 143. Cependant, seulement certaines des adresses du bloc de mémoire de données 128 peuvent prendre part à la modification d'adresse, mais on sait au préalable celles qui vont travailler à ce régime. Avant l'initialisation du cycle de traitement, le registre d'information de commande 151 reçoit sur son entrée 153 une constante définissant lesquels des commutateurs 129, 130, 131, 135, 136 et 137 doivent fonctionner en régime de modification d'adresses. Le régime de modification d'adresses est imposé aux commutateurs par leurs entrées 142. Chacun des bits du registre d'information de commande 131 est relié à son commutateur 129 et 131, et 135 à 137 et autorise (ou interdit) à la suite d'un signal de déclenchement de la modification d'adresse, le branchement du compteur respectif du bloc 143. Le registre d'information de commande 151 conserve la constante pendant le cycle entier de traitement. Or, si le cycle donné ne nécessite pas la validation de l'adresse respective, le (n+1)e bit d'adresse n'est pas appliqué à l'entrée 141. Par conséquent, le déclenchement du régime de modification d'adresses est soumis à trois conditions : présence du (n+l)e bit d'adresse à l'entrée t41 des commutateurs 129, 130, 131, 135, 136 est 137; présence d'un "1" dans le bit respectif du registre d'information de commande 15 1 et application de celui-ci à l'entrée 142 du commutateur respectif; et présence d'un signal de déclenchement du régime de modification d'adresses fourni par la mémoire d'information de commande 18.Dans ce cas, le bit du registre 151 détermine les adresses à modifier; le (n+1) bit d'adresse détermine à l'entrée 141 si l'adresse donnée intervient dans ce cycle; le signal de modification d'adresse provenant de la mémoire d'information de commande 18 annonce aux commutateurs 129, 130, 131, 135 et 137 qu'il faut brancher le bloc de compteurs 143 à titre de source d'adresses si les conditions nécessaires sont réunies. Comme il ressort de la description du fonctionnement de la mémoire temporaire 9 conservant les données durant l'exécution d'une instruction que le système d'adressage de cette mémoire est très souple et permet d'utiliser au maximum les possibilités de modification d'adresses du bloc de mémoire de données 128. Le bloc de mémoire de données 128 représente une matrice composée de cellules 156 formant une structure matricielle homogène (Fig. 7). L'adresse de lecture décodée arrive par les bus de lecture 162 sur les entrées respectives 161 des cellules 156. Les cellules 156 adressées sont lues pour les bus d'information 158 raccordés par la sortie 36 (Fig. 6) au bus de données respectif 3, 6 ou 7. Dans le cas de 1' écriture de l'information se propageant sur les bus de données 3, 6 ou 7, elle vient par les entrées 36 de la mémoire temporaire 9 sur les bus d'information 158 (Fig. 7). A la suite des signaux d'écriture fournis par les décodeurs (non représentés) sur les bus d'écriture respectifs 160, l'information est introduite dans les cellules 156 par leurs entrées d'information 157. La présence dans chaque cellule 156 de plusieurs entrées et de plusieurs sorties permet, lorsque celles-ci sont réunies en matrice, de lire l'information à partir de plusieurs directions à la fois. D'autre part, la présence dans la matrice de plusieurs entrées d'adresse permet de commander la lecture et l'écriture simultanément et indépendamment à partir de plusieurs directions. - REVENDICATIONS. 1 - Ordinateur comportant une mémoire d'information de programme dont l'entrée d'information est raccordée à un bus de données destiné au transfert des opérandes, des instructions et des résultats partiels et finals mémorisés et décalés lors du traitement, un bloc de registres de commande servant à stocker les instructions et le mot d'état du programme, bloc dont l'entrée de commande est raccordée à la sortie d'une unité de commande dont lten- trée est raccordée à la sortie d'une mémoire d'information de commande qui reçoit sur son entrée d'adresse l'adresse d'une microinstruction suivante et qui est reliée à la sortie dudit bloc de registres de commande, une unité de calcul dont la sortie d'informati on est raccordée au bus de données auquel aboutissent l'entrée et la sortie d'information d'une unité d'échange de données, une unité d'adresse des données dont l'entrée d'information est reliée à la sortie d'information dudit bloc de registres de commande, son entrée de commande étant raccordée à la sortie de l'unité de commande raccordée également aux entrées de commande de la mémoire d'information de programme, de l'unité d'échange de données et de l'unité de calcul, son autre entrée de commande étant raccordée à une autre sortie de la mémoire d'information de commande raccordée également à l'entrée d'adresse de la mémoire d'information de programme, ledit ordinateur étant caractérisé en ce qu'il comporte deux bus de données supplémentaires, une mémoire temporaire servant t stocker les données pendant l'exécution d'une instruction et dont les entrées et les sorties d'information sont raccordées aux bus de données principal et supplémentaires, un dispositif de décalage de données dont l'une des entrées d'information est raccordée au bus de données principal, ses autres entrées d'information et ses autres sorties d'information étant raccordées aux bus de données supplémentaires, un dispositif de masquage des données dont les sorties d'information sont raccordées aux bus de données principal et supplémentaires, un dispositif de formation de l'adresse de la micro-instruction suivante dont l'entrée d'adresse initiale est raccordée à la sortie du bloc de registres de commande, sa sortie étant reliée à l'entrée d'adresse de la mémoire d'informationde commande et son entrée d'adresse étant raccordée à la sortie de la mémoire d'information de commande reliée à l'entrée d'adresse de la mémoire d'information de programme, à l'entrée d'information du dispositif de masquage et à l'entrée d'adresse de la mémoire temporaire, un bus de tests servant au transfert de l'information sur l'état de ladite mémoire temporaire, de la mémoire d'information de programme, du bloc de registres de commande, de l'unité de calcul, du dispositif de décalage de données et du dispositif de formation de l'adresse de la micro-instruction suivante en réponse à une demande émise par le dispositif de formation de l'adresse de la micro-instruction suivante, ledit bus de tests étant raccordé aux sorties de test de ladite mémoire temporaire, de la mémoire d'in- formation de programme, du bloc de registres de commande, de l'unité de calcul, du dispositif de décalage de données et à l'entrée et à la sortie de test du dispositif de formation de l'adresse de la micro-instruction suivante, les bus de données supplémentaires étant raccordés également aux sorties d'information de la mémoire d'information de programme, aux entrées et aux sorties d'information du bloc de registres de commande, aux entrées d'information de l'unité de calcul, aux sorties d'information de la mémoire d'information de commande, aux entrées d'information et aux sorties d'information de l'unité d'échange de données, aux entrées d'information et aux sorties d'information de l'unité d'adresse des données, le bus de données principal étant raccordé à la sortie d'information de la mémoire d'information de commande, à l'autre entrée d'information et à l'autre sortie d'information de l'unité d'adresse des données, la sortie de l'unité de commande étant raccordée aux entrées de commande du dispositif de masque, du dispositif de formation de l'adresse de la micro-instruction suivante, de la mémoire temporaire et du dispositif de décalage de données. 2 - Ordinateur selon la revendication 1 caractérisé en ce que les bus de données principal et supplémentaires comportent dans chaque bit un circuit de mémorisation des données pendant l'exécution d'au moins une micro-instruction. 3 - Ordinateur selon la revendication 2 caractérisé en ce que le circuit de mémorisation des données pendant itexécution d'au moins une micro-instruction qui délivre le signal de transfert des données masquées et non masquées, comporte au moins une section de chaque bit des bus de données principal ou supplémentaires servant au transfert bidirectionnel des données, un élément logique NON-ET destiné au transfert des données masquées et dont l'une des entrées sert d'entrée au circuit de mémorisation des données et est raccordée à la sortie d'information respective du dispositif de masquage, ses autres entrées dont le nombre est égal à celui des sections du bus de données étant raccordées à la section respective du bus des données, sa sortie formant la sortie du circuit de mémorisation des données, des éléments logiques NON-ET à deux entrées dont le nombre est égal à celui des sections du bus de données et qui ont chacun l'une de leurs entrées raccordées à la sortie de l'élément logique NON-ET servant au transfert des données masquées, une autre entrée formant l'entrée du circuit de mémorisation des données reliée électriquement à la sortie d'information respective de la mémoire d'information de commande, la sortie de chacun desdits éléments logiques NON-ET étant raccordée à l'entrée de l'élément logique NON-ET destiné au transfert des données masquées, un élément logique NON-ET servant au transfert des données non masquées et dont les entrées, dont le nombre est égal à celui des sections du bus de données, sont raccordées chacune à la section respective du bus de données, sa sortie formant celle du circuit de mémorisation des données, un élément logique NON-ET à deux entrées supplémentaires dont l'une des entrées formant entrée du circuit de mémorisation des données, est reliée électriquement à la sortie d'information respective de la mémoire d'information de commande, son autre entrée étant raccordée à la sortie de l'élément logique NON-ET servant au transfert des données non masquées, sa sortie étant raccordée à l'une des sections du bus de données, wèt un circuit de réta plissement du niveau logique n 1 des sections du bus de données, couplé à cette sortie et raccordé à une source de potentiel de niveau logique "1" et à une source de potentiel de niveau logique "0". 4 - Ordinateur selon l'une quelconque des revendications 1, 2 et 3, caractérisé en ce qu'il comporte un convertisseur de nombres d'un système de numération à un autre dont les entrées d'information sont raccordées aux bus de données principal et au premier bus supplémentaire, sa sortie d'information étant raccordée à l'autre bus de données supplémentaire, son entrée de commande étant raccor dé e à la sortie de l'unité de commande. 5 - Ordinateur selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le dispositif de décalage de données comporte deux registres à décalage de données dont les entrées d'information et les sorties d'information constituent les entrées d'information et les sorties d'information du dispositif de décalage de données, les entrées d'information et les sorties d'information du premier desdits registres de décalage des données étant raccor dées aux bus de données supplémentaires, l'entrée d'information et la sortie d'information du second registre étant raccordées à l'un des bus de données supplémentaires et son autre entrée d'information étant raccordée au bus de données principal et servant également comme entrée d'information du dispositif de décalage de données; un registre de chiffre suivant de quotient dont la sortie d'information est raccordée au bus de données supplémentaire relié au premier registre à décalage des données, et deux blocs de commande du décalage des données, la sortie de commande du premier d'entre eux étant raccordée à l'entrée de commande du registre de chiffre de quotient, sa sortie de test constituant celle du dispositif de décalage de données, son entrée d'information étant raccordé au bus de données principal, ses deux autres entrées et ses deux autres sorties étant raccordées aux deux registres à décalage des données et la sortie du second bloc de commande étant raccordée au deuxième registre à décalage des données, les entrées d'information du registre de chiffre de quotient constituant les entrées du dispositif de décalage de données reliées à l'unité de calcul et à la mémoire d'information de commande et les entrées de commande des deux registres à décalage des données, des blocs de commande de décalage de données et une autre entrée de commande du registre de chiffre de quotient étant connectées entre elles de manière à former l'entrée de commande du dispositif de décalage de données. 6 - Ordinateur selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le dispositif de-masquage comporte au moins deux registres de masquage, les entrées d'information desdits registres étant connectées entre elles pour former l'entrée d'information du dispositif de masquage qui comporte également un commutateur dont deux entrées sont raccordées aux sorties des deux registres de masquage, et dont la troisième entrée est raccordée à un point commun des entrées des registres de masquage, ses sorties formant les sorties d'information du dispositif de masquage, les entrées de commande des deux registres de masquage et du commutateur étant connectées entre elles de façon à constituer une entrée de commande du dispositif de masquage. 7 - Ordinateur selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comporte une unité de diagnostic servant à localiser les pannes, l'entrée d'information et la sortie d'information de ladite unité de diagnostic étant raccordée au bus de données principal, en ce que son entrée de commande et sa sortie de commande sont raccordées à l'unité de commande, en ce que son entrée d'adresse est raccordée à la sortie du dispositif de formation de l'adresse de la micro-instruction suivante, son entrée d'inhibition étant raccordée à la sortie du bloc de registres de commande reliée à la sortie d'adresse initiale du dispositif de formation de l'adresse de la micro-instruction suivante, l'entrée de contrôle de l'unité de diagnostic étant raccordée aux bus de données principal et supplémentaires et aux sorties de contrôle du dispositif de décalage de-données, de l'unité de calcul, du bloc de registres de commande, de la mémoire d'information de programme, de ladite mémoire temporaire, de la mémoire d'information de commande, du dispositif de formation de l'adresse de la micro-instruction suivante,; de l'unité d'échange de données, de l'unité d'adresse des données et et du dispositif de masquage, et en ce que dans ce cas la sortie de l'unité de diagnostic constitue celle de l'ordinateur, sa sortie d'adresse étant raccordée à l'entrée d'adresse du dispositif de formation de l'adresse de la micro-instruction suivante et à l'entrée d'adresse de l'unité d'adresse des données. 8 - Ordinateur selon l'une quelconque des revendications 1 à 7, caractérisé en ce que la mémoire temporaire comporte un bloc de bmoire de données comportant des entrées dtinformation et des sorties d'informationdont le nombre est celui des sections des bus de données principal et supplémentaires, chacune desdites entrées d'information et desdites sorties d'information étant raccordée au bus de données respectif, trois commutateurs destinés à commuter l'adresse de lecture des données au bus de données respectif et dont les sorties sont également raccordées aux entrées respectives du bloc de mémoire de données, un bloc de compteurs destiné à la modi fiction d'adresses du bloc de mémoire de données et dont la sortie est raccordée à l'entrée de chaque commutateur, un registre d'information de commande dont la sortie d'information est raccordée aux entrées de commande de chacun des commutateurs, son entrée de commande étant raccordée à l'entrée de commande du bloc de compteurs servant d'entrée de commande à ladite mémoire temporaire, les entrées d'information du registre d'information de commande et du bloc de compteurs étant connectées entre elles pour former l'entrée dtàdresse de la mémoire temporaire et l'autre entrée de chacun des commutateurs constituant également entrée d'adresse de l'ensemble de la mémoire temporaire.