Brevet FR2262828A1 — publié le 19750926

La présente invention concerne un système processeur de données binaires et plus particulièrement un système dans lequel le processeur de données est un circuit intégré micro-programme. Dans le domaine du traitement des données binaires, il est courant actuellement d'utiliser des architectures de système qui évoluent sous lteffet des coûts en circuit. Cette contrainte J'est traduite par une centralisation de la commande du système dans des dispositifs appelés "processeur central" et "unité de mémoire principale". Etant donné ces installations centralisées, onéreuses et encombrantes, qu'il faut commander, les systèmes de traitement (programmes de commande principale) ont évolué de façon à généraliser leurs applications pour se partager entre un certain nombre de programmes ou de travaux. Les architectures de système qui ont résulté de ces solutions sont très générales et en conséquence sont inutilement complexes et, de ce fait, peu efficaces pour un grand nombre de cas particuliers. Ce type d'architectures est subdivisé de façon irrégulière et est complété principalement par une logique séquentielle réalisée par des circuits. Lorsqu'on utilise des techniques de micro-programmation, l'architecture fonctionnelle du système de base n'est pas modifiée du fait que les processeurs micro-codés doivent toujours suivre les architectures séquentielles, cadencées et orientées suivant les registres. Les nouvelles techniques de circuit intégré telles que les techniques MSI et LSI qui permettent de réunir les éléments essentiels d'un processeur de données sur un même chip (plaquette) peuvent s'utiliser efficacement seulement si on satisfait à de nouvelles contraintes. La technique LSI, par exemple, nécessite une régularité des circuits et l'absence d'algorithmes spécialisés ou complexes sur les plaquettes des circuits. De plus, comme les mémoires des circuits intégrés communiquent de façon compatible avec les circuits de logique intégrés, on peut supprimer le schéma de l'architecture d'un processeur à registre orienté en distribuant les circuits de mémoire dans le système. Cela supprime évidemment le besoin d'un sous-système de mémoire principale, centralisé.Comme il est maintenant possible de distribuer les mémoires dans le système, il est souhaitable de supprimer les systèmes de traitement à commande centrale, nécessaires jusqutalors. Pour permettre d'utiliser efficacement la technique LSI, il est nécessaire d'avoir une architecture de système se traduisant par un système bien formé et susceptible dêtre subdivisé de façon régulière. Même si pratiquement toutes les techniques de micro-programmation utilisées dans le passé satisfont à cet objectif, les techniques de microprogrammation connues ne permettent pas d'arriver à un système efficace pour programmer et pour exécuter les algorithmes. En d'autres termes, ces systèmes micro-programmés connus présentent une absence complète de continuité entre le langage machine et les besoins de programmation de l'utilisateur ainsi que les demandes en langage. Cela est vrai car les langages micro-codés de machine connus sont de type série et liés de par leur nature, ce qui est en contradiction directe avec les exigences de la technique LSI nécessitant de la régularité et des fonctions complexes non liées. La présente invention a pour but de créer un système processeur numérique qui peut s'utiliser comme bloc de construction de base dans un calculateur, ce calculateur à processeurs multiples travaillant sans utiliser de programme de commande principal ou sans nécessiter un système d'interruption extensible, tout en présentant des possibilités d'émulsion améliorées. Les problèmes liés à des systèmes centraux et autres questions relatives ainsi que la réalisation des buts fixés ci-dessus s'obtiennent dans le cas présent par un système de données binaires dont la mémoire contient des sections de données composées de zones de données et de signes de données, ainsi que les circuits pour recevoir ces données. Une zone de données contient l'adresse de la section de données en mémoire. Le système peut s'appeler, de façon générale, système à entrava nement par les données. Le but général que s'est fixée l'invention se fait plus particulièrement en utilisant un vocabulaire à signes multiples dans un processeur de données à signes en série, deux signes servant à définir le début et la fin d'une zone de données particulière. Chaque signe est représenté par un ensemble de bits binaires. Les structures de données sont organisées en sections de données contenant des zones de façon à permettre la dilatation et la contraction de ces zones. Chaque zone de données est de préférence terminée par un code de fin qui déclenche une comparaison entre l'état de comptage des signes de début et de fin de zone dans la structure de données et un comptage de référence. La structure et l'orga- nisation d'une section sont décrites par le contenu de la première zone de la section. En réponse à la liaison de deux sections de données, on effectue un programme ou une opération, chaque groupe de deux sections de données ayant une section de données contenant une partie du programme, l'autre section de données contenant les opérandes pour cette partie de programme. Chaque type de section de données peut se trouver dans la surface (statique) de la mémoire du processeur de données, l'autre partie étant envoyée au processeur, à partir de l'extérieur (dynamique). L'arrivée des sections de données dynamiques assure l'adressage de la section de données correspondante dans la mémoire. A son tour, la section de vecteur peut assurer l'exécution de l'opération définie par son contenu en utilisant les opérandes envoyés par les sections d'opérande d'entrée. Si tous les opérandes de la structure de données adressée sont présents ou sont arrivés, l'opération appelée structure de données de programme s'effectue et le résultat est transmis à la destination indiquée par la structure de donnée de programme. Les deux sections de données correspondantes peuvent s'utiliser en combinaison pour donner le résultat demandé par la section de données de programme. La présente invention sera décrite plus en détail, à titre d'exemples non limitatifs, à l'aide des dessins annexés, dans lesquels - La figure 1 est un schéma-bloc d'un système de traitement de données par un seul processeur selon l'invention; - La figure 2 est un schéma logique de la file d'attente d'entrée du processeur de la figure 1; - La figure 3 est un diagramme logique de l'unité logique de vecteurs du processeur de la figure 1; - La figure 4 est un schéma logique de l'unité de commande du processeur de la figure i; - La figure 5 est un schéma logique de la file de sortie du processeur de la figure I; - La figure 6 est un circuit logique du circuit de reconnaissance de signal utilisé dans la file d'entrée de la figure 2;; - La figure 7 est un schéma abstrait d'un vocabulaire à quatre signes utilisé dans le processeur de la figure 1; - La figure 8 est un schéma abstrait de la structure générale de la section de données utilisée dans le processeur de la figure 1; - La figure 9 est un schéma général de la structure de la section des données générales contenant des sous-sections; - La figure 10 est un schéma abstrait représentant un exemple particulier en forme d'arbre d'un programme que l'on peut effectuer à l'aide du calculateur selon la figure 1; - La figure il est un schéma abstrait d'un algorithme simple en forme d'arbre et de la structure des données ou de la section représentant cet algorithme, qui est utilisé dans le processeur de la figure 1 pour effectuer des opérations particulières;; - La figure 12 est un schéma abstrait d'un exemple particulier de l'interaction de programme et des structures de données d'opérandes, dans les diverses parties principales du processeur de la figure 1 pour arriver au résultat voulu. La figure 1 représente un système de processeur commandé par les données comportant un processeur de données communiquant avec un ensemble d'unités périphériques 15s 17, 19 par des interfaces entrée/sortie 13. L'interface entrée/sortie 13 peut être un interface classique à circuit de commutation tel que celui utilisé pour les échanges téléphoniques, pour relier l'une des unités périphériques au processeur commandé par les données 11 par l'intermédiaire du cible rentrée 31 ou du câble de sortie 33. Les unités périphériques peuvent être des unités travaillant en parallèle ou en série.Pour adapter le type de signes en série du processeur li lorsqu'on utilise des unités de type parallèle, on a un interface entrée/sortie 13 comportant un multiplexeur servant à convertir l'ensemble des chemins de signaux parallèles arrivant des unités périphériques 15, 17, 19 en un chemin de signaux en série relatif vers le processeur 11. Pour adapter l'émission de signaux de type série du processeur il en fonction des unités périphériques 15 à 19 de type parallèle, on a un interface entrée/sortie 13 comportant un démultiplexeur. Les unités périphériques 15, 17, 19 peuvent être des dispositifs connus tels que des dispositifs de commande à bandes magnétiques, des lecteurs de carte, des unités perforatrices de carte, des claviers, des imprimantes, ou des mémoires à tambours ou à disques Le calculateur numérique entraîné ou le processeur de données il reçoivent les structures de données des unités périphériques au niveau de sa file d'entrée 21. Ces structures de données, comme décrit ultérieùrement, ont une organisation particulière et doivent satisfaire à certaines règles de syntaxe. La file d'entrée 21 est fondamentalement une file FIFO (unité-tampon dite "premier entré-premier sorti"), qui assure la fonction supplémentaire de synchronisation des structures de données asynchrones, reçues dans le câble d'entrée 31S en fonction du système d'horloge du calculateur 11. Les structures de données reçues par la file d'entrée 21 sont des structures à signes en série. Ces structures de données peuvent être communiquées aux autres éléments du processeur 11, suivant des signes en série. Les structures de données de la file d'entrée 21 sont transmises à la mémoire de calculateur 259 par exemple à signes en série, par le câble 35 vers l'unité de commande 23 et de l'unité de commande 23 par le câble 51 à la mémoire 25 du calculateur. La communication de commande entre la file d'entrée 21 et l'unité de commande 23 par le câble 37 et la communication de commande entre le dispositif de commande 23 et la mémoire 25 par le câble 49 seront expliquées ci-après. A coté des structures de données de la file d'entrée 21 que l'on transmet à la mémoire 25, ces données sont transmises à une unité logique de vecteurs 27 par l'intermédiaire du dispositif de commande 23 en passant par le câble 47. De la même façon, les structures de données de la mémoire 25 sont transmises par l'unité logique de vecteurs 27 par l'intermédiaire de unité de commande 23 en passant par le câble 45. La communication de commande entre l'unité logique de vecteurs 27 et l'unité de commande 23 en passant par le câble 43 sera exposée en détail ciwaprèsO Lifunité logique de vecteurs 27 est essentiellement une unité arithmétique de type série qui effectue par exemple des opérations de base telles que l'addition, la soustraction la comparaison et l'envoi de structures de données à une zone de longueur variable, Unité logique de vecteurs peut communiquer directement avec la mémoire 27 en passant par le câble des données 53 et la file de sortie 29 en passant par le câble de données 59.La communication de commande entre l'unité logique de vecteurs 27 et la mémoire 252 en passant par le câble de commande 55 et avec la file de sortie 29 en passant par le cible de commande 579 sont des opérations qui seront décrites ci-après, La mémoire 25 du calculateur commandé par les données 11 peut eAtre une mémoire à accès aléatoire se présentant sous forme de circuits intégrés, de dimensions choisies, réalisés sur des chips (plaquettes) de mémoire à accès aléatoires tels que les composants fabriqués par Signetics Corporation.Dans le catalogue des composants de 1972 de cette Sociétés en pages 4-24, la Signetics Corporation cite un chip de mémoire à accès aléatoire à 32/2S que l'on peut utiliser dans la réalisation de la mémoire 25. La structure d'une mémoire de grandes dimensions à l'aide d'un tel chip de mémoire est une opération qui est à la portée de l'homme de l'art. Un autre exemple de chip de mémoire que l'on pourrait utiliser pour réaliser la mémoire 25 se trouve dans le catalogue Signetics de 1972#en pages 4-13 qui donne un chip de mémoire dont le contenu s'adresse à grande vitesse. La file de sortie 29 qui peut recevoir les structures de données de 12 unité logique de vecteurs 27, de la mémoire 25 ou de la file d'entrée 21 assure le placement des structures de données reçues, pour les mettre dans une forme permettant leur transmission aux unités périphériques 15-19, par exemple à l'aide de l interface I/O, 13. La file de sortie comme la file d'entrée est en principe un tampon FIFO, acceptant des structures de données I signes en série et transmettant ces signes à l'interface I/0. Selon la figure 2s la file d'entrée 21 communique avec l'interface I/0 par le cible 31. Le câble 31 est formé des lignes 79, 81, 83 et 85, venant ou allant à la logique d'interface 61 dans la file d'entrée 21. Les lignes as sont deux lignes de données parallèless recevant deux bits en parallèle de l'interface 1/0 (figure 1). Les deux bits en parallèle représentent un signe. Les autres trois lignes 79g 81 > 83 sont des lignes de commande entre la file d'entrée et l'interface I/0. La ligne 79 transmet un niveau de signal binaire qui informe l'interface I/0 pour transmettre la structure de données chaque fois qu'une erreur a été détectée dans la structure des données reçues précédemment. La ligne 81 fournit un niveau de signal binaire qui autorise ou interdit l'interface I/0 par rapport à la transmission de structures de données. La ligne 83 fournit un niveau de signal créé par l'interface I/O qui indique une requête ou demande d'émission de structure de données fournie par l'une des unités périphériques ou l'une des files de sortie du processeur de données 11. En réponse à une telle requête de niveau de signal, le niveau de signal sur la ligne 81 autorise l'interface 1/0 > si la file d'entrée ne peut recevoir des données supplémentaires. La structure de données à signes en série, reçue par les lignes 85 à partir de l'interface I/O, 13 (figure 1) soumise à l'interface logique 61S est vérifiée pour détecter des erreurs par un circuit logique que l'on appellera logique de reconnaissance des parenthèses" et un compteur-décompteur binaire 65 qui répond au circuit de reconnaissance 63. L'état de comptage du compteur 65 est transmis I la logique d'interface 61 par le câble 93. Il suffit d'indiquer que, si le comptage du compteur-décompteur binaire 65 à la fin de la structure particulière de données n'est pas nul, la logique d'interface 61 requiert une retransmission par la ligne 79 car une erreur existe dans la structure de données. La logique caractéristique du circuit de reconnaissance 63 et son interaction avec le compteur-décompteur 65 ainsi que la logique d'interface 61 seront expliquées plus en détail ci-après. Comme indiqué ci-dessus, la file d'entrée 21 fonctionne en principe comme un tampon FIFO et synchronise les signes de données d'entrée, asynchrones, en fonction du système d'horloge du calculateur (non représenté) qui fait partie de la logique d'interface 61. La partie tampon de la file d'entrée est la mémoire de file d'entrée 67 qui peut etre réalisée sous forme de mémoire accès aléatoire, formée de chips de mémoire à accès aléatoire sous forme de circuit intégré, tels que les chips fabriqués par Signetics Corporation et contenus dans le catalogue des composants de 1972 en page 4=20. Les signes de données reçus sur les lignes 85 à partir des unités périphériques sont transmis à la mémoire de file d'entrée 67 par les lignes 96 et sont stockés dans llespace disponible comme indiqué par le circuit indicateur d'inscription ou d'écriture 73. Pendant le stockage des signes de données dans la mémoire de file d'entrée, on lit les signes de données dans la mémoire et on les transmet aux autres composants du processeur 11 (figure 1) par l'intermédiaire de l'unité de commande 23 (figure 1). Le signe de donnée, particulier, qui est lu dans la mémoire 67 à un certain instant, est déterminé par le circuit indicateur de lecture 71. Le signe de donnée qui est lu dans la mémoire de file d'entrée est transmis de la mémoire de file d'entrée par les lignes 98 à la logique d'interface 61 et, de là, à l'unité de commande 23 (figure 1) par les lignes 35. Les lignes de commande 123, 121 formant le câble de commande 37 portent des signaux d'autorisation de lecture et de requête d'écriture de l'unité de commande 23 (figure 1). La ligne 123 fournit un signal d'autorisation de lecture. La ligne 121 fournit un signal de requete de lecture.De façon générale, une information est stockée dans la mémoire de file d'entrée 67 aussi rapidement qu'elle est reçue; elle est lue de la mémoire de file d'entrée 67 dans un ordre FIFO, aussi rapidement que l'unité de commande 23 (figure 1) l'appelle. Lorsque la logique d'interface 61 reçoit les signes de données par les lignes 85, cet interface crée un signal envoyé dans la ligne 97 vers l'unité de commande de cycle de mémoire 69 indiquant qu'une fonction d'inscription est nécessaire.La commande de cycle de mémoire en réponse à la requete dqinscription crée un signal d'autorisation d'inscription sur la ligne 1039 ce signal est envoyé à la mémoire de la file d'entrée 67, à un signal de sélection d'inscription sur la ligne 105, à un sélecteur 75 et à un signal incrémental sur la ligne 99 vers le dispositif indicateur d'écriture 73. Le sélecteur 75 peut etre tel que celui fabriqué par Signetics Corporation et décrit dans le catalogue des composants de 1912 en page 2=136. En principe, le sélecteur, en réponse à un signal dCinscription ou de sélection de lecture dans la ligne 105 choisit le signal de sortie d'inscription ou d'indication de lecture envoyé respectivement par le câble 109 et 111 pour etre#transmis par le cible 107 au registre d'adresses de la mémoire de la file entrée 67. Le dispositif indicateur d'inscription 73 et le dispositif indicateur de lecture 71 peuvent être des compteurs binaires fabriqués par Signetics Corporation et contenus dans leur catalogue des composants de 1972 page 2-100. Les entrées incrémentales 99 et 101 du dispositif indicateur d'inscription et du dispositif indicateur de lecture respectifs, à partir du circuit de commande de cycle de mémoire 69, sont reliées à l'entrée A (non représentée) de ces compteurs Signetics. Les lignes 100 de la logique d'interface 61 allant vers le dispositif d'indicateur de lecture 71 et le dispositif-indicateur d'inscription 73 sont reliées aux entrées de remise à zéro (non représentées) de ces compteurs. Les sorties I la fois du dispositif indicateur écriture et du dispositif indicateur de lecture, passant par le sélecteur vers l'adresse de la mémoire de file d'entrée 67, sont également échantillonnées par un comparateur 77. Le comparateur peut etre un comparateur tel que celui fabriqué par Signetics Corporation et représenté dans le catalogue des composants de 1971 TTLokEI en page 101. Ce comparateur a deux conducteurs de sortie qui indiquent lequel des deux signaux d'entrée est le plus grand et si ces deux signaux sont égaux. Etant donné que la file d'entrée 67 travaille en FIFO, cest-à-dire en tampon dit "premier entrépremier sorti", le dispositif indicateur d écriture présente un comptage qui est toujours supérieur au comptage du dispositif indicateur de lecture, chaque fois que la mémoire de file d'entrée 67 contient une donnée, nais nwest pas complète. C'est pourquoi un signal présent dans la ligne 119 du comparateur 77 indique à la logique d'interface 61 que le dispositif indicateur d'inscription présente un état de comptage supérieur à l'état de comptage du dispositif indicateur de lecture. Cela signale à la logique d'interface qu'il reste toujours une donnée dans la mémoire de file d entrée. Chaque fois que l~état de comptage du dispositif indicateur d écriture est égal a 1 état de comptage du dispositif indicateur de lecture un signal est transmis par le comparateur; la ligne 117 à la logique d'interface 61. Ce signal peut signifier que la mémoire de file d entrée 67 n'est ni complètement vide ni comp3ètement pleine en fonction de la dernIère requete de mémoire créée Far la logique dtinter- face 612 qui était soit une requete de lecture,, soit une requête d'inscription. La logique d'interface 61 interprète le signal de la ligne 117 comme signifiant que la mémoire de file d'attente d'entrée 67 est pleine si la dernière opération de mémoire était une opération d'écriture. Si la dernière opération de mémoire était une opération de lecture un signal sur la ligne 117 est considéré comme signifiant que la mémoire de file d'entrée est vide. La logique d'interface 61 fait que, si la dernière opération de mémoire était 1 opération d'inscription ou de lecture, puisqu'elle est transmise soit comme requête d'écriture ou comme requete de lecture par les lignes 97, 95 respectives au circuit de commande de cycle de rien cire 69. Chaque fois que la logique d'interface 61 détermine que la mémoire de file d'entrée 67 est vide, elle crée un signal de remise I zéro sur la ligne îoe, ce signal devant être envoyé a' la fois aux dispositifs indicateurs d'écriture et de lecture. Le circuit logique caractéristique du dispositif de commande de cycle de mémoire 69 et la logique d'interface 61 ne seront pas décrits en détail, car les fonctions effectuées par de tels circuits logiques aussi bien que leur structure sont connues des techniciens. Selon la figure 35 on a une unité logique de vecteurs en série 27 que 1 on peut utiliser dans le calculateur de la figure 19 l'unité 2 se compose essentiellement de deux nemolres mortes 125 et 129 Les deux mémoires mortes peuvent par exemple etre des mémoires mortes telles que celles indiquées par Signetics Corporation dans son catalogue de composants de 197Z en page 4-1. Les registres d'adresses 124 et 128 des mémoires mortes 125 et 129 respectives sont des registres classIques entrée parallèle/sortie parallèle. La seule différence de structure entre deux mémoires mortes réside dans le micro-code contenu dans ces mémoires.La mémoire morte 125 contient le micro-code nécessaire pour crêper les résultats des opérations appelées "dyadic", telles que l'addition, la soustraction ou la comparaison. La mémoire morte 129 contient le micro-code nécessaire pour créer le résultat des opérations- appelées "monadic" telles que par exemple : "complément", "supprimer le premier bit", ou premier bit à zéro. Les structures de données à caractères en série, fournies par la mémoire 25 du calculateur 11 (figure 1) par exemple de l'unité de commande 23 par les lignes 45 à l'unité logique de vecteurs 27, sont dirigées par le démultiplexeur 135 en fonction d'un signal de commande dans la ligne 43a2 fourni par unité de commande 23, pour aller à la mémoire morte dyadic 125, en passant par la ligne 139 ou à la mémoire morte monadic 129 par la ligne 142 en fonction du type de structure de données qui est adressée par la structure de données de la file entrée 29. Cela sera décrit plus en détail ultérieurement. De la même façon, le démultiplexeur 137 reçoit des données à caractères en série par les lignes 47 à partir de la file d'entrée 21 par l'intermédiaire de l'unité de commande 23 et ces données sont envoyées soit å la mémoire morte dyadic 125 par la ligne 141 ou à la mémoire morte monadic 129 par la ligne 143. Les sorties soit de la mémoire morte dyadic 125, soit de la mémoire morte monadic 129, sont amenées à la mémoire 25 du calculateur ou à la file de sortie 29 du calculateur (figure 1) en fonction de l'adresse de destination contenue dans la structure de données de programme. Cette adresse de destination est envoyée aux démultiplexeurs 133 et 130 par les lignes 43d, par l'intermédiaire de l'unité de commande 23 du calculateur Il (figure 1). Les démultiplexeurs 135, 137, 130 et 133, utilisés dans unité logique de vecteurs, peuvent être des démultiplexeurs tels que ceux fabriqués par Signetics Corporation et se trouvant dans le catalogue des composants de cette Société de 1972 page 2-132. En supposant par exemple que llon effectue une opération dyadic, un opérande A étant additionné à un opérande B, un code OP désignant liopération dyadic addition est envoyé au registre adresse 124 soit par la mémoire 25, soit par la file entrée 21 du calculateur, comme cela sera décrit plus en détail ultérieurement. Selon ce code OP, les deux opérandes sont également envoyés avec des signes en série, au registre d'adresse 124. il en résulte que la sortie sur le câble 126 de la mémoire morte 125 est à signes en série correspondant à la somme des deux opérandes.En effet, ce qui se produit est le code OP, en addition aux opérandes, qui agissent comme des adresses dans la zone particulière de la mémoire morte 125 contenant le résultat de l'addition des deux signes particuliers des deux opérandes à additionner. La sortie de la mémoire morte 125 de cet exemple particulier contient également un signal sur la ligne 43c qui indique à l'unité de commande 23 (figure l) qu'une addition particulière de signes a été effectuée. Egalement dans le cas de l'addition, les signaux de support sont transmis en retour à l'entrée de la mémoire morte 125 par les lignes 132, de façon à modifier l'addition des signes suivants. Dans le cas dtopérations monadic que l'on effectue sur la mémoire morte 129, les lignes de réaction 131 peuvent être l'entrée d'un compteur à échelons de façon à modifier le contenu du registre d'adresses 128 de la mémoire morte monadic, de façon à adresser le point de mémoire suivant. En résumé, l'unité de commande 23 introduit des structures de données de la mémoire 25 et de la file d'entrée 21 dans 19 unité logique de vecteurs 27 qui répond à ces deux structures de données en formant un résultat et des signaux de commande qui sont ramenés vers la mémoire 25 en passant par les lignes 53 et 55 ou vers la file de sortie 29 par les lignes 57 et 59. Selon la figure 4 qui représente l'unité de commande 23 du calculateur 11, cette unité micro-programmée est formée d'un ensemble de mémoires mortes et de multiplexeurs. La mémoire morte d'analyse de zone 146 reçoit les structures de données de la file entrée par les lignes 35 ou de la mémoire par les lignes 51b. La structure de données de la file d'entrée 21 (figure 1) ou la structure de données de la mémoire 25 (figure 1) adressent la mémoire morte d'analyse de zone 146 pour répondre par l'émission de signaux de commande à l'un des démultiplexeurs 148, 150i 152. A titre d'exemple, si la structure de données qui arrive sur la ligne 35 de la file d'entrée (figure 1) est une section d'opérande, 11analyseur de zone commande le démultiplexeur 148 pour transmettre les zones d'opérande par l'une des trois lignes 47a, 39a ou 51a, la ligne 47a allant à unité logique de vecteurs, la ligne 39a allant à la file de sortie et la ligne 41a allant à la mémoire. Dans ce cas, l'analyseur de zone répond à la description de zone de la section d'opérande. De la meme façon, si une structure de données arrivant sur la file 51b de la mémoire (figure 1) est une section ou une zone d'opérande, la mémoire morte formant l'analyseur de zone 146 commande le démultiplexeur 152 par la ligne 162 pour assurer le transfert des données par la ligne 39b ou la ligne 450 la ligne 39b va à la file de sortie et la ligne 45 va à l'unité logique de vecteurs. Supposons maintenant qu'à la place d'une structure de données d'opérande que l'on reçoit par l'une des lignes 35 ou 51b, on reçoie une structure de données de programme. Cette structure de données de programme adresse la mémoire morte formant l'analyseur de zone 147, de façon que celui-ci transmette une adresse à l'une des mémoires mortes 1549 156, 158 par l'intermédiaire du démultiplexeur 150. Les mémoires mortes 154, 156, 158 forment une librairie de micro-programmes contenant les micro-programmes particuliers. Ces micro-programmes sont adressés par la structure de données arrivant par l'une des lignes de données 35 ou 51b. Supposons que la structure de données reçue par la mémoire morte formant l'analyseur de zone 146 commence par une zone qui indique que ce qui doit suivre est une section de programme, l'analyseur de zone crée un ensemble de signaux pour le démultiplexeur 150 qui envoie ces signaux par exemple à la mémoire morte de section de programme 154. En réponse à ces signaux qui adressent des régions particulières de cette mémoire morte, on crée des' signaux de commande par les lignes 43, envoyés I l'unité logique de vecteurs (figure 3) par la ligne 41b, vers la file de sortie figure 5) par la ligne 121 à la logique d'interface de la file d'entrée (figure 2) et le cas échéant par la ligne 144 au registre d'adresses 145 indiquant que l'opération particulière est terminée, En plus de la réception des structures de données par les lignes 35 et 51bai le registre d'adresses 145 reçoit divers signaux de commande. A titre exemple5 la ligne 123 transmet un signal de commande d'autorisation de lecture, fourni par la logique deinterface à la file d'entrée (figure 2).La ligne 43c transmet un signal de fin d'opération fourni par unité logique de vecteurs (figure 3). Par la ligne 41a, la file de sortie (figure 5) fournit un signal de maintien indiquant que la commande est terminée. Un signal de poursuite est également envoyé au registre d'adresses 145 par la mémoire morte en passant par la ligne 144. Le registre adresses 145 est un registre classique dit "entrée parallèle sortie parallèle". La mémoire morte formant lvanalyseur de zone 146 peut être une mémoire morte fabriquée par Signetics Corporation et contenue dans le catalogue de cette Société, de 1972 page 4;1. Les mémoires mortes 154, 156, 158 de la librairie a micro programmes peuvent être de meme type.Les démultiplexeurs 148 et 152 peuvent être des démultiplexeurs fabriqués par Signetics Corporation et contenus dans le~ catalogue de 1972. page 2132. Le démultiplexeur 150 peut être formé deun ensemble de démultiplexeurs en cascade, chaque; démultiplexeur étant par exemple fabriqué par Signetics Corporation et correspondant aux composants du catalogue de 1972, pages 2-130. Selon la figure 5, la file de sortie 29 est représentée comme circuit FIFO à mémoire double. Le circuit de commande entrée 145 reçoit les données soit de la file d'entrée, soit de la mémoire par les lignes 39, par l'unité de commande 23 (figure 15. Les lignes 41 transfèrent des signaux de commande de l'unité de commande 23 (figure 1). Le circuit de commande entrée 145 reçoit également les données de l'unité logique de vecteurs 27 par les lignes 59 et de la même façon transmet et reçoit les commandes de unité logique de vecteurs 27 par les lignes 57. Les données reçues par la commande entrée 145 en passant par les lignes 139 sont transmises soit à la mémoire opérande à accès aléatoire 155 ou à la mémoire adresses de destination à accès aléatoire 157 (dans la suite du texte l expression "mémoire à accès aléatoire"' sera parfois indiquée en abrégé par RMl) en fonction de la structure de données reçue, suivant qu'il s'agit d'une adresse de destination transmise de l'unité de commande 23 (figure 1) par la ligne de commande 41 ou d'un opérande déterminé par les signaux de la ligne de commande 41. La donnée reçue sur les lignes 59 par la commande d'entrée 145 est envoyée à la mémoire d'opérande ou à la mémoire d'adresses de destination en fonction des signaux transmis par les lignes de commande 57. A la fois la mémoire d'opérande et la mémoire d'adresses de destination peuvent être faites de chips de mémoire RAM tels que ceux fabriqués par Signetics Corporation et contenus dans le catalogue des composants de 1972, pages 4-20. Les deux mémoires sont adressées par un circuit indicateur d'écriture ou un circuit indicateur de lecture; à la mémoire d'opérande 155 correspond un dispositif indicateur d'écriture 147 et un dispositif indicateur de lecture 163; à la mémoire d'adresses de destination 157 correspond un dispositifindicateur d'écriture 149 et un dispositif indicateur de lecture 161. Le fonctionnement de ces divers dispositifsindicateurs d'inscription et de lecture est identique à l'opération à effectuer dans la file d'entrée lors de ltadressåge de la mémoire de file d'entrée 67 (figure 2). Le circuit de commande d'entrée 145 fonctionne comme la logique d'interface 61 de la file d'entrée (figure 2) en réponse aux signaux des comparateurs 151 et 153, de façon à arrêter la transmission d'information à la file de sortie 29 à partir de la file d'entrée, de la mémoire ou de l'unité logique de vecteurs. Les comparateurs 151 et 153 respectifs indiquent au circuit de commande d'entrée 145 la façon suivant laquelle le comparateur 77 de la file d'entrée de la figure 2 indique que les mémoires respectives sont soit complètes, soit vides, soit contiennent certaines données. Le circuit de commande de sortie 159 de la file de sortie 29 démarre une requête de lecture à partir soit de la mémoire d'opérande, soit de la mémoire d'adresses, constituée par des mémoires à accès aléatoire 155S 157 respectives, en réponse à la réception d'une instruction transmise par l'interface 1/0, 13 (figure 1) par la ligne 167 du câble 33. La commande de sortie 159 répond également à un signal retransmis par la ligne 165. En réponse aux signaux de l'une de ces lignes, le circuit de commande de sortie 159 peut transmettre une requête pour inscrire un signal de données dans la ligne 169 vers l'interface I/O.A la réception par exemple par la ligne 167, la structure de données dont une partie est contenue dans les deux mémoires est transmise en m#ode "signes en série" par les lignes 171 à l'interface entrée/sortie 13 (figure 1). I1 est à remarquer que lVinterface entrée/sortie 13 selon la figure 1, en réponse à la réception de structures de données par les lignes 171 de la file de sortie 29, envoie ces structures de données en fonction du champ d'adresse reçu par la mémoire d'adresse de destination RAM 157. Ainsi, les unités périphériques 1, 2 ou N (figure 1) reçoivent les données ou les structures de données qui sont envoyées directement dans la file d'entrée du calculateur 1 pour être traitées. Selon la figure 6, on a représenté une logique caractéristique pour un circuit de reconnaissance 63 (figure 2). Le circuit de reconnaissance 63 comporte deux conducteurs d'entrée 175, 173 dont chacun est relié à deux conducteurs d'entrée de la ligne 85. Les signaux de chacun de ces conducteurs 173 et 175 sont envoyés à l'entrée de la porte OU-EXCLUSIF-177 et de plus I la porte ET 179-par la ligne 193 ainsi quwà la porte ET 181 par la ligne 195.La sortie de la porte OU EXCLUSIF=197 suivant la ligne 191 est envoyée comme l'autre entrée aux portes ET respectives. * La sortie 89 de la porte ET 179 crée un signal de comptage "plus un" alors que la porte ET 171 sur la ligne de sortie 91 crée un signal de décomptage "moins un" pour le compteur-décompteur binaire 65. Le compteur-décompteur binaire 65 peut par exemple être un compteur tel que ceux fabriqués par Signetics Corporation et représentés dans le catalogue des composants de 1972, page 2-170. Le compteur-décompteur 65 fournit un comptage binaire par les lignes 97 à la logique d'interface 61 de la ligne d'entrée (figure 2) et il reçoit un signal d'horloge de la logique d'interface 61 par la ligne 199 du câble 93. La figure 7 illustre les représentations préférentielles de deux bits de quatre signes utilisés dans le calculateur 11 (figure 1). L2élément limite gauche de données appelé dans un but de simplification "parenthèse gauche" 174 est représenté par un signal de niveau haut sur la première ligne et un signal de niveau bas sur la seconde ligne, les deux signaux étant reçus pratiquement en meme temps. Une limite droite de données ou parenthèse droite 176 est représentée par un signal haut dans la première ligne et un signal bas dans la seconde ligne, en opposition directe à la représentation de la limite gauche de la donnée. Le chiffre binaire 1, 178 est représenté par deux signaux hauts. Le chiffre binaire 0,171 est représenté par deux signaux bas. En se reportant de nouveau à la figure 6, on décrira le fonctionnement en déterminant si les signaux transmis le long de la ligne 85 représentent des signes de limites droite ou gauche de données, le nombre binaire 1 ou le nombre binaire 0. Supposons, à titre d'exemple, que le signal binaire dans le conducteur 175 soit un signal 1, ou état logique haut et que le signal binaire dans la ligne 173 soit un signal binaire O ou état logique bas, la sortie de la porte OU-EXCLUSIF-177 sera un nombre binaire 1 et le signal sur la ligne 193 sera un nombre binaire 1, de sorte que la porte ET179 donne un signal de niveau haut sur la ligne 89. Ce niveau de signal assure que l'état de comptage du compteur-décompteur 65 augmente d'une unité.Si l'on suppose que le signal binaire sur la ligne 175 soit un signal O et que le signal binaire sur la ligne 173 soit un signal 1, représentant le signe parenthèse droite, la sortie de la porte OU-EXCLUSIF 177 sera un signal binaire 1, de sorte que la sortie de la porte ET 181 sur la ligne 91 sera un signal haut. Le niveau haut du signal sur la ligne 91 entraîne que l'état de comptage du compteur-décompteur binaire 65 diminue de 1. L'état de comptage du compteur-décompteur binaire 65 est envoyé à la logique d'interface 61 de la file d'entrée (figure 2). Chaque fois que les deux lignes d'entrée 173 et 175 de l'unité de reconnaissance sont au niveau haut, il n'y a aucun signal sur l'une des lignes de sortie 89 et 91 puisque la porte OU-EXCLIJSIF-177 ne crée pas de signal d'autorisation sur la ligne 191. La meme situation existe lorsque les deux lignes 173 et 175 sont toutes deux à liétat logique 0. Selon la figure 8, on décrira l'arrangement des zones ou la forme générale d'une section de données qui constitue l'unité de base d une structure de données. La première zone de la section est une zone de description. Les zones suivantes sont des zones de données. La dernière zone est une zone finale. Les parenthèses les plus à gauche et à droite 201 et 219 définissent une section. Supposons que cette section que 17 on peut considérer comme une simple structure de données soit transmise de la gauche vers la droite, la parenthèse d'ouverture étant 201 et la parenthèse de fermeture 219. La première zone qui suit la parenthèse deouverture 201 est une zone de description 203 qui est ellemême délimitée par deux paires de parenthèses. La zone qui suit la zone de description peut être une zone d'opérande telle que représentée par la zone 205 ou une zone d'adresse ou une zone d'opérateur. La donnée de la zone de description 203 décrit le type ou l'ordre de présentation des diverses zones suivantes. Les intervalles 207, 211 et 215 entre les zones de données 205, 209 et 213 peuvent être appelés intervalles vides permettant le cas échéant d'augmenter la largeur des zones de données 205, 209 et 213. LarsquVon-dilate ces zones, on augmente les intervalles libres. L'ensemble des intervalles libres peut servir ultérieurement à augmenter les zones. La raison exacte pour laquelle cela se produit sera décrite plus en détail ci-après. Le dernier champ de chaque section est une zone finale 217 qui généralement ne contient pas de donnée. En d'autres termes, il se compose simplement de deux signes, une parenthèse gauche et une parenthèse droite. La zone finale 217 et la parenthèse de fermeture de section 219 constituent trois signes qui représentent le code final de la structure de données ou section. Puis, ce code selon la convention à 100 la figure 7 est 01 ls transmis par signes en série ou par deux bits en parallèle, de la gauche vers la droite. La zone finale et la parenthèse de fin de section sont interprétées comme code de fin de section par la logique d'interface 61 de la file entrée (figure 2). Lorsque ce code se présente, la sortie du compteur 65 (figure 2) sera à état O si aucune erreur ne sVest produite dans les zones de données du dossier. Par exemple, lVétat de comptage de sortie du compteur 65 de la structure générale de dossier selon la figure 8 correspond à ce qui suit ç 121212121210. Ainsi, la combinaison d'un état de comptage O du compteur 65 et lYarrivée du code de terminaison indiquent que la structure données reçue ne contient pas d'erreur. Par exemple, s'il y avait une erreur dans un signe de parenthèse, le compteur ne serait ni augmenté, ni diminué (incrémenté ou décrémenté). S'il y a une erreur dans un signe de données, le compteur de parenthèse est augmenté ou diminué de façon erronée. Dans chaque cas, on a un état de comptage différent de zéro, à l'instant où se produit la fin de code.Cela indiquera une erreur, de sorte que l'interface logique de la figure 2 répond en demandant une retransmission comme indiqué ci-dessus La structure de chaque dossier, représentée de façon générale I la figure 8, doit satisfaire à certaines règles de syntaxe. Ces règles sont les suivantes 1) Aucun signe 1 ou O ne peut exister entre deux parenthèses tournées dans le même sens. A titre d'exemple, il ne peut y avoir de signe entre la parenthèse d'ouverture de section 201 et la parenthèse d'ouverture de section de la zone de description 203. 2) La première zone de la section doit être la zone de description 203. 3) La dernière zone de la section est toujours la zone finale 207. Dans notre exemple, cette zone ne contient aucune donnée. Une zone de données telle que la zone de données A, 205 à la figure 8 peut elle même être formée d'un ensemble de zones ou même d'un ensemble de sections. A titre d'exemple, la figure 9 représente une zone A formée de trois sous-sections a, b, et c. La parenthèse d'ouverture de zone 221 et la parenthèse de fermeture de zone 223 définissent une zone de données A. A l'intérieur des parenthèses, on peut avoir un ensemble de sections de vecteurs. Les sections a, b et c, 225, 229 et 233 respectives représentent les sections de vecteurs. Les sections doivent satisfaire aux règles générales de syntaxe données dans le cas de la section générale selon la figure 8. Cela signifie que chaque section contient une zone de description, des zones de données et une zone finale. Comme cela peut se trouver pour une section, les intervalles entre les sections de vecteur dans une zone telles que 227 et 231 permettent le cas échéant de dilater les sections de vecteurs dans cette zone. Cette structure imbriquée des zones dans les sections et des sections de vecteurs dans les zones se comprend facilement si l'on envisage une structure d'arbre ayant des noeuds représentant les programmes ou les opérateurs. A titre d'exemple, supposons que lçopération définie ci-après doive être effectuée sur un ensemble de lettres représentées par des lettres capitales de l'alphabet : {(A+B)-(C+D)] + [(F+G)-J] - ([(K-L) + (M-N)]+ O-Q/)R - > X La combinaison arithmétique de 14 lettres différentes peut être représentée par la structure en arbre de la figure 10. La structure en arbre de la figure 10 reçoit à ses entrées, au niveau des "feuilles" 225, les lettres ou autres opérandes qui sont à traiter selon le programme donné par les divers noeuds 227, etc. de l'arbre. A titre d'exemple, les lettres A et B sont envoyées à lsopérateur addition de programme au noeud 227; les lettres C et D sont envoyées à 1'opérateur d'addition de programme au noeud 229. Les résultats des deux opérations sont envoyés à l'opérateur de soustraction de programme. au noeud 231. Lorsque cela se produit, les lettres F et G peuvent être envoyées I un noeud 235 correspondant à un autre opérateur d'addition de programme, le résultat de l'addition étant envoyé à un opérateur de programme de soustr#action au noeud 237, ainsi que l'autre lettre J. Le cas échéant, en même temps que ces opérations se font, les lettres K et L sont envoyées à l'opérateur de programme de soustraction au noeud 239 et les lettres M et N sont envoyées à autre opérateur de soustraction de programme au noeud 241 et les lettres 0 et Q sont envoyées à un autre opérateur de programme de soustraction au noeud 247. Le résultat de l'opération au noeud 239 et le résultat de l'opération au noeud 241 sont envoyés à ltopérateur d'addition au noeud 243. Le -rèsultat de l'opérateur de soustraction au noeud 231 et le résultat de l'opérateur de soustraction au noeud 237 sont envoyés à l'autre opérateur addition au noeud 233. Le résultat de l'opérateur d'addition au noeud 243 et de l'opérateur de soustraction au noeud 247 sont envoyés à un autre opérateur d'addition au noeud 245. Le résultat de ltopérateur d'addition au noeud 245 est envoyé à l'opérateur de soustraction au noeud 249 qui reçoit également la lettre R. Le résultat de liopérateur de soustraction au noeud 249 et de l'opérateur d'addition au noeud 233 sont envoyés à l'autre opérateur de soustraction au noeud 251. Le résultat de ce noeud est envoyé à l'opération "transmission à X" en 253. Il ressort de la description de la structure en arbre que le traitement des opérandes suivant une structure en arbre facilite le traitement des opérandes de façon simultanée. Cela signifie que les opérations qui se produisent au même niveau tel qu'aux noeuds 227, 2295 235, 239, 241 et 247 se produisent pratiquement en me temps si l'on dispose des opérandes adéquats. La méme remarque est vraie pour toutes les opérations à un autre niveau tel que le second niveau pour les noeuds 231, 237 et 243, si lton dispose simultanément du résultat des opérations précédentes. L'exemple de la figure 10 considère des opérations dyadic telles que l'addition et la soustraction, dans le but de simplifier la description et de faciliter la compréhension. Cependant, il est évident que ce type de schéma de procédé à structure en arbre s'adapte également aux opérations monadic et dyadic, avec le même résultat. il est à remarquer que, pour avoir l'avantage d'un traitement simultané, il faut utiliser un système de processeurs de données. Pour représenter comment les structures de données de sections imbriquées selon les figures 8 et 9 complètent les concepts de traitement de structure en arbre, on examinera les opérations dyadic simples suivantes, portant sur quatre lettres ç (A+B) - (C+D). Ces opérations sont représentées dans la structure en forme d'arbre de la figure llo Les lettres A, B, C et D au niveau des "feuilles" 255, 257, 259 et 261 sont envoyées aux opérateurs des noeuds du premier niveau, à savoir les noeuds d'addition 263 et 265. Les résultats de ces noeuds sont envoyés au niveau suivant ou noeud de soustraction 267. Le résultat 269 de ce noeud 267 peut etre envoyé à un autre noeud ou opérateur de programme ou encore à une utilisation physique. Chaque noeud de la structure, d'arbre selon la figure 11 peut être considéré comme une section. C'est pourquoi, en considérant ces deux niveaux d'opérateurs de noeud, la section qui décrirait le noeud de soustraction 267 est représentée comme section de noeud de soustraction 271. Cette section est délimitée par une parenthèse droite et une parenthèse gauche et comporte une première zone qui est la zone de description 277 décrivant la nature et la séquence de la section. Dans ce cas, P représente le programme ce qui signifie que cette section est une section d'opérateur de programme. Comme cette section est une section d'opérateur, la zone suivante, à la suite de la zone de description, sera une zone 279 contenant le code opérateur OP. Dans notre exemple, le code opérateur décrit une opération de soustraction. Comme il s'agit d'une opération dyadic, les zones qui suivent la zone d'opérateur décrivent les deux opérandes à soustraire. Ces deux opérandes sont les résultats des noeuds d'addition 263 et 265. Etant donné que les opérandes résultent des autres opérations, les zones d'opérandes sont des sections de vecteur. C'est pourquoi les opérandes sont représentées par les sections de vecteur 273 et 275. La zone qui suit les zones d'opérandes est une zone d'adresse de destination 287 qui indique la destination où il faut envoyer le résultat de l'opération de soustraction. La dernière zone de la section de soustraction est la zone de terminaison 289. On peut avoir un intervalle libre à n'importe quel endroit entre les zones d'une section. A titre d'exemple, dans la section du programme de soustraction, on a un intervalle libre en 2831g 283 et 285. Il est à remarquer que, comme les zones d'opérandes de la section du programme de soustraction sont des sections de vecteur, on peut également avoir des intervalles libres entre les zones dans ces sections. Examinons deux sections de vecteur dans la section de programme de soustraction, dans la section de vecteur d'addition 273 et dans la section de vecteur d'addition 275. Ces sections sont elles aussi structures selon les règles de syntaxe données cindessus. On a des parenthèses limites gauche et droite pour la section. Dans ces parenthèses, la première zone est une zone de description qui, dans ce cas, décrit la section comme étant une section de vecteur Fen réservant la zone suivante au code opérateur. Dans notre exemple, on décrira une opération d#addition. Les zones qui suivent la zone OP sont des zones d'opérande qui, dans notre exemple, sont des lettres. En plus, aux zones d'opérande, on a des sections de vecteur dyadic telles que les sections 273 et 275 dans une section plus grande telle qu'une section de programme 271 contenant les zones résultantes et référencées par R I la figure 11.Ces zones résultantes R reçoivent le résultat de l'opération dyadic décrite par la section de vecteur, si le résultat ne peut servir au moment où il est obtenu. Pour faciliter la compréhension, on décrira le fonctionnement général du calculateur 11 selon la figure 1, dans le cadre d'un tableau de programme simple représenté à la figure 11, et qui utilise seulement des opérateurs dyadic. Pour faciliter encore les explications et la compréhension, on suppose que les structures de données de programme ou sections de programme sont de type dynamique et sont reçues 'par la file d'attente d'entrée 21 (figure 1). Cependant, il est évident que l'inverse peut également se faire et les sections d'opérande peuvent également être stockées dans la mémoire de calculateur 25, et les sections de programme peuvent être envoyées au calculateur il par la file d'entrée 21. Pour mettre en oeuvre le schéma fonctionnel de la figure 11, la mémoire du calculateur contient une section de programme comme représenté à la figure 12B sous la rubrique "mémoire". Le contenu initial de cette section avant que le calculateur n'ait reçu aucune section d'opérande est représenté dans la position "1". La première zone 291 de la section est une zone de description qui identifie la section comme section de programme. La premiere zone 301 qui suit la zone de description est une zone décrivant l'opération à effectuer. Dans le présent exemple, il s'agit d'une opération de soustraction. La zone suivante qui suit la zone d'opérateur 301 est une zone d'opérande délimitée par une parenthèse gauche 305 et une parenthèse droite 327. Cette zone d'opérande est une section de vecteur qui représente une opération dyadic. A la suite de cette zone d'opérande, on a une seconde zone d'opérande qui est également une section de vecteur. La zone qui précède directement la zone finale est une zone d'adresse de destination 343. Il est à remarquer que l'on peut laisser un intervalle entre les diverses zones de la section de programme de soustraction de façon à avoir des intervalles 303, 329, etc. pour dilater les zones d opérande. On procédera tout d'abord à l'examen de la première zone d'opérande qui est une section de vecteur. Dans ce cas particulier, on a l'opération d'addition. i Les zones d'opérande 309 et 313 de cette section particulière,(il s'agit d'une opération dyadic; suivent la zone décrivant l'opérateur. En outre, cette section de vecteur contient une zone de résultat 321 au lieu de la zone d'adresse de destination. Les zones opérande 309, 313 et la zone de résultat 321 sont toutes à l'état contracté en laissant une quantité importante d'intervalles libres 307, 311, 315 et 323. En d'autres termes, les zones sont simplement définies par une parenthèse gauche suivie par une parenthèse droite et ne contenant pas de signes. Les zones d'opérande restent contractées, comme cela sera décrit plus en détail ultérieurement, jusqu'# ce qu'elles- reçoivent les opérandes. La seconde zone d'opérande de la section de programme de soustraction est également une section de vecteur ayant la même structure que celle décrite ci-dessus pour la première zone d'opérande. il s'agit de deux zones d'opérande 333 et 335, d'une zone de résultat 337 et d'une zone finale 341. Lorsque ces zones sont vides, elles sont contractées en laissant entre elles d'importants intervalles libres 331, 339, etc. Ce qui précède décrit la structure envisagée d'une section de programme dans la mémoire du calculateur qui reste statique en mémoire ] usqutà ce qu'une structure de données d'opérande ou une section arrive dans la file d'entrée et soit adressée pour cette section de programme particulière. La structure de cette section de programme donne un mécanisme récurrent qui accélère l'exécution de l'algorithme. Une variante de structure de données pour effectuer le schéma de la figure 11 consisterait à utiliser trois sections de programme à la place d'une seule section de programme contenant deux sections de vecteur comme représenté. Ainsi, les deux sections de vecteur d'addition et la section de programme de soustraction représentent trois sections de programme indépendantes. La zone résultante (R) de chaque section de vecteur peut être remplacée par une zone d'adresse de destination (DA). La zone d'adresse de destination des deux sections de programme addition adressera la section de programme de soustraction, comme décrit ci-après. En utilisant ce type de structure de données, il faut que le résultat de chaque opération soit sorti du calculateur et ramené à son entrée pour passer au noeud de l'opérateur suivant. Contrairement à cela, la section de programme représentée supprime la nécessité de lçenvoi du résultat d'une opération de section de vecteur hors du processeur, et de la ramener à l'entrée pour la suite de l'opération. Pour poursuivre avec la structure de données représentée, on suppose que les sections de données arrivent à la file d'entrée. On suppose également que le premier opérande arrivé dans la section de données soit l'opérande A. La section qui contient cet opérande est représentée à la figure 12A comme structure de section 1, sous la rubrique "file d'entrée". La première zone de cette section de données est une zone de description 375 qui indique que cette section particulière est une section d'opérande contenant une lettre. Cette zone de description est analysée par l'analyseur de zone 146 (figure 4) du dispositif de commande 23; en réponse à cette analyse, on prévoit des chemins adéquats vers la mémoire de calculateur 25 pour la zone suivante 377 qui est une zone adresse de mémoire, adressant la section de vecteur particulière à laquelle appartient la lettre A. L'adresse de mémoire 377 adresse l'envoi de la mémoire de calculateur qui commence par la parenthèse gauche 305 de la section du vecteur d'addition, dans la section du programme de soustraction 301. La zone suivant la zone d'adresse 377 est une zone de position d'opérande 379 qui indique laquelle des zones d'opérande 383 qui suit appartient à la zone d'opérande gauche ou droite 309, 313 respective, de la section de vecteur particulière. La section d'opérande reçue dans la file d'entrée contient également une zone finale 387 et peut avoir des intervalles libres 381, 385 entre les zones de cette section. Le dispositif de commande 23 agit par l'intermédiaire de son analyseur de zone 146 formé par une mémoire morte et par sa librairie de sous-programmes formée par l'ensemble des mémoires mortes 154, 156 et 158 pour interroger la section du vecteur d'addition après l'adressage de cette section, par la section d'opérande dans la file d'entrée de façon à déterminer si opérande B est déjà arrivé et si cet opérande est mis en mémoire dans la zone 313. Comme dans ce cas cela ne s'est pas fait, comme indiqué à la commande par les zones d'opérande vides 309, 313, le dispositif de commande met en mémoire l'opérande A dans la zone correspondante 309. Comme l'opérande A est inscrit dans la mémoire signe par signe, la section d'opérande 309 se dilate de façon à prendre la dimension exacte.Les caractéristiques relatives à l'opérande sont inscrites dans la mémoire, de façon classique, de sorte que la description ne sera pas faite. C'est pourquoi il en résulte qu'au niveau de la section littérale représentée à la position 19 à à l'arrivée dans la file d'entrée, la section de programme de soustraction de la mémoire du calculateur reçoit la lettre A, en mémoire, dans la zone d'opérande 347 adéquate de la section de vecteur qui a été adressée et qui commence par la parenthèse gauche 345 comme représenté en position 2, sous la rubrique "mémoire" de la figure 12B. La lettre A est maintenant mise en mémoire dans la zone d'opérande adéquate i cette zone a été dilatée et l'intervalle libre 349 entre cette zone d'opérande et la zone d'opérande voisine est alors utilisé complètement ou est considérablement diminué On suppose maintenant que la section d'opérande suivante arrive dans la file d'entrée 21 du calculateur 11 (figure 1) et que celle-ci contient l'opérande D dans la zone d'opérande 382 comme représenté en position 2 sous la rubrique "file d'entrée". De plus, la zone de description. qui indique à l'unité de commande les zones qui doivent suivre, on a une zone, d'adresse de mémoire 376 et une zone de position d'opérande 389 dans cette section d'opérande. La section littérale en position 2 de la file d'entrée contient une zone d'adresse de mémoire 376 qui adresse la section de vecteur d'addition dans la section de programme de soustraction, au niveau de la parenthèse initiale 346 (position 2 sous la rubrique "mémoire"). Dès que la section de vecteur est adressée l'unité de commande lorsqu'elle reconnaît la zone d'opérateur de la section de vecteur, met en oeuvre le micro-programme d'addition adéquat de la librairie à microprogrammes et qui se compose des mémoires mortes 154, 156 et 158 (figure 4). Si ce micro-programme constate que tous les opérandes nécessaires à l'opération ne sont pas présents, ni dans la file d'entrée ni dans la mémoire du calculateur, un autre micro-programme est mis en oeuvre pour mettre la lettre D dans la zone d'opérande 382 de la section de file d'entrée de la zone d'opérande adéquate 351 de la section de vecteur d'addition comme indiqué par le code de position d'opérande dans la zone 389 de la section littérale de la file d'entrée. Par suite du traitement de la seconde section littérale, la structure de données de la mémoire apparaît comme représenté en position 3 sous la rubrique "mémoire". Cela signifie qu'une lettre A est contenue dans la zone d'opérande adéquate, de la première section de vecteur d'addition et la lettre D est contenue dans la zone d'opérande adéquate-de la seconde section de vecteur d'addition. On suppose que la troisième section d'opérande qui arrive dans la file d'entrée contient un opérande B dans la zone d'opérande 384 et que cet opérande est à combiner avec l'opérande A. Le dispositif de contrôle décèle grâce à la zone de description L qu'il s'agit d'une section littérale et c'est pourquoi la zone suivante 378 est une adresse de mémoire qui adresse la première section de vecteur contenant l'opérande A. Le dispositif de commande procède à la lecture de cette section de vecteur adressée; l'analyseur de zone à mémoires mortes 146 (figure 4) détermine à partir de la zone de description "V" qu'il s'agit d'une section de vecteur contenant un programme. La zone qui doit faire suite I cette zone de description est ainsi une zone de code dsopérateur. En réponse à la zone d'opérateur, l'analyseur de zone commande le micro-programme adéquat dans la librairie de micro-programmes formée par les mémoires mortes 154, 156 ou 158 (figure 4) et produit en outre la lecture de la lettre A de la mémoire pour adresser la mémoire morte 125 adéquate de 11 unité logique de vecteur (figure 3) et en même temps on effectue la lecture de la lettre B dans la file d'entrée pour adresser cette lettre à la même mémoire morte 125 de l'unité logique de vecteur. I1 est à remarquer que 1'unité logique de vecteur est une unité arithmétique en série qui traite deux signes en même temps à savoir un signe de chacune des deux zones d'opérande. Lorsque l'unité logique de vecteur a terminé son fonctionnement en réunissant les opérandes A et B par addition, le micro-programme détermine si la zone résultante de la seconde section de vecteur est pleine.Comme, dans ce cas, elle est vide, il stocke le résultat de l'addition des lettres A et B dans la zone résultante adéquate de la première section de vecteur. I1 résulte de la troisième section d'opérande qui apparaît dans la file d'entrée que la section de programme de soustraction en mémoire est structurée comme représenté en position 4 sous la rubrique "mémoire"; les zones d'opérande occupées par les lettres A et B, les zones 355 et 359 respectives sont alors vides puisque ces zones ont été comprimées au cours de la lecture; la zone résultante 359 qui contient le résultat de l'addition de A et B est pleine. La lettre D comme opérande de la seconde section de vecteur est également présente. Le seul opérande qui fait défaut à ce moment est la lettre C. On suppose que la section d'opérande, qui arrive, contient opérande C dans la zone 386. Le dispositif de commande reconnaît qu'il s'agit d'une section littérale et ferme les chemins appropriés de façon que la zone d'adresse de mémoire 380 puisse adresser la seconde section de vecteur. Le dispositif de commande lit alors cette section de vecteur, commande l'unité logique de vecteur pour effectuer l'opération demandée par la zone du code opérateur et effectue l'addition de C et D de la même façon que cela a été décrit pour les opérandes A et B. Cependant, à la fin de cette opération, comme la zone résultante 369 de la première sous-section du programme d'addition est pleine, en plus du stockage du résultat de l'addition des lettres C et D dans la zone résultante 367, on choisit un autre micro-programme qui conditionne l'unité logique de vecteur selon la zone du code opérateur de soustraction dans la section de programme de soustraction.Ce micro-programme fait que l'unité de commande envoie à l'unité logique de vecteur, suivant des signes en série, le résultat de l'addition A plus B provenant de la zone résultante ou zone de résultat 369, dans la mémoire du calculateur, en même temps que celle-ci reçoit l'addition de C plus D, de façon à faire la soustraction des deux résultats. Pendant que s'effectue cette opération, la zone de destination 343 de la section de programme de soustraction est envoyée à la mémoire d'adresse de destination 157 de la file de sortie 29 (figure 5). Cette zone d'adresse de destination 375 (comme représenté à la figure 12 sous la rubrique "file de sortie" en position 1) est une section de vecteur de destination, dont la première zone est une zone de description 381 qui, dans notre exemple, identifie la section comme étant une section littérale ou section d'opérande; à la suite de cela, il est prévu une zone d'adresse 383 et une zone de position d'opérande 385 qui suit la zone d'adresse. Les zones d'opérande telles que la zone 387 peuvent être prévues à la suite de la zone de position d'opérande. Comme la syntaxe de la structure de section doit être satisfaite, la section d'adresse de destination se termine par la zone finale 390. La zone d'adresse de destination, qui est une section de vecteur, peut avoir un intervalle libre entre les zones qu'elle comporte, tel qu'un intervalle libre 389. La zone d'opérande 387 à cet endroit ne contient rien et se présente sous forme comprimée ou contractée. A ce moment, la zone d'opérande 387 ne contient rien et se présente sous forme contractée. Si l'unité logique de vecteur reçoit le résultat de la soustraction des lettres C plus D par rapport aux lettres A plus B, ce résultat tel que représenté en position 1 sous la rubrique "mémoire d'opérande", à la figure 12B, est envoyé à la mémoire d'opérande 155 de la file de sortie (figure 5?. Le dispositif de commande de sortie 159 de la file de sortie 29 (figure 5) transmet un message sous une forme essentiellement identique à la forme de la réception dans la file d'entrée comme représenté à la figure 12B sous la rubrique "message transmis". Comme dans le présent exemple, il s'agit d'un résultat littéral, la section transmise est une section d'opérande délimitée par la parenthèse droite 377 et la parenthèse gauche 379. La première zone est une zone de description 381 qui définit la section comme une section d'opérande. La seconde-zone est une zone d'adresse 383. Cette zone d'adresse telle que représentée à la figure 12B peut etre une zone simple contenant une désignation d'uni tés périphériques 384 ou, dans le cas d'un système à processeursmultiples, il peut être prévu des zones corrlposéesetelles qu'une zone 386 définissant une unité de processeur et une zone d'adresse de mémoire 388 définissant une partie caractéristique de la mémoire du processeur à adresser. La zone suivant la zone d'adresse est une zone de position d'opérande 385, le cas échéant. La zone qui suit la zone de position d opérande est la zone de résultat 393. La zone opérande qui sort de la file de sortie se termine par une zone finale 391 et une parenthèse droite 379. En résumés la description du fonctionnement faite ci-dessus indique clairement que le calculateur de la figure 1 exécute une opération seulement après avoir relié deux structures de données, l'une étant une structure de programme, l'autre étant une structure d'opérande. Dans le cas de l'exemple caractéristique, la structure de programme sous la forme de sections de programme est stockée dans une mémoire d'ordinateur attendant l'arrivée des structures d'opérande ou des sections d'opérande qui adressent les sections de programme adéquates en faisant que unité de commande du calculateur exécute le programme prévu.Cette opération commandée par les données concerne ainsi un processeur de données numériques qui présente des possibilités améliorées et peut servir de bloc de construction de base d'un calculateur à processeurs multiples, chacun des blocs ayant des fonctions définies par les sections de programme stockées dans les surfaces de mémoire respectives. Comme l'arrivée des sections d'opérande à l'entrée du processeur de données, particulier assure la mise en oeuvre du programme adressé lorsqu'un tel calculateur est utilisé comme un bloc servant à la construction d'un calculateur à processeurs multiples, il nnest pas nécessaire d'avoir un programme de commande principal ou un système d'interruption extensible réglant l'interaction des processeurs dans le calculateur à processeurs multiples. On voit que la description faite ci-dessus montre clairement que le calculateur de la figure 1 présente des possibilités d'émulation améliorées étant donné que le vocabulaire à quatre signes du calculateur à quatre signes en série facilite les structures de données à longueurs de zone variables. Ces structures de données se vérifient facilement pour les erreurs par l'utilisation de circuits logiques simples dans le chemin de passage des données. Bien entendu, l'invention n'est pas limitée aux exemples de réalisation ci-dessus décrits et représentés, à partir desquels on pourra prévoir d'autres formes et d'autres modes de réalisation, sans pour cela sortir du cadre de l'invention. REVEND ICAT IONS 10) Système processeur de données binaires comportant une mémoire et un circuit d'entrée, ainsi qu'un mécanisme récurrent, système caractérisé en ce qu'il comprend des structures de données contenues dans la Lnémoire, ces structures de données représentant des données de programme organisées de façon hiérarchique imbriquée, en fonction des sections de données de programme composées de zones d'opérande et d'une zone résultante associées à la zone de description de programme particulière et des structures de données reçues par le circuit d'entrée, les structures de données représentant la donnée d'opérande organisée en ordre hiérarchique imbriqué, les structures de données assurant l'adressage de certaines des structures de données dans la mémoire. 20) Système processeur de données binaires selon la revendication 1, caractérisé en ce que la section de données de programme comporte au moins une zone d'opérande et une zone d'adresse de destination associées à la zone de description de programme, la zone d'opérande étant une section de vecteur composée au moins d'une zone d'opérande, d'une zone résultante et d'une zone de description de vecteur. 30) Système processeur de données binaires selon l'une quelconque des revendications 1 et 29 caractérisé en ce que les zones d'opérande et la zone résultante- de la section de vecteur sont contractées lorsqu'elles sont vides, jusqu'à ce qu'elles soient dilatées par l'inscription des données correspondantes. 4~) Système processeur de données binaires selon la revendication'l, caractérisé en ce que les structures de données contenues dans la mémoire, les structures de. données représentant les données de programme organisées hiérarchiquement e, façon imbriquée en fonction des données de programme ayant le format suivant ((P)(OP)xxx((V)(OP)xx(A)xx(B)xx(R) ( ))xx(Cjxx(DA)( ) ) toutes les parties délimitées par des parenthèses à l'intérieur des parenthèses proprement dites étant des zones, P représentant une zone de description de programme, OP -représentant une zone d'opérateur, A, B et C représentant des zones d'opérande, V représentant une zone de description de vecteur, Et représentant une zone résultante et DA représentant une zone d'adresse de destination. 50) Système processeur de données binaires selon la revendication 4, caractérisé en ce qu'il comprend en outre des structures de données reçues par le circuit d'entrée et représentant des données d'opérande organisées de façon hiérarchique imbriquée en fonction des sections 'opérande composées d'au moins une zone d'opérande et d'une zone d'adresse de mémoire, associées à une zone de description d'opérande particulière.