Brevet FR2262831A1 — 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 l'effet des couts en circuit. Cette contrainte s'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 jusqu'alors. 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 à entre 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, a' partir de ltexté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 corr#espondantes peuvent s t 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 1; - La figure 5 est un schéma logique de la file de sortie du processeur de la-figure 1; - 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 proce#sseur 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 15, 17, 19 par des interfaces entrée/sortie 139 L'interface entrée/sortie 13 peut entre 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 Il par l'intermédiaire du câble d'entré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 11 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, 175 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 11 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érieurement, 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 31, en fonction du système d'horloge du calculateur 11. Les structures de données reçues par la file 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 25, 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 cible 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 cable 37 et la communication de commande entre le dispositif de commande 23 et la mémoire 25 par le cable 49 seront expliquées ci-après. A côté des structures de données de la file d'entrée 21 que l'on transmet à la memoire 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 cible 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 ci#après. Unité 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. L'unité logique de vecteurs peut communiquer directement avec la mémoire 27 en passant par le cible 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 25 en passant par le câble de commande 55 et avec la file de sortie 29 en passant par le cible de commande 57, sont des opérations qui seront décrites ci-après. La mémoire 25 du calculateur commandé par les données 11 peut être 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éatoire 7 tels que les composants fabriqués par Signetics Corporation.Dans le catalogue des composants de 1972 de cette Sociétés en pages 4=24y la Signetics Corporation cite un chip de mémoire à accès aléatoire à 32/2 > 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 l'unité logique de vecteurs 27 2 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 r 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 a signes en série et transmettant ces signes à l'interface I/O. Selon la figure 2, la file d'entrée 21 communique avec l'interface I/O par le cible 31. Le câble 31 est formé des lignes 79, 819 83 et 85, venant ou allant à la logique d'interface 61 dans la file d'entrée Z1. Les lignes 85 sont deux lignes de données parallèles, recevant deux bits en parallèle de l'interface I/0 (figure 1). Les deux bits en parallèle représentent un signe. Les autres trois lignes 79, 81, 83 sont des lignes de commande entre la file d'entrée et l'interface I/O. 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/0 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 I/O, 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/0, 13 (figure 1) soumise à l'interface logique 61, 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 à la logique d'interface 61 par le cible 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 l'espace 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 lgintermé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 requete 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 quelle est reçue; elle est lue de la mémoire de file ventré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 d#inscription crée un signal d'autorisation d'inscription sur la ligne 1033 ce signal est envoyé à la mémoire de la file dPentrée 67 à un signal de sélection dyinscriptions 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 être tel que celui fabriqué par Signetics Corporation et décrit dans le catalogue des composants de 19?2 en page 2-136. En principe, le sélecteur, en réponse à un signal dînscription ou de sélection de lecture dans la ligne 105 choisit le signal de sortie d'inscriptlon 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 à la fois du dispositif indicateur d'é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 être un comparateur tel que celui fabriqué par Signetics Corporation et représenté dans le catalogue des composants de 1971 TTL/MsI 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, ctest-à-dire en tampon dit "premier entré premier sorti", le dispositif indicateur é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, mais n'est 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 a 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 lwétat de comptage du dispositif indicateur d#ecriture est égal à l état de comptage du dispositif indicateur de lecture , un signal est transmis par le comparateur la ligne 117 à la logique diinterface 61. Ce signal peut signifier que la mémoire de file d entrée 67 n est ni complètement vide, ni complètement pleine en fonction de la dernière requete de mémoire créée par la logique d'interface 61, qui était soit une requête 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 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 dentrée est vide. La logique diinterface 61 fait que, si la dernière opération de mémoire était lqopé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 mémoire 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 à zéro sur la ligne îoe, ce signal devant être envoyé à la fois aux dispositifs indicateurs é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 3 on a une unité logique de vecteurs en série 7 que l on peut utiliser dans le calculateur de la figure 1. 1 unité 27 se compose essentiellement de deux mémoires mortes 125 et 129. Les deux mémoires mortes peuvent par exemple entre des mémoires mortes telles que celles indiquées par Signet les Corporation dans son catalogue de composants de 1972 en page 4-1. Les registres d'adresses 124 et 128 des mémoires mortes 125 et 129 respectives sont des registres classiciues entrée paralleleWsortie 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éer 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 microacode 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 l) 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 deun signal de commande dans la ligne 43a, fourni par 1 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 ventré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 11 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 11 (figure I). Les démultiplexeurs 135, 137, 130 et 133, utilisés dans l'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 En supposant par exemple que l'on effectue une opération dyadic, un opérande A étant additionné à un opérande B un code OP désignant l'opération dyadic d'addition est envoyé au registre d'adresse 124 soit par la mémoire 25, soit par la file d'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 cible 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 0P' 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 1) 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 à 11 entrée de la mémoire morte 125 par les lignes 132, de façon à modifier l'addition des signes suivants. Dans le cas d'opé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 l'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 dtanalyse de zone 146 reçoit les structures de données de la file d'entre 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 li 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 liémissior de signaux de commande à l'un des démultiplexeurs 148 150 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, analyseur de zone commande le démultiplexeur 148 pour transmettre les zones d'opérande par lune des trois lignes 47a 39a ou 51a, la ligne 47a allant à l'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 deopérande, De la meme façon, si une structure de données arrivant sur la file 51b de la mémoire (figure 17 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 457 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çoive 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 à lsune des mémoires mortes 154, 156, 158 par l'intermédiaire du démultiplexeur 150. Les mémoires mortes 1549 156S 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 à 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 entrée (figure 2) et le cas échéant par la ligne 144 au registre 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 51bS le registre adresses 145 reçoit divers signaux de commande. A titre d exemple5 la ligne 123 transmet un signal de commande d'autorisation de lecture, fourni par la logique d'interface à la file d'entrée (figure 2). La ligne 43c transmet un signal de fin deopération fourni par l'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 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èlessortie paralièle'. La mémoire morte formant l'analyseur 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 à microtprogrammes peuvent être de même 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 2=132. Le démultiplexeur 150 peut être formé d'un 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 2fui130. Selon la figure 5, la file de sortie 29 est représentée comme circuit FIFO à mémoire double. Le circuit de commande d'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 1). Les lignes 41 transfèrent des signaux de commande de l-unité de commande 23 (figure 1). Le circuit de commande ventrée 145 reçoit également les données de l'unité logique de vecteurs 27 par les lignes 59 et de la mme façon transmet et reçoit les commandes de l unité logique de vecteurs 27 par les-lignes 57. Les données reçues par la commande d entrée 145 en passant par les lignes 139 sont transmises soit à la mémoire deopérande à accès aléatoire 155 ou à la mémoire d-adresses-de destination a 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 en enfonction 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 RhM 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 adresses de destination 157 correspond un dispositifindicateur d'écriture 149 et un dispositif indicateur#de lecture 161. Le fonctionnement de ces divers dispositifs- indicateurs d'inscription et de lecture est identique à l'opération à effectuer dans la file d'entrée lors de l'adressage 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 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 155, 157 respectives, en réponse à la réception d'une instruction transmise par l'interface I/O, 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 mode "signes en série" par les lignes 171 à l'interface entrée/sortie 13 (figure 1). Il est à remarquer que 19 interface entrée/sortie 13 selon la figure 1, en réponse à la réception de structures de données par les lignes l71 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 reco#nnaissance 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 à la porte ET 179 par la ligne 193 ainsi qu'à 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 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 cible 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). L'é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 même 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. n 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 0 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 ET-179 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 lion suppose que le signal binaire sur la ligne 175 soit un signal 0 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 lté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 dtinterface 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 nty a aucun signal sur l'une des lignes de sortie 89 et 91 puisque la porte OU-EXCLUSIF-177 ne crée pas de signal d'autorisation sur la ligne 191. La même 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 l'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 d'ouverture 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 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. Lorsquton 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 215 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 011' 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 dnentree (figure 2). Lorsque ce code se présente la sortie du compteur 65 (figure 2) sera à lrétat O si aucune erreur ne s'est produite dans les zones de données du dossier. Par exemple, l'é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 drun état de comptage O du compteur 65 et Isarrivé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 11 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 à 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 O-#ï)#R #X - (È(KL) + Z(F+G)-J7- (K L) + (M-N)3+ 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 à l'opérateur addition de programme au noeud 227; les lettres C et D sont envoyées à l'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 à 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 soustraction 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 à l'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 à Ifopé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 à autre opérateur de 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 l'opé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 2275 229, 235, 239, 241 et 247 se produisent pratiquement en meme 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 l'on 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 suivantes9 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 il 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 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 être envoyé à un autre noeud ou opérateur de programme ou encore à une utilisation physique. Chaque noeud de la s#tructure d'arbre selon 1a figure Il 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 cui signifie que cette section est une section dopé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 dgopé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érations9 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 281, 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 addition 275. Ces sections sont elles aussi structures selon les règles de syntaxe données ci-dessus. 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, en réservant la zone suivante au code opérateur. Dans notre exemple, on décrira une opération d'addition. Les zones qui suivcnt la zone OP sont des zones d'opérande qui, dans notre exemple, sont des lettres. En plus, aux zones d'opérandes 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 à 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 ou il est obtenu. Pour faciliter la compréhension, on décrira le fonctionnement général du calculateur Il selon la figure 1, dans le cadre-dlun 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 11 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 première 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, 3295 etc. pour dilater les zones d'opérande. On procédera tout d'abord à lfexamen 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. Les zones d'opérande 309 et 313 de cette section particulière,(il s'agit d'une opération dyadicl 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 d'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?33 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 jusqu'à 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 d'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 Iienvoi du résultat dtune 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 entrée de façon à déterminer si 17Opé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 faconclassique, 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 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 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 y 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 entrée 21 du calculateur Il (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 à unité de commande les zones qui doivent suivre, on a une zone d'adresse de mémoire 376 et une zone de position opérande 35C 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"). Des que la section de vecteur est adressée l'unité de commande lorsqutelle 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 à cette zone de description est ainsi une zone de code d'opé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 l'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. Il est à remarquer que l'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.Il résulte de la troisième section d'opérande qui apparait 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 l'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 vec#teur, 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 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 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 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 3?9. 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 être une zone simple contenant une désignation dluni- tes périphériques 384 ou, dans le cas d'un système à processeurs multiples, il peut être prévu des zones composées telles 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 adresse est une zone de position d'opérande 385, le cas échéant. La zone qui suit la zone de position opérande est la zone de résultat 393. La zone d'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é, 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 dé programme, 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 l'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 F entrés du processeur de données, particulier assure la mise en oeuvre du programme adressé lorsqupun 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-l 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. REVENDICATIONS 10) Processeur de données numériques ayant des circuits d'entrée, des circuits de sortie, des circuits d'arithmétique, une mémoire de données, des circuits de commande, des chemins de communication entre les circuits, ainsi qu'avec d'autres appareils, processeur caractérisé en ce qu'il comprend un moyen branché entre les circuits ainsi qu'entre les circuits et les au#tres appareils pour transmettre simultanément deux signaux discrets ayant certains niveaux, un moyen pour recevoir la fin de certains des chemins de communication pour détecter et interpréter les deux signaux de niveau discrets reçus de façon que deux niveaux hauts représentent un signe binaire 1, deux niveaux bas un signe binaire 0 et un niveau haut et un niveau bas représentent le signe de début de donnée. ou le signe de fin de donnée 20) Processeur selon la revendication 1, caractérisé en ce que le moyen de transmission branché entre les circuits se compose de deux chemins conducteurs de signaux électriques et les moyens de détection et tinter prétation des deux signaux de niveau discrets interprétant un niveau haut et un niveau bas comme signes de début de données si le niveau haut se trouve sur le premier chemin conducteur et le niveau bas sur le second chemin conducteur, un niveau haut et un niveau bas étant interprétés comme signes de fin de données si le niveau haut se trouve sur le second chemin conducteur et le niveau bas sur le premier chemin conducteur. 3 ) Processeur selon l'une quelconque des revendications 1 et'2, caractérisé en ce qu'il comprend en outre un moyen de comptage d'une unité en réponse au moyen de détection et d'interprétation détectant un signe de début de données, ce moyen assurant le décomptage d'une unité en réponse au moyen de détection et d'interprétation qui détecte un signe de fin de donnée. 40) Processeur de données binaires dans lequel la onmunication des données entre les diverses parties du processeur se fait par signes en série, un signe ayant une longueur de plusieurs bits binaires, processeur caractérisé en ce qu'il comprend une entrée de données une mémoire pour recevoir les données de l'entrée de données une unité logique de vecteur pour recevoir les données de l'entrée de données de la mémoire, une sortie de données pour recevoir les données. de la némoire, et de l'unité logique de vecteur ainsi qu'un moyen pour vérifier les erreurs dans les données par comptage de certains signes seulement. 501 Processeur de données binaires selon la revendication 4, caractérisé en ce qu'il utilise quatre signes pour représenter toutes les données, deux signaux de niveau haut représentant le signe binaire 1, deux signaux de niveau bas représentant le signe binaire O, la combinaison d'un signal de niveau haut et d'un signal de niveau bas représentant soit un signe de début de donnée, soit un signe de fin de donnée. 60) Processeur de données binaires selon la revendication 5, caractérisé en ce que les moyens de vérin fication des erreurs détectent et comptent les signes de début et de fin de donnée. 70) Processeur de données binaires selon la revendication 6, caractérisé en ce que le moyen pour vérifier les erreurs indique l'existence d'une erreur chaque fois que la fin d'un code de structure de données est détectée et que l'état de comptage entre les signes de début et de fin de donnée n'est pas nul. 80) Processeur de données binaires selon la revendication 4, caractérisé en ce que le moyen pour vérifier l'existence d'erreurs se compose d'un moyen de détection des signes, ce moyenvayant une première et une seconde lignes d'entrée de données, un signal de niveau haut sur la première et la seconde lignes ventrée de données étant interprété comme signe binaire 1, un signal de niveau bas sur la première et sur la seconde lignes d'entrée de données étant interprété comme un signe binaire 0, un signal de niveau haut sur la première ligne d'entrée de données et un signal de niveau bas sur la seconde ligne d'entrée de données étant rnter- pretés comme un signe de début de donnée , un signal de niveau bas sur la première ligne entrée de données et un signal de niveau haut sur la seconde ligne d'entrée de donnée étant interprétés conme un signe de fin de donnée s ainsi qu un moyen pour augmenter l'état de comptage d'une unité chaque fois que le moyen de détection détecte un signe de début de donnée et pour décompter dWune unité chaque fois que le moyen de détection détecte un signe de fin de donnée 90) Processeur de données numériques caractérisé en ce que la liaison de communication des données binaires comprend un moyen branché sur lYextrémité de transmission dnune liaison de communication pour transmettre deux niveaux de signaux discrets pratiquement simultanément et un moyen pour recevoir la fin d'une liaison de communication pour détecter et interpréter les deux niveaux de signaux discrets reçus de façon à les interpréter comme signe binaire 1 pour deux niveaux hauts, comme signe binaire O pour deux niveaux bas et comme signes de début ou de fin de donnée pour un niveau haut et un niveau bas. 109) Processeur de données binaires selon la revendication 9, caractérisé en ce qulil comprend deux chemins de conduction de signaux électriques branchés entre l'extrémité d'émission et de réception de la liaison. et un moyen pour détecter et interpréter deux niveaux de signaux discrets, formés dgun niveau haut et d'un niveau bas, comme signes de début de donnée, si le niveau haut se trouve sur le premier chemin de conducteur et le niveau bas sur le second chemin conducteur, et comme signes de fin de donnée si le niveau haut se trouve sur le second chemin conducteur et le niveau bas sur le premier chemin conducteur. 110) Processeur de données binaires selon la revendication 10, caractérisé en ce qu'il comprend en outre un moyen pour augmenter l'état de comptage d'une unité en réponse au moyen de détection et d'interprétation détectant un signe de début de données et pour décompter l'état de comptage d'une unité en réponse au moyen de détection et d'interprétation qui détecte un signe de fin de donnée 12 ) Processeur de données binaires selon la revendication 11, caractérisé en ce qu'il comprend un moyen pour vérifier les erreurs dans les données en comptant seulement certains des signes. 130) Processeur de données binaires selon la revendication 12, caractérisé en ce que le moyen qui vérifie l'existence des erreurs détecte et compte les signes de début et de fin de donnee 14 ) Processeur de données binaires selon la revendication 13, caractérisé en ce que le moyen qui vérifie l'existence d'erreurs indique Itexistence dtune erreur chaque fois que la fin d'un code de structure de données est détectée et que 11 état de comptage correspondant aux signes des données d'entrée des données de sortie n'est pas nul.