FR 2027658 A1 19701002 FR 6945618 A 19691231 69 45618 1 2027658 La présente Invention se rapporte aux ensembles de malti-traitement de données et, plus particulièrement, à des ensembles de ce type fonctionnant de façon continue et en temps réel pour la commande et la surveillance de processus, de systèmes commutateurs d'inter-5 communication ou de systèmes analogues* Un exemple d'application typique de l'invention, nullement limitatif, est la fabrication d*une installation de commutation téléphonique, commandée par un programme mémorisé, et dans laquelle le fonctionnement global de l'équipement de commande du réseau associé au 10 central de commutation est assuré sous la commande d'un programme mémorisé. Dans le cas idéal, la totalité du programme de fonctions logiques de l'équipement de commande du central téléphonique est enregistrée sous la forme d'un unique algorithme de central, et elle est exécutée par un seul ordinateur. Cet ordinateur effectue, sui-15 vant une séquence déterminée, les opérations logiques nécessaires au traitement d'un appel téléphonique en traitant plusieurs appels Hen parallèle", le branchement nécessaire se produisant par des méthodes normales de "saut" dans le programme, et les variations des conditions extérieures étant traitées par des méthodes classiques 20 d'interruptions basées sur un ordre de priorité. Toutefois, un tel ensemble exige soit un ordinateur très puissant, très rapide et doublé pour des raisons de sécurité, soit une série d'ordinateurs puissants, utilisés sélectivement en fonction du trafic. Ces deux possibilités, qui viennent d'être mentionnées, tendent à être coûteuses 25 et relativement rigides en ce qui concerne l'extension éventuelle du système à commander. Compte tenu de ce qui précède, l'invention a pour but de permettre la réalisation d'un ensemble destiné à être utilisé dans des systèmes ou des installations commandés par un programme mémorisé 30 et constitué par plusieurs ordinateurs analogues et relativement simples, qui ne sont responsables chacun que d'une partie de l'ensemble du système de commande ou de l'algorithme de central* Ce type de système est réalisé au mieux en subdivisant l'algorithme de central en une série de sections de programme, et l'un des buts de 35 l'invention est de créer des ensembles permettant à chaque section de programme de jouir d'une autonomie interne et de travailler de façon asynchrone sur des données d'entrée, en produisant des données de sortie, traitées, sans se référer à d'autres sections de programme ni à des processus extérieurs pour l'accomplissement de cette 69 45618 2 2027658 tâche. Les informations produites extérieurement ou la production de paquets de données, traitées, sont typiques des "points de stimulation" pour de telles sections de programme. Les sections de programme autonomes sont réparties entre les divers ordinateurs de manière 5 aussi uniforme que possible, chaque ordinateur étant responsable exclusivement d'un certain nombre de sections de programme. Les sections de programme d'un ordinateur donné peuvent être liées les unes aux autres par certaines relations mais cette particularité n'est pas impérative, et les relations peuvent varier suivant l'importance 10 et les périodes de récurrence de sections de programme particulières. Les ordinateurs sont interconnectés, par l'intermédiaire de systèmes de transmission de données ou de lignes principales, qui peuvent être avantageusement du type décrit dans le brevet français N# 1.523.011. 15 L'invention est matérialisée dans un ensemble de traitement de données, utilisant une procédure subdivisée en plusieurs fonctions, assurées chacune sous le contrôle d'une section de programme correspondante, mémorisée dans une zone de mémoire qui lui est exclusivement affectée et constituée par une séquence d'instructions de pro-20 gramme arrangée peur commander convenablement l'ensemble de traitement de données. Ce dernier est caractérisé, selon l'invention, par le fait qu'à chacune des zones de mémorisation d'une section de programme sont associées une zone de mémorisation de données d'entrée, destinée à recevoir un unique paquet de données d'entrée et une zone 25 de mémorisation de données de sortie, destinée à recevoir un unique paquet de données, traitées, que ledit ensemble est conditionné, de manière à, lorsqu'il fonctionne suivant une section de programme, traiter un paquet d'entrée présent dans ladite zone de mémorisation de données d'entrée, et produire un paquet de données, traitées, 30 correspondant dans la zone de mémorisation de données de sortie, que ledit ensemble comporte une série de zones supplémentaires de mémorisation ayant chacune une capacité d'emmagasinage permettant d'y mémoriser une série de paquets de données, qu'un paquet de données d'entrée est transféré, sous le contrôle d'un premier moyen de com-35 mande de transfert, d'une zone supplémentaire de mémorisation de données bien définie, à ladite zone de mémorisation de données d'entrée pour préparer le début d'une section de programme, tandis que le groupe de données traitées est rapidement transféré, sous le contrôle d'un second moyen de commande de transfert, de ladite zoné de 69 45618 3 2027658 Mémorisation de données de sortie à une autre zone supplémentaire de mémorisation, bien définie» après l'achèvement de la section de programme* Les zones de mémorisation de données d'entrée, les zones de 5 mémorisation de données de sortie et les zones supplémentaires de mémorisation de données sont formées chacune par une série indépendante de positions de mémorisation d'un mot d'information dans la mlmoire principale d'un ordinateur, et chacune des zones de mémorisation de données d'entrée correspond, en ce gui concerne ses dimen-10 sions, au paquet de données auquel la section de programme considérée se rapporte, cependant que la zone de mémorisation de données de sortie correspond, «a ce qui concerne ses dimensions, au groupe de données traitées, produit par la section de programme considérée. Sans chacune des zones supplémentaires de mémorisation de données 15 sont associées auzdites positions de mémorisation de mot d'information, des positions de mot de commande de transfert, utilisées pour mémoriser des informations de commande de transfert, relatives aux paquets de données emmagasinés dans ladite zone supplémentaire de mémorisation de données* 20 Chaque position de mot de commande de transfert comprend une position de mot de commande principal, mémorisant des informations relatives à un compte total de blocs, indicatif du nombre de paquets de données actuellement emmagasinés dans la zone supplémentaire de mémorisation de données à un état maximal de compte, indicatif du 25 nombre maximal de paquets de données que la zone supplémentaire de mémorisation de données est capable d•emmagasiner, et à un compte de caractères, indicatif du nombre de caractères d'information contenus dans un unique paquet de données* La description qui va suivre, faite en regard des dessins anne-30 xés, donnés à titre non limitatif, permettra de mieux comprendre l'invention* La fig. 1 représente sous forme de schéma symbolique, un ordinateur typique, pouvant être utilisé dans le cadre de l'invention* La fig* 2 donne des représentations schématiques des diverses 35 sections de programme et des dispositifs de mémorisation et de transfert de données prévus pour relier entre elles ces sections de programme conformément à l'invention* On va tout d'abord examiner la fig. 1 qui comprend trois planches (a,b,c) qui doivent être placées côte à côte, la planche b au 69 45618 4 2027658 milieu, pour décrire les grandes lignes d'un ordinateur typique, pouvant être utilisé pour la mise en oeuvre de l'invention. Cet ordinateur comprend (i) une série de registres d'information formant un ensemble de registres BU représenté sur la fig. la, (ii) une uni-5 té de commande Cïï, (iii) une mémoire principale 3, (iv) une unité arithmétique AU et (v) un équipement de poste pour les lignes principales externes de transmission de données HSE. Toutes les unités sont desservies et interconnectées au moyen de lignes principales internes pour la transmission de données en parallèle, qui sont com-10 mandées au point de vue des interconnexions par un circuit &£ 1 pour l'interconnexion des lignes principales internes, HIC La machine est organisée sur la base d'une combinaison de deux adresses, à savoir une adresse A et une adresse B, pour chaque mot d'instruction. Chaque mot d'instruction est un mot de 40 bits, 15 organisé comme représenté sur la ligne (i) du tableau 1 • (Voir Tableau 1 page 5) Les bits 1 à 5 inclus du mot d'instruction définissent le registre modificateur à utiliser pour modifier les adresses A et S, les bits 6 à 12, le code de fonction, les bits 13 à 26, l'adresse 'A', et 20 et les bits 27 à 40, l'adresse 'S*. Les quatorze bits utilisés pour définir les adresses 'A' et 'B' comprennent (a) une adresse d'emplacement à dix bits, (b) une adresse de segment à deux Vits, et (c) deux bits marqueurs, spécifiant (i) l'adressage indirect et (ii) le contenu de l'accumulateur de la mémoire. La mémoire 3 comprend qua-25 tre segments, et l'adresse à dix bits nécessaire s» réfère à tin est-placement du segment spécifié par l'adresse de segment associée. Four faciliter la présentation, et étant donné que l'organisation de mémoire mentionnée ci-dessus est seulement typique d'un ordinateur suivant ^invention, le segment et les dispositifs modifiés n'ont 30 pas été représentés sur la fig. 1. L'ordinateur est organisé sur la base de trois phases pour chaque cycle d'instruction, à savoir une phase d'aménagement, mie phase d'accès et me phase d'exécution pour chaque instruction. La phase d'aménagement permet de traiter toutes les indications de défaillance 35 ou les interruptions, la phase d'accès assure l'extraction des données du mot d'instruction correspondant à l'instruction suivante à extraire de la mémoire et l'augmentation du numéro de contrôle de séquence, tandis que la phase d'exécution permet d'effectuer l'opération nécessaire, spécifiée par le code de fonction du mot d'ins- 69 45618 5 2027658 TABLEAU 1 ^yxmaà: iV tcvi -mût dUuA-luLctcy 40 Z6 1Z îXc^-tt-'s S>"£- S I S 0- T S C \ctci-v> & 6 A A «it A'-hu-l TVU>'t d -uxctio-n L. S T autie,Ss»e. cLu_ nu>t cuize -^AVct^Ci&L. di -ÊCL L ST -»iiruU «.C _ 1/ /yvi-C-t i usr ^ctixesiÊ de Éh. ji^bc&o)ij ■CitofctXÔl- ' tu. co^ C fVi imbliL§IC 111 'W î-c-1 -ïvL-crfc ol i\\Ja^siu,ctLc » '' ô^c£t*xt,*a_" (êx instj cL -cnAi-ti-tott-o-n . "-CAlSiWc" (/ N S J N -S Tj •M-Crt £le>> ^ttX^LCLvn e Lie s Ole étaM.'>&h£ Cr Pvsf) _ ç_w_ ■Mir-t £i&. ConWïi c- (j/ê ùjruncUuJt! iiè ê' ô^rtiix.ÛXU'C. aa Cite âa Qj&UMt ^iy w c- w) e-cii'te-Vje çrPA) (CoyyvL^C (JL€--ILÏUJujiXH-CÏ ( A CJ P i " r cld-xe.^'^L. dLu-mxtiMi comwAiXvui6- "h'Cn- • tti IV , Cx^i^- i aximni i-'LCX-U V ùj_iu£ï>yt- du-tntrt^ dL coJ-t-*- VI c\-d-Zt. S ^ ci tL- P H •tlx (i^^c^ujukov! • fca dSiAtLMixhxjVi VI ï ^G~^> ct*u*w lia-OxHiuiéte. (Ç Pj |\<>S»tLcC»1 d.£- êvu.K^ V i PJ J ]tf>$ikcn exrfu£&k (C.U ) fia > |vC M ( -f1 'êvnfidjiije. (i P.) ■fiC'\clôO'> cictuëfft ( CCMTI,(oJE. -iohxt. (JjL. tt>fo'tAlÊ-S . r rwc} t4.cwtu.S i dti_ 0"s) dJLa X: VI il 69 45618 6 2027658 truction. Les microprogrammes représentés sur les tableaux 4 à 8 qui seront examinés plus loin, commencent au début d'une phase d'exécution, et présupposent que les adresses A et B présentes dans les registres d'adresse A et B (AAR et BAS) sont absolues (c'est-à-dire 5 ont été modifiées, si nécessaire, et ont été traitées en vue de l'a-dre-ssage indirect, le cas échéant). On va maintenant se référer à la fig. 1 et, plus particulièrement, à sa planche a pour décrire l'ensemble de registres RIT. Seuls ont été représentés, sur la planche a de la fig. t, les registres 10 utilisés pour l'exécution des instructions suivant l'invention, qui peuvent être complétés par d'autres registres dans un ordinateur réel. La plupart de ces registres sont de môme capacité (à savoir dix bits) et sont connectés, tant à leur entrée qu'à leur sortie, à une ligne principale interne DH/W, qui peut transmettre dix bits 15 en parallèle, et qui est également connectée à l'unité de mémoire SU, à l'unité arithmétique AU, à l'unité de commande CU, et à l'équipement de poste pour les lignes principales externes représenté sur les planches a et b de la fig. 1, par l'intermédiaire du circuit pour l'interconnexion des lignes principales internes, MO. 20 1 • Ensemble de registres HU : a) Le registre AAS, ou registre d'adresse SA', est utilisé pour conserver l'adresse de l'emplacement de mémorisation dans lequel se trouve l'un des mots d'information concernés par l'instruction. b) Le registre BAR, ou registre d'adresse 'B*, est utilisé pour con-25 server l'adresse de l'autre emplacement de mémorisation, dans lequel se trouve également l'un des mots d'information concernés par l'instinct ion. c) Le registre SCR ou registre de contrôle de séquence, est utilisé pour conserver l'adresse de l'instruction suivante de la section de 30 programme en cours d'exécution. d) Le registre LIR ou registre de liaison, est utilisé pour mémoriser le numéro de contrôle de séquence d'une section de programme interrompue, lorsqu'une opération automone de transfert d'information est en cours. 35 e) Le registre OBR, ou registre de base de caractère est utilisé pour mémoriser tin code indiquant l'état d'un empilage, et il sera examiné plus loin en se référant au tableau 4. f) Le registre HDR, ou registre d'informations pour les lignes principales est utilisé pour conserver un caractère de dix bits, lorsque 40 des transferts entrée/sortie sont en cours d'exécution. BAD ORIGINAL 69 45618 7 2027658 g) Le registre MR,ou registre de capacité H, est utilisé pour conserver un comptage, qui sera réduit ou augmenté par circulation autour de la ligne principale, par l'intermédiaire du circuit &+1, HIC sur la fig* 1b* Ce registre est muni d'un détecteur de contenu nul, 5 qui produit un signal de sortie MR = 0, destiné à être utilisé dans l'unité de commande de la fig. 1c* h.) Le registre HR, ou registre de capacité N, est analogue au registre de capacité M, et il est muai de dispositifs analogues à ceux de ce registre. 10 i) Les registres CFA et CFB ou registres de position de caractère, ont une capacité de deux bits, et ils produisent des signaux de conditionnement de l'unité de commande CFA s 0 et CFB s o, lorsqu'ils sont vides. Ces registres produisent également des signaux AS et BS, qui sont indicatifs des états de ces registres, et qui sont destinés 15 à, être utilisés dans l'unité de commande CU de la fig. 1c. Comme précédemment décrit, tous les registres de l'ensemble RIT sont chargés à partir de la ligne principale interne, qu'ils alimentent également. Ces opérations s'effectuent sous le contrôle d'un microprogramme et les cercles de la planche g de la fig. 1, comme 20 d'ailleurs ceux des autres planches de cette figure, représentent des portes commandées par des microsignaux, et actionnées par l'unité de commande lorsque le registre associé doit être utilisé. Four faciliter la présentation, les conducteurs de commande par microsignaux, effectifs, ont été supprimés sur la fig. 1, et ils sont re-25 présentés groupés sous la référence CS à la sortie de l'unité de commande CU de la fig. 1c. 2.- Unité de mémoire SU Cette unité, représentée sur la fig. I(b), comprend une mémoire S, qui peut être une matrice de mémoire à noyaux magnétiques, fonc-30 tionnant, par exemple, suivant le mode dit "des courants coïncidants" une paire de registres de lecture de la mémoire, 3DA et SDB, et un registre d'adresse de la mémoire RSA* Chaque mot d'information conservé dans la mémoire S comprend quarante bits, qui peuvent être répartis en quatre quadrants, chaque 35 quadrant comprenant, par conséquent, dix bits. L'entrée et la sortie des registres de lecture SDA et SDB sont commandées par des portes actionnées par des signaux de commande, et le choix d'un quadrant quelconque peut être effectué pour l'entrée ou pour la sortie. Le contenu des registres peut également être enregistré à l'emplacement 69 45618 8 2027658 de mémorisation adressé; les voies n'ont pas été indiquées sur la fig. 1b pour faciliter la présentation; ce sont d'ailleurs de simples voies pour quarante bits qui accèdent également, sous le contrôle de portes commandées par des signaux, aux entrées de la mé-5 moire (également non représentées). 3. Unité arithmétique AU Cette unité, représentée sous forme de schéma symbolique sur la fig» 1c, comprend une unité de traitement arithmétique normale AU, comportant des dispositifs d'addition, de soustraction, de déca-10 lage, ou analogues; elle ne sera pas examinée de façon plus détaillée car l'invention ne nécessite pas de modifier sa forme. L'unité arithmétique est chargée et déchargée au moyen de la ligne principale interne. Divers signaux d'état sont engendrés par l'unité arithmétique AU et transmis à l'imité de commande CU pour contrôler 15 las microprogrammes exécutés. Ces signaux d'état sont représentés groupés sur un unique conducteur, AUCS, sur la fig. 1c. 4.- Unité de commande CU Cette unité, représentée sous forme de schéma symbolique sur la fig. le, est commandée par le registre de fonction FUS, et par 20 des signaux d'état, engendrés intérieurement; elle produit des signaux de commande CS suivant la séquence nécessaire pour que se déroulent les processus exigés par les instructions. Les microprogrammes, représentés sur les tableaux 1 et 4 à 8, sont en fait des spécifications des signaux de commande produits pour exécuter les 1ns-25 tructions à examiner et les signaux de commande effectifs, nécessaires, seront décrits plus loin en se référant aux tableaux 1 et 4 à 8* 5.- Poste pour les lignes principales externes HSE : Cet équipement est représenté sous une forme symbolique très simple sur la fig. 1ct et ses fonctions seront décrites de façon 30 plus détaillée en se référant aux tableaux 1 et 4 à 8. Chacun des ordinateurs de l'ensemble de multi-traitement de données précédemment mentionné, est muni d'un poste pour les lignes principales, qui est subdivisé en deux sections, comprenant une unité tampon commune BU, et tua certain nombre d'unités logiques de commande, à rai-35 son d'une pour chacune des paires de lignes principales auxquelles l'ordinateur a accès. Il est évident que le type d'équipement utilisé et les opérations effectuées par le poste HSE dépendent du type de lignes principales qui est utilisé. Comme précédemment décrit, l'invention est 69 45618 9 2027658 avantageusement, mais non exclusivement, destinée à être utilisée avec des ordinateurs desservis par une ligne principale pour la transmission de données, du type décrit dans le brevet français N° 1.523.011. 5 Dans le cas des lignes principales du type ci-dessus mentionné, chacune des lignes principales comprend quinze lignes, à savoir dix lignes d'informations, quatre lignes de code, et une ligne d'échantillonnage. Chaque ligne principale forme un anneau qui passe par un circuit de commande du poste pour les lignes principales, tel 10 que H/W1 CC sur la fig. 1c, pour chaque dispositif connecté à la ligne principale. A chaque poste, les signaux entrants sont.réémis (ou retransmis) sans modification, sauf lorsqu'un message est émis ou reçu par ce poste. Chacun des circuits de commande du poste peut inhiber le "passage" sur les lignes d'informations, de code ou d'é-15 chantillonnage, séparément, pendant l'émission ou la réception, et, lorsqu'un transfert de données est en cours d'exécution à partir de ce poste, les caractères d'information et des codes de commande sont transmis, à partir des registres tampons BDfi (registre tampon d'informations) et BCE (registre tampon de codes) de l'unité tam-20 pon BU. Les tableaux 2 et 3 ci-après représentent les codes qui sont utilisés sur les quatre lignes des codes de commande, dans le sens émetteur-récepteur pour le tai'leau 2 et dans le sens récepteur-émetteur pour le tableau 3 î TABLEAU g TABLEAU 5 Code Signification Code Signification 0 0 0 0 ligne principale libre 10 0 1 destination libre 10 0 0 priorité 10 10 fin de bloc 0 10 0 caractère de désignation 10 11 destination occupée 0 110 caractère d'information 0 0 11 empilage plein 0 111 empilage vide 110 1 réponse C-0 1111 dérangement 0 1 0 1 réponse C-0 transmise ■ : ■110 0 t rythme L'unité tampon BU est agencée de manière à décoder les codes ci-dessus dans un circuit de commande et de conditionnement de HSE 69 45618 10 2027658 (HSCCC), lorsqu'ils apparaissent, et à marquer un unique conducteur spécifique, qui est connecté à l'unité de commande de 1* ordinateur lorsqu'un, transfert de données est en cours. En outre, la ligne principale interne de l'ordinateur est connectée à l'entrée de l'u-5 nité tampon et un certain nombre de fils de commande d'injection de codes, HSECS, sont également prévu3 entre l'unité de commande CU de l'ordinateur et l'unité tampon SU de l'équipement du poste HSE. Enfin, des indications, à savoir (i) "poste pour les lignes externes prêt" et (ii) poste pour les lignes externes acceptant la trans-•o mission" sont fournies, et ces indications agissent (i) lorsqu'un nouveau code ou un nouveau caractère est reçu ou lorsque le caractère ou le code précédent a été transmis, et (ii) lorsque le code ou le caractère d'information suivant à transmettre, ou bien le dernier code ou caractère d'information à remettre en circulation, f a été converti sous la forme statique dans le registre particulier, intéressé, de l'unité tampon BU® Ces indications ne sont pas représentées séparément sur la fig. 1c, mais elles peuvent être considérées comme incluses dans les signaux d'état pour l'équipement du poste pour les lignes externes HSECS. 2C Les commentaires ci-dessus sont nécessairement brefs, et le type des lignes principales., avec lesquelles un ordinateur suivant l'invention coopère, n'est nullement limité à ce qui a été décrit. Toutefois, le fonctionnement du type préféré de lignes principales sera décrit ultérieurement de façon plus détaillée, au moment où. 25 l'on étudiera 1'ordinogramme des microprogrammes relatifs aux instructions prévues suivant l'invention, en se référant aux tableaux 4 à 8. 6. Procédés d'entrelacement de sections de programmes asynchrones. On va maintenant examiner;, en se référant à la fig. 2, les 30 instructions prévues suivant l'invention et leur utilisation dans l'entrelacement de sections de programme de travail, asynchrone (AWR). Chaque section de programme de travail, aynchrone est enregistrée sans référence aux environnements d'entrée et de sortie; elle traite les données qui lui sont fournies, par l'intermédiaire 35 de l'une de ses colonnes d'informations d'entrée, et en tire d'autres données, qu'elle présente à une ou plusieurs colonnes d'informations de sortie. Chaque colonne a une dimension correspondant à un seul paquet de données, et un paquet de données comprend plusieurs caractères de dix bits, mémorisés dans une zone déterminée 69 45618 ii 2027658 de la mémoire S, chaque mot de la mémoire conservant quatre caractères d'un paquet, et le nombre effectif de caractères d'un paquet de données étant fonction des exigences de la section de programme de travail, asynchrone et de la ou des sections de programme qui 5 traitent ultérieurement les paquets de données débités. Le nombre d'emplacements nécessaires pour une colonne est fonction du nombre de caractères d'information d'un paquet de données, et il est donné par la formule 3 H/4» où. H est égal au nombre de caractères d'un paquet de données. 10 On va maintenant examiner la fig. 2a pour décrire un procédé particulier pour faire sortir des paquets de données provenant d'une section de programme de travail asynchrone, AWRa. La section de programme AWKa est représentée schématiquement sur la fig. 2a sous la forme d'un trait en "zig-zag" qui a pour but de représenter une 15 série d'instructions d'une section de programme. Pendant que la section de programme de travail, asynchrone est traitée, un paquet de données est assemblé dans les emplacements de la mémoire, formant la colonne de sortie désignée par 0/P-W et associée à cette section de programme. Il est à noter qu'un seul paquet de données 20 peut être assemblé dans une colonne de sortie donnée pour chaque cycle de la section de programme; cependant, plusieurs paquets de données peuvent être produits par la section de programme pour chaque cycle, et, dans ce cas, des colonnes supplémentaires sont prévues» Chaque colonne comprend une série" d1emplacements de mémorisa-25 tion de la mémoire à noyaux S de la fig. 1, à savoir trois emplacements de mot de commande, suivis d'un certain nombre d'emplacements, auxquels le paquet de données est assemblé sous le contrôle des mots de commande de la colonne, OCW. Les mots de commande de la colonne seront examinés ci-après 30 de façon détaillée; ils sont représentés au tableau 1, en (viii). Lorsqu'une section de programme de travail, asynchrone, quelconque est complète, elle est suivie d'une ou plusieurs instructions de traitement de colonne, qui commande le transfert du paquet de données formé dans la colonne associée, à un empilage ST, où. le 35 paquet de données est retenu jusqu'à ce que la section suivante du programme soit prête à le traiter. Cet empilage ST comprend trois mots de commande SCV, suivis d'une série d'emplacements de mémorisation affectés aux paquets de données, et ceux-ci sont transmis à l'empilage en partant de l'emplacement situé immédiatement au-40 dessous des mots de commande, tandis qu'ils sont extraits de l'em- 69 45618 12 2027658 pilage en commençant par ce même emplacement. L'ordonancement de l'empilage est placé sous le contrôle des mots de commande de l'empilage SCW. Les mots de commande de l'empilage, qui comprennent (i) un mot principal de commande de l'empilage (SCW) (ii) un mot de 5 commande d'entrée (ICW), et (iii) un mot de commande de sortie (OCW), sont utilisés pour commander le transfert des paquets de ôon-nées dans l'empilage et à partir de celui-ci. Comme précédemment décrit, chaque section de programme asynchrone est agencée de manière à se terminer par une ou plusieurs 10 instructions de traitement de colonne. Dans le cas d'une colonne de section de programme qui débite versun empilage contenu dans la même machine, la section de programme asynchrone se termine par l'instruction "charger l'empilage" (LST INST), comme représenté sur la fig. 2a. Cette instruction dont les opérations sous forme d'or-15 dinogramme de microprogramme seront considérées en détails en se référant au tableau 4, commande l'extraction du paquet de données formé, hors de la colonne de sortie, et son insertion aux emplacements libres suivants de l'empilage ST désiré. On voit en (ii) sur le tableau 1, le mot d'instruction extrait du bloc "programme" de 20 la mémoire lorsque l'instruction "charger l'empilage" (LST INST) est exécutée. Les tranches d'adresse 'A' et d'adresse 'B* du mot d'instruction sont utilisées pour spécifier les adresses qui, dans la mémoire, conservent l'adresse du premier mot de colonne de la section de programme et du mot de commande de l'empilage principal, 25 respectivement. Le microprogramme de l'instruction "charger l'empilage" (LST INST) commande l'extraction du paquet de données hors de la colonne de section de programme (0/P-V), l'insertion du paquet de données dans la zone suivante de l'empilage ST et la mise à jour des mots de commande de l'empilage. En sortant de l'instruc-30 tion "charger l'empilage", le programme passe sur le cycle "aménagement" de la machine, ce qui provoque l'attaque d'une nouvelle section de programme, ou de la même, suivant les besoins. On va maintenant examiner, en se référant à la fig. 2b un procédé particulier de présentation de paquets de données à une sec-35 tion de programme de travail, asynchrone, AWBb. Ici encore, la section de programme AWRb est représentée schématiquement, sur la fig. 2b, sous la forme d'un trait en "zig-zag", qui est destiné à représenter une série d'instructions d'une section de programme. Ces instructions de programme sont celles qui sont nécessaires pour exé 69 45618 13 2027658 cuter les opérations spécifiées par la section de programma de travail. Avant de traiter la section de programme de travail asynchrone, il est bien entendu nécessaire de transférer le paquet de données sur lequel la section de programme doit travailler aux empla-5 cements de mémorisation formant la colonne d'entrée associée à cette section de programme. Gomme représenté sur la fig. 2a, les paquets de données sont chargés dans un empilage ST au moyen de l'instruction "charger l'empilage". L'instruction "décharger l'empilage" (UST IIîST) est utilisée pour transférer le groupe de données de 10 l'empilage ST aux emplacements de mémorisation formant la colonne I/P-W de la section de programme. Le mot d'instruction "décharger l'empilage" est représenté sur le tableau 1 en (iii), et il est extrait du bloc "programme" de la mémoire lorsqu'on désire commencer la section de programme de travail,asynchrone, AWRb. Les 15 tranches d'adresse 'A' et d'adresse 'B' du mot d'instruction sont utilisées pour spécifier les emplacements de mémorisation concernant l'adresse du premier mot de la colonne d'entrée de la section de programme (I/P-W), et le mot de commande relatif à l'empilage à partir duquel le paquet de données doit être déchargé. Le micro-20 programme de l'instruction "décharger l'empilage" (UST INST), qui sera considéré en détails plus loin8 en se référant au tableau 5» commande l'extraction du paquet de données à partir de la zone suivante de l'empilage ST, l'insertion de ce paquet de données dans la colonne d'entrée de la section de programme (l/P-W), et la mise 25 à jour des mots de commande de l'empilage. De l'instruction "charger l'empilage", on passe à la section de programme de travail, asynchrone effective, qui traite le paquet de données nouvellement introduit dans la colonne, en formant un paquet de données de sortie dans une colonne de sortie; ce paquet sera traité à la fin de la 30 section de programme de la manière décrite en se référant à la fig» 2a» D'après la description ci-dessus, on peut voir que l'existence d'empilages et de colonnes, ainsi que des deux instructions de traitement de l'empilage ST (LST IEST et UST IEST) permet la "produc-35 tion" de sections de progi mie de travail, asynchrones, qui travaillent sur des données contenues dans une colonne d'entrée, avec production de données pour une colonne de sortie. En conséquence, les programmes, ou sous-programmes de l'algorithme original du système de commande globale, peuvent être écrits individuellement, et 69 45618 H 2027658 ils peuvent être assemblés par une opération de programmation séparée. Cette opération de programmation séparée implique la génération des adresses 'A1 et 'B1 des deux mots d'instruction définissant les emplacements de l'empilage et de la colonne désirés. Les 5 deux instructions considérées ci-dessus ne concernent toutefois que des transferts dans le sens colonne-empilage et dans le sens empilage -colonne à l'intérieur d'un seul et même ordinateur (c'est-à-dire que l'empilage et les colonnes sont tous dans une seule et même mémoire). Gomme précédemment décrit, on envisage suivant l'invention 10 de répartir 1'ensemble de l'algorithme du système de commande entre un certain nombre d'ordinateurs identiques (du point de vue de leurs réalisations matérielles), interconnectés, par l'intermédiaire d'un réseau de lignes pour la transmission d@ données, permettant à un dispositif quelconque d'accéder à tous les autres. En conséquence, 15 il est nécessaire de prévoir des dispositions analogues pour les transferts wcolonne-empilagew et "empilage-colonne", affectant un ou plusieurs ordinateurs. L'emplacement effectif de l'empilage est fonction des contraintes temporelles des sections de programme qui remplissent et vident ces empilages et il est nécessaire de prévoir 20 un dispositif permettant l'empilage à la sortie de l'ordinateur produisant les paquets de données, ou à l'entrée d'un ou plusieurs ordinateurs, contenant dès sections de programme destinées à traiter ces paquets de données. U est donc nécessaire qu'un mécanisme entrée/sortie souple soit prévu dans chacun des ordinateurs, pour 25 lui permettre d'émettre une demande de transfert dans un sens ou dans l'autre* Comme précédemment décritg tous les ordinateurs sont interconnectés par 1'intermédiaire d'un réseau de lignes de transmission de données et, par suite, il est nécessaire que le transfert soit dé-30 clenché par l'un des ordinateurs qu'il concerne et que la voie d'intercommunication nécessaire soit établie. Après cette opération, le mode de transfert voulu est assuré en faisant entrer en jeu la ou les colonnes et le ou les empilages intéressés, et en utilisant deux instructions d'Interaction, une dans chaque ordinateur. Dans 35 les microprogrammes détaillés qui seront considérés plus loin, en se référant aux tableaux 6, 7 et 8, on a supposé que l'on utilise le système de lignes de transmission de données selon le brevet français N° 1.523*011; toutefois, ce cas particulier n'a été ohoisi que pour faciliter l'exposé, et les dispositifs suivant l'invention 40 ne sont nullement limités à un tel système de transfert; par exem- BAD ORIGINAL 69 45618 15 2027658 pie, moyennant des modifications convenables aux microprogrammes, on pourrait utiliser un système de lignes de transmission de données du type décrit dans le bfevet anglais N° 1.063.296. On va maintenant examiner un transfert colonne-empilage fai-5 sant entrer en jeu les lignes extérieures pour la transmission de données, ce type de transfert est représenté sous une forme schématique sur la fig. 2c. La section de programme de travail, asynchrone ÂVEc, comme dans le cas de la fig. 2a, traite un paquet de données d'entrée, en produisant un paquet de données de sortie, qui 10 est transmis aux emplacements de mémorisation formant la colonne de sortie 0/P-W. Toutefois, le paquet de données engendré est produit dans un premier ordinateur PX, et il est destiné, dans ce cas, à un empilage ST qui est situé matériellement dans la mémoire d'un autre ordinateur PY. 15 Lorsque la section de programme est terminée, il est nécessaire d'exécuter les instructions de traitement de colonne usuelles; toutefois, il est également nécessaire dans ce cas, d'établir une connexion de transfert sur une ligne principale. Cette dernière opération s'effectue sous le contrôle d'une instruction "préparer le 20 transfert** (PFT INST). Cette instruction active poste de ligne principale LHS de l'ordinateur local PX de manière qu'il transmette des signaux pour l'occupation de la ligne principale extérieure EDH/W et, grâce à la transmission d'autres signaux de sélection, de l'équipement de poste de ligne principale éloigné qui est désiré,et 25 jâ^iocfe à l'ordinateur désiré PY. Le mot d'instruction P3?T utilisé pour exécuter une instruction "préparer le transfert" (PPT INST) est représenté sur le tableau 1 en iv. L'adresse 'A' de l'instruction PPT INST définit un "compte de tentatives" et elle est fixée à une valeur bien définie, indiquant 30 le nombre de tentatives qu'une section de programme peut faire pour établir une communication avant qu'un état de dérangement ne soit indiqué. L'utilisation de ce compte sera examinée plus loin, de façon plus détaillée, en se référant à la description détaillée du microprogramme exécuté par l'instruction "préparer le transfert•*, 35 lui est représentée sur le tableau 6. L'adresse "B" de l'instruction PPT INST définit l'adresse d'un emplacement de mémorisation qui conserve les "paramètres de transfert " PTA, qui sont utilisés ' pour l'établissement de la communication désirée, par l'intermédiaire de la ligne principale extérieure. 40 Le mot des paramètres de transfert est représenté sur le ta 69 45618 16 2027658 bleau 1 en vil; il comprend quatre tranches de dix bits chacune, dont l'une n'est pas utilisée. La première tranche, qui comprend les bits 1 à 10, spécifie, par les bits 1 à 5» les lignes principales FH dont l'utilisation est autorisée. La seconde tranche, qui 5 comprend les bits 11 à 20, spécifie l'adresse de la destination, tandis que la troisième tranche, qui comprend les bits 21 à 31> spécifie l'adresse de la désignation. Le code des lignes principales autorisées PH indique au poste local de lignes principales sur quelle paire de lignes principales, 10 si plusieurs paires en sont prévues, le dispositif de destination désiré est branché. Ce code est utilisé pour la sélection de l'unité logique de commande correcte, qui est associée à cette paire de lignes principales. Le nombre de bits de ce code est fonction du nombre de paires de lignes principales auxquelles l'ordinateur a 15 accès. L'adresse de la destination indique le code de système du dispositif ou de la section de programme avec lequel ou laquelle une intercommunication est effectivement désirée. Cette adresse codée est transmise sur la ligne principale pour interroger le poste de 20 lignes principales éloigné,afin de voir si l'on peut avoir accès au dispositif ou à la section de programme désiré. Si un transfert peut être accepté, le basculeur d'interruption de l'unité de commande de l'ordinateur éloigné est actionné et la section de programme en cours d'exécutioti est interrompue pendant toute la durée du 25 transfert nécessaire. L'adresse de la désignation indique l'instruction qui coopérera avec celle du dispositif d'origine, et elle peut indiquer l'emplacement de la mémoire auquel l'adresse de ce mot d'instruction associé peut être trouvée. Dans le cas d'une tentative couronnée de 30 succès, le code de la désignation est utilisé pour obtenir l'adresse de l'instruction associée, qui est nécessaire, et cette instruction est transférée de la mémoire dans les registres fonctionnels de l'ordinateur éloigné, qui a été interrompu. En réponse à l'exécution satisfaisante et complète de l'ins-35 truction "préparer le transfert" de la fig. 2c, l'instruction de traitement de colonne "extraire" EX INST, est exécutée dans l'ordinateur local PX conjointement à l'instruction de traitement d'empilage associée "insérer", IUS INST, dans l'ordinateur éloigné PY. Le mot d'instruction "extraire" est représenté sur le tableau 69 45618 17 2027658 1 en v, où. seule l'adresse "B" est utilisée pour spécifier l'emplacement de la mémoire de l'ordinateur local qui conserve le mot de commande de colonne de la colonne O/P-W, qui est concernée par le transfert• 5 le mot d'instruction "insérer" est représenté sur le tableau 1 en vi, où seule l'adresse "B" est utilisée, et il spécifie l'emplacement de la mémoire de l'ordinateur éloigné qui contient le mot de commande de l'empilage correspondant à l'empilage impliqué dans le transfert. 10 Les microprogrammes des instructions d'extraction, EX INST, et d'insertion, INS IiiST, qui seront considérés en détails plus loin, en se référant aux tableaux 7 et 8b9 respectivement, commandent (i) l'extraction du paquet de données à raison d'un caractère de dix bits à la fois à partir de la colonne d'information de sortie 15 O/P-W, (ii) le transfert d'un caractère d3information sur la ligne principale extérieure choisie, EDH/W, (iii) la réception et l'assemblage du paquet de données à l'emplacement suivant de l'empilage ST et (iv) la mise à jour des mots de commande de la colonne et de l'empilage. Les opérations effectuées en exécution de ces ins-20 tructions sont rendues solidaires au moyen du mécanisme de transfert sur la ligne principale. Après achèvement de l'instruction "extraire", l'ordinateur local PX commence un cycle d'aménagement produisant le départ d'une autre section de programme ou de la même section de programme, sui-25 vant les besoins. Après achèvement de l'instruction "insérer", l'ordinateur éloigné PT commence un cycle d'aménagement, qui provoque une reprise de la section de programme interrompue, au point d'interruption, en utilisant l'information d'adresse présente à l'emplacement dé-30 fini par l'adresse de la désignation, auquel on avait accédé initialement. On va maintenant examiner un transfert empilage-colonne faisant entrer en jeu la ligne principale extérieure ; ce type de transfert est représenté schématiquement sur la fig. 2d. La section de 35 programme de travail, asynchrone, AWRd, comme dans le cas de la fig. 2b, agit sur un paquet de données, qui lui est fourni à partir des emplacements de mémorisation formant sa propre colonne d'entrée I/P-W. Avant d1attaquer la section de programme AWEd, il est nécessaire de transférer le paquet de données sur lequel elle 69 45618 18 2027658 doit travailler aux emplacements de mémorisation formant la colonne d'entrée I/P-W de cette section de programme. Toutefois, dans le cas présent, les emplacements de mémorisation formant 1*empilage ST, d'où les paquets de données nécessaires doivent être extraits, sont 5 situés dans un ordinateur autre que celui dans lequel se trouve la colonne (plus précisément l'empilage ST est dans ion ordinateur Po* tandis que la colonne I/P-W est dans un ordinateur Pf*). Ici encore, l'instruction de traitement de colonne "insérer" (IfcS INST) comporte, en préface, une instruction "préparer le transit) fert", PPT INST, qui agit d'une manière identique à celle qui a été exposée ci-dessus, à cela près que l'instruction à laquelle on accède par l'adresse de la désignation dans l'ordinateur éloigné B* est une instruction "extraire" et non pas une instruction "insérer". Après achèvement de l'instruction "préparer le transfert", 15 l'instruction "insérer", IH3 INST, est exécutée dans l'ordinateur local cependant que l'instruction "extraire" associée, EX INST, est exécutée dans l'ordinateur éloigné Pc* . les opérations assurées par les deux microprogrammes d'instructions, qui seront décrites de façon détaillée plus loin, en se référant aux tableaux 20 7 et 8a, sont rendues solidaires au moyen du système de transfert constitué par les lignes principales, et elles provoquent le transfert d'un unique paquet de données, à raison d'un caractère à la fois, de 1 'eMj»ila*}3 ST à la colonne I/P-W. Il est à noter que l'or- . dinateur qui demande le transfert d'informations, est l'ordinateur 25 » tandis que le transfert d'informations demandé s'effectue de l'ordinateur P Après achèvement de l'instruction d'insertion INS INST, l'ordinateur local Pj^ commence un cycle d'aménagement qui consiste à attaquer la section de programme de travail, asynchrone, AWBà. 35 Après achèvement de l'instruction d'extraction, EX INST, l'ordi nateur éloigné Fat commence un cycle d'aménagement qui provoque une reprise de la section de programme de travail interrompue, au point d'interruption. Dans la description ci-dessus, on a mentionné les mots de com 69 45618 19 2027658 mande do l'empilage et de la colonne* Ces mots de commande sont matériellement placés "en haut" des emplacements de mémorisation formant la colonne ou l'empilage. Les mots de commande de l'empilage ou de la colonne vont main-5 tenant être décrits en se référant au tableau 1, ligne viii; ils comprennent un mot principal de commande de la colonne ou de l'empilage, S/WCW, et deux mots de commande de transfert, ICW et CCW. Le mot principal de commande de la colonne ou de l'empilage S/WCW comprend trois tranches, à savoir (i) la tranche du code d'é-10 tat de l'empilage (SC), (ii) la tranche du code de dimension de l'empilage (SS) et (iii) la tranche du compte total de la colonne (ÏWC). Le code d'état de l'empilage (SC) est utilisé pour maintenir un total courant du nombre de paquets de données présents dans 15 l'empilage; il est augmenté par des instructions d'entrée (INS IM3Ï et LST), et il est réduit par des instructions de sortie (EX INST •t UST) après chaque transfert couronné de succès. Dans le cas d'un mot dé commande de la colonne, ce paramètre n'a aucune signification, étant donné qu'une colonne ne contient qu'un seul paquet de 20 données. Le code de dimension de l'empilage (SS) est utilisé pour indiquer le nombre maximal de paquets de données qui peuvent être placés dans l'empilage (c'est-à-dire la capacité de celui-ci); il est déterminé une fois pour toute$,et n'est jamais modifié pendant 25 toutes les manipulations. Dans le cas d'un mot de commande de la colonne, ce paramètre est choisi égal à l'unité. Le compte total de la colonne (TWC) est utilisé pour indiquer le nombre de caractères de dix bits d'un paquet , et ce paramètre reste constant. 30 Comme précédemment décrit, trois mots de commande empilage/ colonne sont matériellement placés aux trois emplacements portant lea numéros d'ordre les plus faibles à partir du premier emplacement de l'empilage ou de la colonne. A l'emplacement comportant une adresse précédant immédiatement 35 celle du mot principal de commande de la colonne ou de l'empilage, se trouve le "mot de commande d'entrée", ICW, et ce mot comporte également trois tranches, à savoir (i) une tranche de code d'emplacement d'entrée actuel (CL) (ii) une tranche de code d'entrée de position de la colonne ou de l'empilage (SP), et (iii) une tranche 69 45618 20 2027658 de code de position du caractère d'entrée (CP). lie code d'emplacement d'entrée actuel (CL) est utilisé pour définir l'emplacement auquel l'introduction de données suivante commencera. 5 Le code de position de l'empilage (SP) est utilisé pour défi nir le nombre de zones de paquet qui restent libres dans l'empilage; il est réduit d'une unité par chaque transfert d'un paquet de données, qui a été couronné de succès, et il n'a aucune signification en ce qui concerne une colonne. 10 Le code de position du caractère (CP) est utilisé pour indi quer dans quel quadrant de caractère d'information suivant doit être placé; il est augmenté d'une unité pour chaque caractère d'information transféré à la colonne ou à l'empilage. Directement "au-dessus" du mot de commande d'entrée (c'est-à-15 dire à line adresse de poids immédiatement inférieur) est disposé le mot de commande de sortie. Ce mot de commande de sortie OCW est d'une forme analogue à celle du mot de commande d'entrée ICW, et, lorsque l'empilage est vide, il est placé dans les mêmes conditions que ce mot de commande d'entrée. Les opérations effectuées sur le 20 mot de commande de sortie sont les mêmes que celles qui sont effectuées sur le mot de commande d'entrée, mais elles sont déclenchées par les instructions de sortie UST (décharger l'empilage) et SX (extraire). La signification des divers paramètres des mots de commande de 25 la colonne et de l'empilage est plus facile à apprécier si l'on considère les microprogrammes détaillés des diverses instructions, représentés sur les tableaux 4 à 8. Toutefois, il est à noter que, dans certains cas, les mots de commande de la colonne ne sont pas tous utilisés. Par exemple, si une colonne doit être traitée exclu- 30 sivement par des instructions "charger l'empilage" ou "décharger l'empilage" (c'est-à-dire si la section de programme associée est attaquée ou "débouche" sur une ou plusieurs sections de programme exclusivement . , . situées/dans le même ordinateur-qu'elle) les mots de commande ne sont pas nécessaires du tout et l'adresse "A" de ces instructions 35 est relative au premier emplacement (ou emplacement initial) de la colonne. Dans le cas d'une instruction d'extraction associée à un transfert colonne-empilage, le mot de commande d'entrée de la colonne n'est pas nécessaire et, par conséquent, il reste en blanc, tandis que, dans le cas d'une instruction d'insertion associée à un 69 45618 21 2027658 transfert empilage-colonne, c'est le mot de commande de sortie de la colonne qui n'est pas nécessaire et qui, par conséquent, n'est pas exigé. On va maintenant examiner le microprogramme de chacune des 5 instructions mentionnées ci-dessus, en se référant aux tableaux 4 à 8 suivants. (Voir Tableaux 4 à 8 pages 22, 23, 24, 25, 26 et 27). Dans la description qui va suivre, on trouvera un certain nombre d'autres tableaux, non numérotés, représentant les signaux 10 de commande produits par l'unité de commande. Dans ce3 tableaux, un symbole := sera utilisé; ce symbole signifie "devient". Par exemple, lorsqu'on indique, dans un tableau, un signal de commande SDÂQ1 :=AAR, ceci veut dire que le quadrant Q1 de SDA devient AAR (ou, en d'autres termes, que le contenu du registre MB. est placé 15 dans le quadrant Q1 du registre SDA). Chaque transfert effectué laisse subsister les données transférées tant à la destination qu'à l'origine de ce transfert. Les ordinogrammes des tableaux 4 à 8 représentent les opérations effectuées par l'ordinateur au cours de sa "phase d'exécutiorf 20 sous le contrôle de l'unité de commande CU (fig.1c) pour chaque instruction suivant l'invention. On se souvient de ce que l'ordinateur est organisé de telle manière que les adresses "A" et "B", sous forme absolue, se trouvent dans les registres AAR et BAR, respectivement, au commencement de la"phase d'exécution", et de ce 25 que le numéro de contrôle de la séquence a été augmenté dans le registre SCR, ou bien, dans le cas d'un ordinateur interrompu, dans le registre LIR. Les diverses opérations indiquées sur les schémas des microprogrammes ont été désignées par des références numériques, et la description qui va suivre comportera les mêmes 30 références. 7. Instruction "charger l'empilage" (Fig. 2a et Tableau 4) : Il a été mentionné précédemment, en se référant à la fig. 2a, que l'instruction "charger l'empilage" est utilisée pour commander un transfert colonne-empilage lorsque les emplacements de mémori-35 sation utilisés pour la colonne et pour l'empilage sont tous deux dans la même mémoire, à la fin d'une section de programme de travail, asynchrone. La phase d'exécution de l'instruction "charger l'empilage" est, en conséquence, attaquée en 7/1 sur le tableau 4, avec un paquet de données aux emplacements de mémorisation affec- 69 45618 22 2027658 ■mtHit dz. cc.fe SCR «t / C l/V CLmjs SDATWC tlrins NR /"L eSlsir.s. SA kj c /*" JC" UV CUl-i:. -; 3 O B- ë-t S ; s C B/v "Cê 7/1 TABLEAU 4 C =55 « «. à/ 5 K ■irtu. ■njxf&hJtH- C. i-ota-ifLS S D B> ■ tjZ&nxâtjfo-t 7/1S U.~uxiA-synti dû ê&fifutHj. fiaut s OA S PC' '//M--. S tS f3 A *tuius>£ne>t: & Tflirt -de Ha colonne. c 7/6 7/7 CciACLcJ-^e -iatua-nl cZl, f(X eu ëonile. an (UiAuJicïette -Istiwaui CÂ -ê 'eAnM-éku^e^' dUuA'méiU.é*c C- P •dxrwuMi&c TWC. C'rl îtsj ■ÉêtnfiuBa^ cut*^s>netd^-i CL de -Pu coëenvnè. ; -izcl?a,^'cet s.ti Cct_ ■ Co&jyuntL dauaSÛÂ/ teewiecfx.lreK* ; cidze.fttft SCL 7/1$ 7/17 CuAsZXi-l-t,i?ALtL C£*êcnz,n*t •facirvït i'iet SiCWdam SDB >. d-L.-nw)iLùLJx. ' S P 7/26» €MMe c S DR ci. t? (idzesie. -S C" V/V «sfe -fela rnemcczji. - S i/I ',\s\fr_ i ■CLclfL"> S C L>Uu*j> S Ù A Q O- &}U&fCr>&'t ituu^ ■ëj^mamocoL ~{P SCt/V u^w>fë- '7/16 7/Z.1A 7/19 S i L djLim S Peiau^ SOÔQO S OR- S SÙBQ1 -tul^Aietr X CP rta.n.i SD&Q'Z. &izeqt^izez. &SICW dUczfrfe. nyi einoota-jxyvu^tj oC l\ CLeLins 5'DBQO S"Pd/im i DBÇI 7/'14 a,£ù-c CL H S K (^nëui/e(*â-. SëctZc » do fvtû rrÊïne ^ oo LO VÛ r-CN o CN p-\ cm 00 vO i/) 1 llfe •y f^10 ÎH^ Ill^s t 1 1 a Sf4 o'*' h^|I «in -O 69 45618 24 2027658 TtHTMlT K ThtL--n^f'£ié*L. T P W c/ft-yvj SDA,^ 9/1 HSE prêt I I 9/7 actionné aller à HSE (interruption du service) EmetÙîi ?J acLd'ztiotl. de la Ae 9/8 9/16 Ehnty,il ck Tk, vio . •tntbbtcn j acllvêWtti f l'hrft (i./'(t«( t't'vli 9/15 Attccnvric1!- ? itotUGi- fcust tç-iAtip&vittc. y-jt 9/10 dcàiZvnzlûy) occupa cU/mt/nuii f\ 9/9 t/ti£n«£c-n 6c£lC, tVitffïe fe fodO dt la. cleit'a'niitU.Ti W H SA AC = 0 C tu: TW7 d'L -^ri mcL'ccI~ïl~i di_ il :./^ :} QÇCujiil' 9/3.1 9/13 SCR 9/H Aller à HSE pour une nouvelle instruction j) i tcrvnétllrc WH6A 9/12 aller à HSE — indicateurs de dérangement dans le service 69 45618 25 Tn-i^vvïj-t^ic l S/W'CW di-v vo 'SOft ^ T W'C tU. *w M (\ 10/1 2027658 TABLEAU 7 I I actionné n empilage vide 10/7 10/3 10/5 ihci vv> j- in. i a CUX yl) S OA y* rvT-fc# fc-*- L T-U.VW j^U L C C VV cttA. i-V-ï S DM , CL fttvWi f*ï S P c.UA.VH NR , c P lifvW-J C 'Lit It'lt (j làClï Ï. 10/6 10/8 WHSR W9 v "continuer^HSE aller à la section de programme de dépannage 10/10 fë £ .i;c- tCl t (ICviXi H$Cy t* rUtttTct ft Cu"te-t A 'c. t *m em fë t Ç f* * section de programme de dépannage HSE = E de B 10/14 10/15 C^eCw «IV Vv H t oM.lt'i*' i- J- tvtv t£yit. i 1 i.*. U. SCVv ; ci-i.mi>yvv«.e t -St. :> SûftÇC; Aller à HSK 69 45618 26 2027658 TAHSAO 8a ■kT.i-c'it î Sjbf C-W 'rUwvj ii c »», te tiCs.%. t. y 11 A/5 Ç-r WCw', l'W*yvl 1-t U 1 T Y/ C TWC ; WH^/i - H $£ 1~. hcfl Aller à HSK«_ (défait) continuer" »- aller à HSK (défaut) 5- - ^11A/6 HSE = Ê de M 11 A/9 HSE = E de M Aller à HSK - £"m?f£u 'tttcey^/îït-Vi c/e. î î.vrtv.C^ïj * h.irtj, t»i CwiCiuf HOfJ SDA(Notla CPJ WH^R;H.St i HDR A ftit et CL 11 A/8 E de H Aller à HSE (défaut) ,11 A/16 E-vn*lZie Wrt$A;nWtu '(■» VnrO wtf) . en cucaû C.v, ' WH-SR AuiWCr\ltL thiOiitû "AttvhfTL r*> izbi.ri "/•« te, -Yijfy•.Yf\^U+ ,w* '*1 «ivmc-iuic £ TWe ; Wft S A 11 A/13 11A/14^^ ^ ^vn.) riwtTTientf, CL /ht 11A/15 tmctC*. c 'ftictjifi: t fVfrc î*">- WtfS'A 11A/20 11A/19 11A/?1 ; rv».j. ^^•/yïîc ji/T, Ci^ /LU MA/22 H on cT sort Sort c Li wmoi t* 11 A/25 ^iy>. SCr> 4 aller^àTHSK (instr.suivante) 69 45618 27 2027658 (enpilage plein) TTic\-a) rtu l TVv'C -SP cùa.v>« /Vrt J CP fîti>v} C P A / 't£^yi/L€ ^ TABLEAU 8b 11B/ (dérangement) 11B/5 11B/6A Tka-Mj-vit't. Cl davw iû/i; nctwiesiiBîiç.^ tHS à H DR imztFie 'ixccajh-ï. WhSA ; ntwettîe _ &> fc»y«ïw.i in Cvic+dt' HOR c£ -5D/} "CPJ; WrtSR; et c L HSE » E Aller à HSK (déran gement)^ ÛujtY) . C P C n 11B/11A 11B/10 de M CP/ CUmcrtuei SP-*îa mûr» «Ut -1 tficit 11B/17 ,TWC 11B/14 ïrntWîe. "acupfci f'vn^cvm" VJ/SA ^(mcttrie. ti-, ln(. ■i n cvu'tu.t ; ClCmiiiuii. TVVC- Èinc/Cïe 'kciifiki f'Cr.fù 'ini, *' U^W5A 11B/18 11B/19 TWC = 0 Aller à HSE (dérangement) 11B/25 TTltWlCt'tt ori « n ît £ CL. V Art et. 11B/16 -SS cL. S P,' CLu^-m 5CW oc4«>itc. a /JflA ; CP = 0 11B/21 n 11B/26 Aller à HSE (nouv.inatr.] 7rtuwi^c'ie i SOfl " 'ïM'Cyr» ot'té . SCv/ cLi-M , SC ^ SOibQC^ /nâvvij-£ttt " 5D/5 «t Av tritwit'oi* Cut SùAQC 5P tî" S Ûrt SjOHQZ; à.U ICW; TuXtV)^. S 0/1 «" tel w K''c>. 11B/22 11B/23 S05 «: Sû^ (nciîn. C'V- «Uu-Hl. SP ® 11B/27 69 45618 28 2027658 tés à la colonne de la section de programme de travail, asynchrone, qui est associée. L'adresse absolue de 1*emplacement initial de la colonne O/P-W se trouve dans le registre AAR, et l'adresse absolue du mot de commande de 1*empilage, qui désigne l'empilage dans le-5 quel le paquet de données doit être transféré, se trouve dans le registre BAR» La forme des mots de commande de l'empilage est représentée sur le tableau 1 en viii. Opération 7/1 s Le tableau qui va suivre indique les signaux de commande produits pour provoquer : un transfert du mot de commande 10 de 1*empilage (SCW), de la mémoire S (Fig. 1b) au registre SDB (Fig.1b); un transfert du code d'état de l'empilage (SC), définissant le nombre de paquets actuellement présents dans 1*empilage, du quadrant QO du registre SDB (Fig* 1b) an registre de base de caractère CBR (Fig. 1a)®^une réinscription du mot de commande de 15 l'empilage dans la mémoire S. 20 25 30 35 SIGNAUX DE COMMANDE Opérations à effectuer RSAï«BAR Adresser le mot de commande de l'empilage Lire, SDB:=Mémoriser l/l Transférer le mot de commande de l'empilage dans SDB CBR:=SDBQ0 Transférer SC dans CBR Réenregistrer; Mémoriser î~SDB Réenregistrer le mot de commande de l'empilage dans la mémoire )pération 7/2 : Le tableau suivant indique les signaux de commande produits pour provoquer une comparaison du code d'état de l'empilage (SC) avec le code de dimension de l'empilage (SS) dans l'unité arithmétique AU (fig. 1c). SIGNAUX DE COMMANDE Opérations à effectuer AUî=»CBR Transférer SC et SS dans ... AU:=SDBQ1 ...... l'unité arithmétique Comparer Comparer les grandeurs des mots d'information dans l'unité arithmétique 69 45618 29 2027658 L'unité arithmétique produit l'un de deux signaux d'état du groupe de signaux d'état représentés par un conducteur unique AU.CS sur la fig. 1b, pour indiquer (i) que les codes d'état de l'empilage (30) et de dimension de l'empilage (SS) sont égaux, ou (ii) qu'ils 5 ne sont pas égaux» Si SC*SS, l'empilage est plein, l'instruction "charger l'empilage'1 est interrompue et la phase d'aménagement des ordinateurs HSE est amorcée par la constatation d'un dérangement dans la section de programme d'extraction de paquets de données dans l'empilage. 10 Si Se jé SS, le microprogramme de l'instruction "charger l'empi lage" peut se poursuivre jusqu'à l'opération 7/3* Opération 7/3 ï Le tableau suivant représente les signaux de commande produits pour assurer la préservation du numéro de contrôle de la séquence de l'instruction suivante dans le registre de liaison LIE, 15 le transfert de l'adresse du mot de commande arrivant de l'empilage ICW, de la mémoire S au registre SDA, le transfert du compte total de la colonne, TWC, au registre M, le transfert du code de la position actuelle 0L, du mot de commande arrivant de l'empilage, dans le registre BAH et le transfert du code de position du caractère, CP, 20 dans le registre CPB. SIGNAUX DE COMMANDE OPÉRATIONS à EFFECTUER LIRî=SCR SCR transféré dans LIR HIC:=BAR; -1 RSA:«HIC SCRi=HIC Réduire SCW pour former l'adresse du ICW de l'empilage dans SCR et adresser la mémoire avec ICW Lire; SDA:=mémoriser 0/P Transférer l'ICW de l'empilage de la mémoire dans SDR NR:=SDBQ2 Transférer TWC dans NR BAE:=SDAQ0 Transférer CL dans BAR ' HRî»SDAQ1 Transférer SP dans MR ; CPB:=SDAQ2 | Transférer CP dans CPB ; 35 Opération 7/4 : Au cours de cette opération, le code de position du caractère (CP) du mot de commande arrivant de l'empilage, qui est présent dans le registre CPB, est vérifié pfiur voir s'il est égal à zéro. Cette opération est effectuée par l'unité de commande CU, qui 69 45618 30 2027658 "observe" le conducteur de signaux de commande CPB = O. Si CP # 0, ceci indique qu'une partie du dernier mot de l'empilage auquel on a eu accès pour une opération d'entrée, a été utilisée pour mémoriser les derniers caractères du paquet de données précédemment transféré 5 à l'empilage. Il est nécessaire dans ces conditions que les quadrants précédemment utilisés, du mot de position actuelle soient conservés, et ceci est assuré au cours de l'opération 7/5« Si CP = 0, ceci indique que la position actuelle définit la position entièrement vide, suivante, de l'empilage. 10 Opération 7/5 : I>es signaux de commande produits au cours de cette opération sont les suivants : SIGNAUX DE COMMANDE Opérations à effectuer RSA:-BAR Adresser la mémoire en CL Lire; SDB:mémoriser 0/P Transférer le mot CL dans SDB Réenregistrer Réenregistrer le mot CL dans la mémoire Opération 7/6 : Au cours de cette opération, le premier mot de la colonne (c'est-à-dire les quatre premiers caractères d'informations du paquet de données) est transféré de la mémoire dans le registre SDA. Le tableau suivant indique les signaux de commande produits. SIGNAUX DE COMMANDE Opérations à effectuer S RSA:=AAR i Adresser la mémoire à*l'emplacement *. «. t î Lire ( initial de la colonne, et transférer =■ i t ! 1 j dans SDA A ce stade, le premier mot du paquet de données à transférer se trouve dans le registre SDA, les derniers caractères du paquet de données antérieur, éventuellement transféré à l'empilage, sont dans le registre SDB, le registre CPA est vidé, le registre CPB est réglé sur le CP arrivant, de l'empilage, le registre MR contient le 35 SP de l'empilage, le registre NR contient le TWC de l'empilage, le registre BAR contient le Cl de l'empilage, et le registre aau contient l'adresse de la position initiale de la colonne. Le microprogramme effectue maintenant le transfert désiré* Opération 7/7 : Au cours de cette opération, un unique caractère 69 45618 31 2027658 d'informations de la colonne est transféré du registre SDA au quadrant disponible, suivant, du registre SDB, et les codes de position du caractère, tant de la colonne que de l'empilage, sont augmentés d'une unité, cependant que le compte total de colonnes de 5 l'empilage est réduit d'une unité, lies réglages des registres GPA et CPB définissent respectivement les quadrants de SDA et SDB, qui sont impliqués dans le transfert de caractères d'information. 10 15 20 25 Opération 7/9 î Au cours de cette opération,un test du registre M est effectué pour voir si le dernier caractère transféré était le dernier du paquet de données (c'est-à-dire si TWC ® 0). Si TWC * 0, le microprogramme saute à l'opération 7/15 pour achever le trans-30 fert. Si TWC ^ 0, l'opération 7/10 est effectuée. Opération 7/10 ï Au cours de cette opération, on effectue un test du registre CPA pour voir si le dernier caractère transféré au registre SDB était le dernier du mot de la colonne actuel (c'est-à-dire si le CP de la colonne est égal à zéro). Si le CP de la colonne 35 est égal à 0, l'opération 7/11 est effectuée pour lire le mot suivant de la colonne. Si CP £ 0, l'opération 7/12 est effectuée. Opération 7/11 : SI&NAUX DE COMMANDE Opérations à effectuer SDBQ?î«SDAQ? (CPB) (CPA) | Transférer le caractère suivant de SDA '■ dans SDB (quadrants définis par CPA et CPB) HIC:«NE; -1 NR:»HIC l Diminuer TWC ) HICî«CPA; +1 CPA:=HIC | Augmenter le CP de la colonne HICï=CPB;+1 CPB:=HIC ! Opération 7/8 : SIGNAUX DE COMMANDE Opérations à effectuer RSAî»BAR Adresser la mémoire au CL de l'empilage 69 45618 32 2027658 SI&NAUX DE COMMANDE j Opérations à effectuer HIC:=AAR'+1 ' i AAR:=HIC ' (Augmenter le CL de la colonne d'une (unité RSA:=HIC ! Adresser la mémoire au ŒL de la colonne Lire/réenregistrer Transférer le mot suivant de la colonne dans SDA . . . SDAî«Mémoriser 0/P et réenregistrer RSAî=BAR Adresser la mémoire avec le CL de l'empilage Opération 7/12 ï Au cours de cette opération, on fait le test du registre CPB pour voir si le dernier caractère de la colonne, transféré au registre SDB, a bien été placé dans le quatrième quadrant (c'est-à-dire si le CP de l'empilage est égal à O). Si le CP de 15 l'empilage est égal à O, les opérations 7/12 et 7/13 sont effectuées, ce qui provoque l'enregistrement du mot nouvellement assemblé a»*»» le registre SDB dans la position actuelle de l'empilage adressée au cours de l'opération 7/8 ou 7/11. Antérieurement à cette opération, le CL de l'empilage présent dans le registre BAR est augmenté, ma i a 20 il n'est pas utilisé au cours de l'opération 7/14* Si le CP de l'empilage est différent de O (c'est-à-dire si le registre SDB n'est pas encore plein), l'opération 7/7 est effectuée de manière à assurer le transfert du caractère d'informations suivant de la colonne, dans le registre SDB» 25 Opération 7/13 ï SIGNAUX DE COMMANDE Opérations à effectuer HIC ï» BAR; +1 i BAR: «HIC jAugmenter le CL de l'empilage, d'une unité Opération 7/14 : SIGNAUX DE COMMANDE Opérations à effectuer Lire Enregistrer; mémoriser I/P := SDB Enregistrer le mot assemblé flâna l'empilage ; 69 45618 33 2027658 La boucle formée par les opérations 7/7, 7/8, 7/9, 7/10 (7/11), 7/12, (7/13, 7/14) et 7/7 est effectuée pour chaque caractère (^information de la colonne avec les ajustements correspondants d'adresse de la mémoire, qui sont nécessaires. Enfin, le compte total de 5 colonnes de l'empilage est réduit à zéro, ce qui indique que le dernier caractère d'information du paquet de données a été transféré au registre SDB, Lorsque cela se produit, le microprogramme "saute" de l'opération 7/9 à l'opération 7/15* ce qui provoque une lecture de la mémoire à la position de l'empilage définie au cours de l'opé-10 ration 7/8. Opération 7/15 : SIGNAUX DE COMMANDE Opérations à effectuer Lire; SDA := mémoriser 0/P Transférer le mot de l'empilage dans SDA CPA:=CPB Régler CPA au CP de l'empilage Opération 7/16 : Au cours de cette opération, l'état du code (CP) de position du caractère actuel de l'empilage est soumis à un con- 20 trôle, et, s'il correspond à zéro, cela indique que le transfert est achevé. Par contre, si ce code n'est pas égal à zéro, cela indique que l'opération 7/15 a été attaquée avec deux autres caractères d'informations dans le registre SDB. En conséquence, il est nécessaire, non seulement, de transférer ces caractères d'informations, 25 restants à la mémoire, mais encore de s'assurer que les quadrants de caractère d'information de la position actuelle de l'empilage qui ne sont pas utilisés, sont également retransférés dans la mémoire, car ces quadrants peuvent contenir les premiers caractères d'un autre paquet de données. 30 Cette dernière opération est effectuée par la boucle formée par les opérations 7/16 et 7/17» le transfert d'un caractère d'information étant commandé par le réglage de CPA'. Opération 7/17 : SIGNAUX DE COMMANDE Opérations à effectuer (IFCPA=01) (IFCPA=10) (IPCPA-11) SDBQ1:=SDAQ1 SDBQ2;=SDAQ2 SDBQ3:=SDAQ3 Transférer un caractère d'information d'un autre paquet de données, de SDA dans SDB HICÎ-CPA-+1 : CPAï=HIC Augmenter CPA 69 45618 34 2027658 Une fois que les caractères de 1*autre paquet de données ont été transférés, le registre CPA est à zéro et l'opération 7/18 est effectuée, ce qui provoque un réenregistrement du mot assemblé dans le registre SDA, dans la mémoire, à l'emplacement lu au cours 5 de l'opération 7/15. Il est à noter que l'opération 7/18 renvoie le mot non modifié si le premier accès de 1 * opération 7/16 a trouvé CPA = O. Opération 7/18 : SIGNAUX DE COMMANDE 11 Opérations à effectuer ; ! Enregistrer Mémoriser I/P:=SDB 1 Enregistrer SDB dans la mémoire au dernier emplacement de paquet de données ESAî»SCR Adresser la mémoire au CW de l'empilage 10 15 l'adressage du mot de commande de l'empilage au cours de cette opération déclenche le réenregistrement dans la mémoire, de mots de commande de l'empilage, mis à jour. Opération 7/19 ï 20 SIGNAUX DE COMMANDE Opérations à effectuer lire SDAî=mémoriser 0/P HIC:=CBR; +1 SDAQ0Ï»HIC Enregistrer ; Mémoriser l/Pï=SDA Transférer le mot de commande principal de l'empilage » - «. dans SDA Augmenter l'état de l'empilage SC d'une unité, et placer le nouveau SC ainsi obtenu dans SDAQO Enregistrer le mot de commande principal di l'empilage qui. a été ajusté dans la mémoire 30 Opération 7/20 : SIGNAUX DE COMMANDE Opérations à effectuer 35 HIC:=SCR; -1 RSAï=HIC . Adresser la mémoire à l'ICW de l'empilage lire; SDB:= Mémoriser 0/P Transférer ICW dans SDB HIC:=MR; -1 Diminuer SP d'une unité M:-HIC i 40 69 45618 35 2027658 Opération 7/21 : Au cours de cette opération, le code de position de l'empilage SP du registre M est soumis à un contrôle pour voir s*il est égal à zéro. S'il est égal à zéro, cela indique que le paquet de données a été placé dans la dernière zone de paquet de la 5 mémoire, et que, par conséquent, le code de position actuelle CL, du mot de commande d'entrée ÏCtf, doit être ajusté; cet ajustement est effectué au cours de l'opération 7/21 A. Si M £ o, l'opération 7/22 est effectuée» Opération 7/21A : 10 SIGNAUX DE COMMANDE Opérations à effectuer HIC:»SCR; +1 BAR: «HIC HIC:=BAR; +1 SDBQO:-HIC Former la première adresse de mot d'information de l'empilage dans SDBQO CPBî=0 Vider CPB Opération 7/22 : Au cours de cette opération, le code de position du 20 caractère de l'empilage, CP, est soumis à un contrôle pour voir s'il est égal à zéro. S'il est égal à zéro, le code de position actuelle du registre BAR doit être augmenté d'une unité au cours de l'opération 7/23» avant d'être enregistré dans le registre SDB, quadrant Q1, au cours de l'opération 7/24. Si CP ^ 0, l'opération 7/24 25 est effectuée directement• Opération 7/23 : SIGNAUX DE COMMANDE Opérations à effectuer HICs=BAR; +1 BARï=HIC Augmenter le CL de l'empilage, d'une unité Opération 7/24 ï SIGNAUX DE COMMANDE Opérations à effectuer SDBQO:=BAR SDBQ1:=MR Transférer le CL ajusté dans SDBQO Transférer le SP ajusté dans SDBQ1 69 45618 36 2027658 Opération 7/25 î SIGHAUX DE COMMANDE Opérations à effectuer SDBQ2î=CPB Enregistrer Mémoriser I/P := SDB Transférer le mot de l'empilage CP dans SDBQ2 Enregistrer le mot principal de commande de l'empilage ajusté, dans SCW HICi=lIR;+1 SCfiî=HIC Augmenter le numéro de contrôle de la séquence dans SCR L'opération 7/25 débouche sur la phase d'aménagement et sur une attaque de l'instruction suivante à traiter (qui peut appartenir à une nouvelle section de programme ou à la même section de programme)» 15 Dans les deux cas, il est nécessaire d'exécuter une instruc tion "décharger l'empilage" avant d'exécuter la section de programme de travail,asynchrone, effective» 8. Instruction "décharger l'empilage" (fig. 31b et tableau 5) Cette instruction est complémentaire de l'instruction de char-20 gement de l'empilage, et elle est utilisée pour commander un transfert empilage-colonne lorsque les emplacements de mémorisation utilisés pour l'empilage et pour la colonne sont tous deux dans la même mémoire, au début d'une section de programme de travail, asynchrone. La description qui va suivre comprend des tableaux des si— 25 gnaux de commande produits pour assurer les actions prévues dans le cadre des opérations élémentaires de 1'ordinogramme de microprogramme du tableau 5» lorsque ces opérations sont évidentes» La phase d'exécution de l'instruction "décharger l'empilage" est attaquée en 8/1 sur le tableau 5» alors que l'adresse de position initiale 30 de la colonne est dans le registre AÂR, et l'adresse du mot de commande de l'empilage, dans le registre BAR. Opération 8/1 : SIGNAUX DE COMMANDE Opérations à effectuer fiSA:=BAR Lire SDB:= Mémoriser 0/P Réenregistrer CBR:=SDBQ0 Adresser la mémoire au mot de commande principal de l'empilage et transférer SCW dans SDB Transférer l'état de l'empilage SC dans CBR 69 45618 37 2027658 Opération 8/2 : Au cours de cette opération, on effectue un contrôle de l'état de l'empilage SC dans le registre GBR. Si CBR = O, l'empilage est vide, ce qui indique qu'aucun paquet de données n'est disponible. L'ordinateur abandonne l'instruction de décharge-5 ment de l'empilage, et il exécute une section de programme d'aménagement pour déterminer pourquoi l'empilage est vide. Si SC ^ O, un paquet de données est disponible, et l'opération 8/3 est effectuée. Opération 8/3 : 10 15 20 25 Opération 8/4 : SIGNAUX DE COMMANDE Opérations à effectuer RSA:=BAR Adresser la mémoire avec le CL de l'empilage Lire; SDB:= mémoriser 0/P Reengistrer i Transférer le mot de l'empilage dans SDB 1 Opération 8/5 : SIGNAUX DE COMMANDE Opérations à effectuer SDAQ?:=SDBQ? (Noter CPA et CPB) Transférer un caractère d'information de SDB dans SDA, en notant les codes de position du caractère de l'empilage et de la colonne SIGNAUX DE COMMANDE Opérations à effectuer LIR:=SCR HICï=BAR; -1 SCR:«HIC Mettre de côté le numéro de contrôle de la séquence Transférer l'adresse du ICW dans SCR HIC:=SCR; -1 RSA:=HIC Adresser la mémoire avec l'adresse de OCW Lire; SDA:= mémoriser 0/P Transférer OCW dans SDA MR:=SDAQ1 Transférer SP dans MR BAR:=SDAQ0 Transférer CL dans BAR HR:=SDBQ2 Transférer TWC dans NR fîéenregistrer Réenregistrer OCW dans la mémoire 69 45618 38 2027658 Opération 8/6 : SIGNAUX DE COMMANDE Opérations à effectuer HIC:=CPA;+1 Augmenter la position du caractère de la 5 CPA:=HIC colonne d'une imité HICî=CPB; +1 Augmenter d'une unité le CP de l'empilage CPBï=HIC HIC:=NR; -1 Diminuer d'une unité le compte total de colonnes 10 NR:=HIC ESAïAAR Adresser la mémoire au mot suivant de la colonne Opération 8/7 : Au cours de cette opération, le compte total de 15 colonnes TWC est soumis à un contrôle pour voir s'il est égal à zéro* Si TWC £ O, cela indique que le transfert du paquet de données n'est pas encore achevé, et l'opération 8/8 est effectuée. Si TWC =0, cela indique que le transfert du paquet de données est achevé, et que les mots de commande ajustés doivent être réemmaga-20 sinés dans la mémoire. Opération 8/8 : Au cours de cette opération, le code de position du caractère de la colonne est soumis à un contrôle et s'il est égal à zéro, le contenu du registre SDA est enregistré à la position actuelle de la colonne, et le code d'adresse présent daim le 25 registre AAS est augmenté d'une unité (opération 8/11). Si le CP de la colonne est différent de 0, l'opération 8/9 est effectuée. Opération 8/9 : Au cours de cette opération, le code de position du caractère de l'empilage est soumis à un contrôle, et s'il est égal à zéro, la mémoire est adressée à l'emplacement suivant de 30 l'empilage, et le mot correspondant est transféré dans SDB, cependant que le code de position actuelle de l'empilage, présent dans le registre BAR, est augmenté d'une unité (opération 8/10). Si CP £ 0, le microprogramme remonte à l'opération 8/5. D'après ce qui précède, on voit que des caractères successifs 35 sont transférés des positions de l'empilage aux positions de la colonne. Finalement, le compte total.de colonnes (TWC) devient nul, et l'opération 8/7 débouche sur l'opération 8/12. 69 45618 » 2027658 Opération 8/12 t SIGNAUX DE COMMANDE Opérations à effectuer Lire Enregistrer; Mémoriser I/Ps=SDA Enregistrer le contenu de SDA dans la Cl> de la colonne (adresse dans l'opération 8/6) 3jes opérations suivantes, 8/13 à 8/20, du microprogramme concernent la mise à jour des mots de commande de l'empilage, et elles sont analogues à celles des instructions précédentes "charger l'em-10 pilage". L'opération 8/20 débouche sur la phase d'aménagement et sur une attaque de la première instruction de la section de programme de travail, asynchrone, associée à la colonne. La description ci-dessus des tableaux 4 et 5 a été donnée en 15 se référant aux opérations de chargement et de déchargement de l'empilage. On s'est référé exclusivement aux mots de commande de l'empilage. Les mots de commande de la colonne ne sont pas utilisés et ils pourraient en conséquence être omis dans le cas où seules les instructions de chargement et de déchargement de l'empilage ont 20 accès à la colonne* Comme précédemment décrit, avant chaque transfert colonne-em-pilage et empilage-colonne, impliquant l'utilisation de l'une des lignes principales externes, la connexion initiale de la ligne principale est établie par une instruction "préparer le transfert". 25 9* Instruction "préparer le transfert (tableau 6) Dans la description qui va suivre, aucune mention ne sera faite des signaux de commande produits par l'ordinateur lors de l'exécution du microprogramme, et chaque opération élémentaire de celui-ci sera examinée brièvement au point de vue fonctionnel. Au début 30 de la phase d'exécution de cette instruction, le registre d'adresse "A", AAR, contient le compte de tentatives (AC) et le registre d'adresse "B", BAR, contient l'adresse du mot des paramètres de transfert (OT). Opération 9/1 ï Au cours de cette opération, le mot des paramètres 35 de transfert (Tableau 1, vii) est transféré dans le registre SDA, et le compte de tentatives est transféré dans le registre MR* Opération 9/2 : Au cours de cette opération, le poste de ligne principale HSE est soumis à un contrôle pour voir s'il est prêt à com- 69 45618 40 2027658 mander le transfert. Si le poste de lignes principales n'est pas prêt, le signal "poste de lignes principales prêt" est à "O", et le microprogramme remonte à l'opération 9/2 de la boucle» après avoir fait le contrôle du basculeur (II) d'interruption des ordina-5 teura, au cours de l'opération 9/3. Opération 9/3 î Si le basculeur d'interruption est actionné, le microprogramme passe de l'instruction PFÏ à la phase d'aménagement après récupération du numéro de contrôle de la séquence, (opération 9/4)» pour traiter l'interruption. Si l'indicateur d'interrup-10 tion n'est pas actionné, le microprogramme remonte à l'opération 9/2. Finalement, le poste de lignes principales HSE signalera un état "prêt". Opération 9/5 : Au cours de cette opération, le poste de lignes principales HSE est conditionné par le code "lignes principales au-15 torisées" (PH), qui est utilisé par l'unité tampon BU (sur la fig. 1c) pour choisir un circuit de commande de ligne principale, qui est connecté à une ligne principale libre. Lorsque le poste de lignes principales a accepté le code "lignes principales autoirisées" » il produit le signal "le poste de lignes principales accepte", ce 20 qui permet l'exécution de l'opération 9/6. (Nota : VESA = attente du signal d'acceptation du poste de lignes principales). Opération 9/6 : Au cours de cette opération, le signal "poste de lignes principales prêt" est soumis à un contrôle; ce signal est 25 produit lorsque le poste de lignes principales a établi des connexions avec l'une des lignes principales externes. Antérieurement à la production du signal "prêt", la boucle comprenant les opérations 9/6, 9/7» 9/6 est exécutée, ce qui permet de passer à la phase d'aménagement si le basculeur d'interruption (II) est actionné au 30 cours de l'opération 9/7. lorsque le signal "prêt" est produit, l'opération 9/8 est effectuée. Opération 9/8 : Au cours de cette opération, l'adresse de la destination, présente dans le quadrant Q1 du registre SDA, est transmise à l'unité tampon BU comprise dans le poste de lignes principales 35 HSE, et elle est mise en circulation pour tenter une sélection des autres appareils nécessaires au transfert. L'adresse de la destination est mise en circulation autour de la ligne principale choisie, et l'ordinateur de destination renvoie l'un des signaux suivants : (i)«destination libre" (opération 9/9)» (ii) "destination occupée" 69 45618 41 2027658 (opération 9/10), (iii) "destination inconnue" (opération 9/15)» ou (iv) "erreur de transmission (opération 9/16). Si le dispositif de destination est libre, son basculeur d'interruption II est actionné et le processus en cours dans ce dispositif est suspendu 5 pour toute la durée du transfert. Opération 9/9 s Destination libre. L'exécution de l'opération 9/9 provoque la transmission du code de la désignation (quadrant Q2 du registre SDA) autour de la ligne principale et, lorsque le poste de ligues principales accepte ce code, le microprogramme passe à l'a-10 ménagement pour exécuter l'instruction suivante, qui est une instruction d'extraction ou d'insertion. Opération 9/10 : Destination occupée. L'exécution de cette opération provoque une diminution d'une unité du compte de tentatives (AC) du registre MR. Le compte de tentatives est ensuite soumis à 15 un contrôle pour voir s'il est égal à zéro (opération 9/11)» et le microprogramme remonte à l'opération 9/1 » ©n passant par l'opération 9/12, qui interrompt la connexion de la ligne principale pour effectuer une nouvelle tentative d'établissement de la connexion de transfert désirée. Si le compte de tentatives est épuisé, l'opé-20 ration 9/13 est effectuée pour actionner un indicateur de "destination occupée", et le microprogramme passe à une section de programme d'aménagement, par l'intermédiaire de l'opération 9/14» qui réemmagasine le numéro de contrôle de la séquence de l'instruction PPT, dans le registre SCR, et qui déconnecte la ligne principale. 25 Opérations 9/15 et 9/16 s Dérangements. L'exécution de l'une ou l'autre de ces opérations provoque 11actionnement d'un basculeur-indicateur correspondant, et l'attaque de la phase d'aménagement, par l'intermédiaire de l'opération 9/14. Le système de compte de tentatives est prévu dans cette ins-30 truction pour assurer que deux ordinateurs coopérant entre eux ne réagissent pas mutuellement de telle manière que chacun d'eux attende que l'autre établisse une connexion déterminée entre eux. Une telle situation peut se produire lorsqu'une instruction PPT prend possession d'une ligne principale et tente de prendre possession 35 également du poste de lignes principales de la destination, et que, trouvant celui-ci occupé, elle effectue de nouvelles tentatives, jusqu'à ce qu'elle réussisse. Il pourrait advenir que l'autre ordinateur utilise en même temps une instruction PPT po#r établir des communications avec le premier ordinateur sur une autre ligne prin 69 45618 42 2027658 cipale. L'instruction PPT est telle qu'elle peut être interrompue pendant les opérations 9/3 et 9/7 par une adresse de destination arrivant sur une autre ligne principale, jusqu'à l'instant où. l'indication de destination libre est reçue. En conséquence, toute 5 adresse de destination de priorité plus impérative, arrivant sur une ligne principale, interrompt automatiquement l'instruction EFT pendant cette période. La caractéristique de tentative répétée est incluse dans cette instruction, étant donné qu'il est plus efficace de redemander 10 constamment un ordinateur occupé que de "sauter'1 à une autre section de programme de travail, asynchrone, établissant des liaisons qui pennettent de revenir à 1'instruction PPT. Ceci est dû au fait que le retard ne peut pas résulter d'un traitement par l'ordinateur occupé, étant donné que le système entrée/sortie est du type à 15 transfert autonome d'informations, et que, par conséquent, le retard résulte nécessairement d'un transfert sur une ligne principale, et le dispositif est libéré dès que ce transfert est achevé, ^e compte de tentatives est utilisé pour empêcher l'ordinateur demandeur d'être assujetti à une ligne principale ou à un dispositif 20 de destination, en dérangement. Comme décrit précédemment, l'instruction PPT est suivie d'une instruction d'extraction ou d'insertion, qui coopère avec une instruction d'insertion ou d'extraction dans le dispositif de destination, les instructions étant "rendues solidaires" par le système 25 de lignes principales coopérantes. Le tableau 7 représente l'ordinogramme de l'instruction d'extraction, qui peut être attaquée lorsque le basculeur d'interruption est ramené au repos (c'est-à-dire à la suite d'une instruction PPT), ou lorsque le basculeur d'interruption est actionné (c'est-à-dire lorsque le dispositif est le 30 dispositif de destination d'un transfert déstiré). 10. Instruction "extraire" (tableau 7). Cette instruction est attaquée après une instruction PPT ou consécutivement à une interruption après l'établissement d'un parcours de transfert suivant une ligne principale. 35 Opération 10/1 : Au cours de cette opération, le mot de commande de la colonne et de l'empilage est lu dans la mémoire et ré-enregistré, il est placé dans le registre SDA, et le compte total de colonnes TWC est placé dans le registre Mi. Opération 10/2 : Le basculeur d'inte ruption (II) est soumis à un 69 45618 43 2027658 contrôle au cours de cette opération, et le contenu de SCR est transféré dans le registre de liaison LIR au cours de l'opération 10/3, si cette instruction suit une instruction PPT (c'est-à-dire si II = O). Ceci indique que l'instruction agira sur une colonne 5 de sortie. Si l'ordinateur est le dispositif de destination de la connexion de transfert initiale (c'est-à-dire si II 0) l'ordre "extraire" est relatif à un empilage, et les opérations 10/4 et 10/5 sont effectuées pour faire le contrôle du code d'état de l'empilage SC, afin de voir si l'empilage est vide. S'il est vide, 10 l'instruction "extraire" est interrompue, et la phase d'aménagement est attaquée à partir de l'opération 10/5 pour tenir compte de cette condition. Si l'empilage n'est pas vide, ou si le basculeur d'interruption n'est pas actionné, l'opération 10/6 est attaquée. Opération 10/6 ï Au cours de cette opération, le mot ae commande 15 de sortie, OCW, de la colonne ou de l'empilage est transféré dans le registre SDA. la position actuelle (c'est-à-dire l'adresse des emplacements de mémorisation du premier mot du paquet de données) est transmise au registre AAR; le code de position de l'empilage SP est transmis au registre ER, et le code de position du caractère CP 20 est transmis à CPA. Si le mot de commande de sortie est relatif à une colonne, le code SP n'a pas de signification, car une colonne ne contient qu'un seul paquet de données, et le code d'adresse de Cl est celui de l'emplacement qui suit le mot de commande principal de la colonne, tandis que le code CP est nul. 25 Opération 10/7 : Au cours de cette opération, le premier mot d'information du paquet est transféré de la position actuelle au registre SDA. Opération 10/8 : le microprogramme s'arrête en ce point en attendant le signal "poste de lignes principales prêt". Dans le cas de 30 l'instruction "extraire", qui suit une instruction PFT (c'est-à-dire dans le cas d'un transfert colonne-empilage, fig. 2c), le poste de lignes principales produit un signal "prêt" lorsque l'adresse de la désignation a conditionné l'autre ordinateur en vue de l'exécution de l'instruction "insérer" correspondante. Dans le cas de 35 l'instruction "extraire", attaquée à la suite d'une interruption (c'est-à-dire dans le cas d'un transfert empilage-colonne, fig. 2d) le poste de lignes principales produit un signal "prêt" lorsque l'ordinateur d'origine a signalé l'acceptation du code "destination libre", en réponse à l'adresse de la destination. 69 45618 44 2027658 Opération 10/9 : Lorsque le signal "poste de lignes principales prêt" est produit, le poste de lignes principales produit également un signal "continuer", qui est soumis à un contrôle au cours de cette opération, si le code transmis concorde avec le code renvoyé, 5 ce qui indique que le transfert peut se poursuivre. Si un autre code quelconque a été reçu par le poste de lignes principales, l'opération 10/9 débouche sur les sections de programme de dépannage de la phase d'aménagement. Opération 10/10 : Au cours de cette opération, le caractère d'infor-10 mation suivant, tel qu'il est défini par le code du registre CPA, est transmis au registre tampon d'informations, EDR, du poste de lignes principales, à partir du registre SDA, et le registre de code CR est conditionné au code "caractère d'information" (c'est-à-dire que le nombre binaire 0110 est appliqué sur les fils de code de la 15 ligne principale* En conséquence, le caractère suivant est transmis à la ligne principale^,C%^"^^dant que le code CP de position du caractère (qui se trouve dans le registre CPA) est augmenté d'une unité, et que le compte total de colonnes, ÏWC, est diminué d'une unité. L'opération 10/11 est effectuée lorsque le poste de lignes prin-20 cipales signale l'acceptation du caractère d'information. Opération 10/11 : Le compte total de colonnes est soumis à un contrôle pour voir s'il est égal à zéro, au cours de cette opération, et, s'il n'est pas égal à zéro, l'opération 10/12, qui examine la position du caractère par un contrôle analogue, et, s'il y a lieu, 25 l'opération 10/13» qui extrait le mot d'information suivant si CP = 0, sont effectuées avant que l'opération 10/8 ne soit reprise, antérieurement à la transmission du caractère suivant par l'opération 10/10. L'opération 10/8 assure que le caractère suivant n'est pas transmis avant que le réseau de lignes principales et l'ordina-30 teur de destination n'aient traité le dernier caractère d'information. Lorsque le compte total de colonnes atteint zéro, le transfert du caractère d'information est achevé et l'opération 10/14 comporte un contrôle permettant de voir si le code "fin de bloc" a été trans-35 miB à partir du dispositif de destination. Sinon, c'est qu'un défaut s'est produit quelque part, et la section de programme d'aménagement est déclenchée» Si le signal de fin de bloc a été reçu, l'opération 10/15 est effectuée. Opération 10/15 : Au cours de cette opération, les actions suivan 69 45618 45 2027658 tes sont accomplies (i) déconnexion de la ligne principale, (ii) remise au repos de l'indicateur d'interruption, s'il était actionné et (iii) réenregistrement dans la mémoire du mot de commande principal de la colonne et de l'empilage, qui a été ajusté, après dimi-5 nution du code d'état de l'empilage (SP) dans le registre GBR. L'opération 10/15 n'a aucun effet si l'ordre "extraire" est relatif à une colonne. Les opérations suivantes, 10/16 à 10/22, sont utilisées pour mettre à jour le mot de commande de sortie, OCW, et elles sont as-10 sez évidentes; elles se terminent, lors de l'opération 10/22, par un «enregistrement dans la mémoire du mot de commande de sortie de la colonne ou de l'empilage, qui a été ajusté, et par la récupération du numéro de contrôle de la séquence pour assurer l'abandon de 1* instruction. 15 Comme précédemment décrit, chaque instruction "extraire" coo père avec une instruction "insérer". L'ordinogramme de l'instruction "insérer" est représenté sur le tableau 8, comprenant deux planches, respectivement dési-nées par 8a et 8b. Le schéma est subdivisé en deux parties étant donné que l'instruction "insérer" peut 20 être attaquée lorsque le basculeur d'interruption est ramené au repos, comme indiqué sur le tableau 8a (c'est-à-dire à la suite d'une instruction PPT), pour un transfert empilage-colonne (Fig. 2d), ou bien lorsque le basculeur d'interruption est actionné, comme représenté sur le tableau 8b (c'est-à-dire en réponse à la réception 25 d'un code d'adresse de la désignation, valable) pour un transfert colonne-empilage (Pig. 2c). 11. Instruction "insérer" (Tableaux 8a et 8b) La description qui va suivre sera elle-même subdivisée en deux parties, A et B, correspondant respectivement à l'instruction "insé-30 rer" sans que le basculeur d'interruption soit actionné, et à l'instruction "insérer" avec le basculeur d'interruption actionné. Initialement, l'instruction "insérer" est attaquée lors de l'opération 11/1, qui transfère le mot de commande principal de l'empilage ou de la colonne dans le registre SDB, et qui est suivie 35 de l'opération 11/2, qui fait le contrôle de l'indicateur d'interruption II. 11A. Instruction "insérer" dans le cas où. II est ramené au repos. Cette instruction est utilisée pour un transfert empilage-colonne, la colonne appartenant au dispositif considéré lorsque le 69 45618 46 2027658 transfert a été déclenché par ce dispositif. L'ordinogramme du tableau 8a est utilisé dans ce cas après l'exécution du contrôle de l'indicateur d'interruption II (opération 11A/3)» le mot de commande principal de la colonne ayant été lu au cours de l'opération 5 11/1. Opération 11A/3 s Au cours de cette opération, l'adresse de la position initiale de la colonne est formée dans le registre d'adresse "B", BAR, et le compte total de colonnes TWC, est placé dans le registre MR. La fin de cette opération dépend du signal "poste de 10 lignes principales prêt", qui est produit lorsque les signaux coopérants, associés au code d'adresse de la désignation ont été interrompus. Lorsque cela se produit, le poste de lignes principales produit un signal "continuer", indiquant qu'aucun défaut de transmission ne s'est produit, et l'opération 11A/5 est effectuée. Si 15 un défaut de transmission s'est produit, l'opération 11A/4 débouche sur la phase d'aménagement. Opération 11A/5 ï Au cours de cette opération, le code "inversion de la réponse" (1101) est transmis au dispositif de destination pour indiquer que le sens de transfert du paquet de données va de 20 l'empilage de ce dispositif de destination, à la colonne de celui-ci. Le compte total de colonnes, TWC, est diminué d'une unité au cours de cette opération, étant donné que le poste de lignes principales attend le premier caractère du paquet de données. Lorsque ce caractère arrive, l'opération 11A/6 est effectuée; elle comprend 25 un contrôle destiné à déterminer si un code de caractère d'information, valable, a été reçu. S'il n'a pas été reçu, un autre contrôle est effectué pour déterminer si un signal "fin de message" est présent, ce qui indiquerait un dérangement dans le dispositif éloigné, et 1'interruption du transfert. Si le signal du poste de 30 lignes principales n'est ni un signal "caractère d'information" ni un signal "fin de message", la phase d'aménagement est attaquée, étant donné qu'un défaut de transmission s'est produit. Si l'information reçue est le premier caractère du paquet de données, l'opération 11à/8 est effectuée. 35 Opération 11A/8 î Au cours de cette opération, le paquet de données est remis en circulation avec un code d'acceptation de l'information. Opération 11A/9 ï Au cours de cette opération, le caractère d'information reçu est transmis dans le quadrant défini par la valeur 69 45618 47 2Û27658 actuelle du code de position du caractère, CP, dans le registre CPA. Le dispositif attend alors la réception du caractère suivant et son transfert au registre HDR. Opération 11A/10 : Au cours de cette opération, un contrôle est 5 effectué pour déterminer si l'information reçue au cours de l'opération 11A/9 est un caractère d'information. Dans la négative, une opération "caractère d'information", 11A/11, est effectuée pour déterminer si le signal "fin de message" est présent. Si le poste de lignes principales n'indique ni un signal "caractère d'information", 10 ni un signal "fin de message", c'est qu'un défaut s'est produit dans le réseau de lignes principales, et l'instruction "insérer" est interrompue par une attaque de la phase d'aménagement. Si le signal est un signal "fin de message", le transfert est interrompu par line attaque de l'opération 11A/19. Si le code reçu est un ca-15 ractère d'information, l'opération 11A/12 est effectuée. Opération 11A/12 : Le compte total de colonnes TWC, présent dans le registre MR, est soumis à un contrôle pour voir s'il est égal à zéro, au cours de cette opération. Si le compte total de colonnes est égal à zéro, cela indique que le transfert du paquet de données 20 est achevé en ce qui concerne l'ordinateur considéré (c'est-à-dire que la colonne est pleine) et les opérations 11A/16, 11A/17 et 11A/18 sont effectuées, ce qui assure : la transmission du code "fin de bloc" (1010), un contrôle du code reçu consécutivement, pour déterminer si le signal "fin de message" est présent, et une 25 augmentation du code de position du caractère, CP, avant l'attaque de l'opération 11A/19» pour l'achèvement final du transfert. Si le compte total de colonne n'est pas nul, ce qui indique que le transfert du paquet de données n'est pas achevé, 1'opération 11A/13 est effectuée. 30 Opération 11 A/13 î Au cours de cette opération, le CP de position du caractère est augmenté pour définir le quadrant du registre CDA dans lequel le caractère d'information reçu pendant l'opération 11 A/9» doit être transféré. Le compte total de colonnes est diminué d'une unité, et l'information reçue est remise en circulation avec 35 le code "caractère d'information" (0110), grâce à la signalisation de l'acceptation de l'information à l'équipement du poste de lignes principales. Cette opération n'est achevée que lorsque le caractère d'information suivant, provenant de l'empilage, a été reçu par ■ l'équipement du poste de lignes principales. 69 45618 48 2027658 Opération 11A/14 î Au cours de cette opération, le code de position du caractère est soumis à m contrôle pour voir s'il est égal à zéro, et, dans l'affirmative, le mot d'information assemblé est enregistré à la position actuelle de la colonne, à partir du re-5 gistre SDA, et l'adresse de la position actuelle est augmentée d'une unité pendant l'opération 11A/15, avant que l'opération 11 A/9 ne soit reprise. Si GP O, le microprogramme remonte à l'opération 11A/9» pour traiter le caractère d'information suivant du paquet de données, parles opérations I1A/9» 11A/10, 11A/12, 10 11A/13» 11 A/14 et, s'il y a lieu, 11A/15. Finalement, le compte total de colonnes, TWC, devient égal à zéro, ce qui provoque l'exécution des opérations 11A/16, 11A/17 et 11A/18, après l'opération 11A/12. Opération 11 A/19 : Au cours de cette opération, le dernier earac-15 tère est retransmis au dispositif d'origine sous le contrôle du signal de commande "accepter l'information" de l'équipement du poste de lignes principales. Opération 11 A/20 : Au cours de cette opération, le code de position du caractère, CP, est soumis à un contrôle, et s'il est nul, 20 le mot d'information assemblé est enregistré dans la mémoire à la position actuelle de la colonne, et cette adresse est augmentée au cours de l'opération 11A/21. Si CP jé 0, après l'opération 11A/21 le dernier caractère d'information est transféré au registre SDA, sous le contrôle du code de position du caractère, et le mot d'in-25 formation de SDA est enregistré à la dernière position de la colonne pendant l'opération 11A/22. Finalement, le numéro de contrôle de la séquence est augmenté, ce qui permet à la section de programme de travail, asynchrone, desservant la colonne d'entrée, de commencer. 30 11 B. Instmiction "insérer" lorsque le basculeur d'interoption est actionné (Tableau 8b) Cette instruction est utilisée pour un transfert colonne-em-pilage, l'empilage étant situé dans le dispositif considéré, et le transfert ayant été déclenché par le dispositif dans lequel est 35 située la colonne. Le basculeur d'interruption II est actionné du fait que la section de programme en cours d'exécution a été interrompue pour le transfert d'informations autonome. L'ordinogramme du tableau 8b est utilisé dans ce cas après le contrôle de l'indicateur d'interruption (opération 11/2). L'opération 1l/l transfère 69 45618 49 2027658 le mot de commande principal de l'empilage SCW, dans le registre SDB. Opération 11B/3 : Le code d'état de l'empilage SC est transféré au registre CBR au cours de cette opération, pour permettre à l'opéra-5 tion 11B/4 de comparer ce code avec le code de dimension de l'empilage, SS. Opération 11B/4 : Au cours de cette opération, les contenus du registre CBR et du registre SDB, quadrant Q1, sont transmis à l'unité arithmétique, qui compare les dimensions de ces codes. Si SS = SC, 10 l'empilage est plein, et le micro programme de l'instruction "insérer" est interrompu par une attaque de la phase a*aménagement. Si SS -fi SC, ce qui indique qu'il existe au moins une zone de paquet de données, libre, dans l'empilage, l'opération 11B/5 est effectuée. 15 Opération 11B/5 : Au cours de cette opération, le compte total de colonnes est transféré du registre SDBQ2 au registre MR; l'adresse présente dans le registre BAR est diminuée pour former l'adresse du mot de commande d'entrée, qui est transférée au registre SDA; le compte total de colonnes est diminué d'une unité (prêt à rece-20 voir le premier caractère d'information); le code d'adresse de la position actuelle CL est transféré au registre AAR à partir du quadrant Q0 du registre SDA; le code de position de l'empilage, SP, est transféré dans le registre ÏÏR, à partir du registre SDAQ1; le code de position du caractère de l'empilage, CP, est transféré dans 25 le registre CPA à partir du registre SDAQ2, et le mot de commande d'entrée, ICW, est réenregistré. Opération 11B/6 ï Au cours de cette opération, la position du caractère est soumise à tm contrôle pour voir si elle est égale à zéro. Si CP = 0, l'opération 11B/7 est effectuée, tandis que, si 30 CP 0, l'opération 11B/6fc est effectuée pour extraire le mot de position actuelle, qui contient un, deux ou trois caractères d'information, du dernier paquet de données introduit; cette opération est suivie de l'opération 11B/7. Opération 11B/7 : Le microprogramme est arrêté en ce point, jus-35 qu'à ce qu'arrive le premier caractère d'information du paquet. Lorsque cela se produit, ce caractère est soumis à un contrôle pour déterminer si c'est un caractère d'information, pendant l'opération, désignée par . 11B/8. Si le caractère reçu n'est pas un caractère d'information, l'exécution de l'instruction "insérer" 69 45618 50 2027658 est interrompue, et 11ordinateur exécute une section de programme d'aménagement pour définir quel dérangement s'est produit. Si le caractère reçu est un caractère d'information, l'opération 1IB/9 est effectuée. 5 Opération 11B/9 ï Au cours de cette opération, le caractère d'information reçu est transféré au registre HDE, et le caractère d'information est remis en circulation avec le code de caractère d'information. Opération 11B/10 î Au cours de cette opération, le caractère d'in-10 formation récemment reçu est enregistré dans le registre SDA, dans un quadrant défini par l'état du code CP présent dans le registre CPA. la position actuelle de l'empilage est également adressée au cours de cette opération, et la fin de l'opération est suspendue jusqu'à ce que le caractère d'information suivant ait été reçu 15 par le poste de lignes principales HSE. Lorsque le caractère d'information suivant est reçu, l'opération 11B/11 est effectuée. Opération 11B/11 : Au cours de cette opération, un contrôle du poste de lignes principales est effectué pour déterminer si une indication "fin de message" est présente, et si le paquet de don-20 nées est complet. Si le caractère d'information reçu ne représente pas la fin du paquet de données, on le soumet à un contrôle au cours de l'opération 11B/12, pour voir s'il 3'agit d'un caractère —d'information.valable, après avoir augmenté d'une unité le code de position du caractère, CP, au cours de l'opération 11B/11A. 25 Si c'est un caractère valable, le compte total de colonnes, TWC, présent dans le registre MR, est soumis à un contrôle pour voir s'il est égal à zéro, pendant l'opération 11B/13, et l'opération 11B/14 est effectuée si TWC 0. Si le caractère d'information n'est pas valable (opération 11B/12), ou si TWC = 0 (opération 30 11B/13), l'exécution des instructions est interrompue, et une section de programme d'aménagement pour le dépannage, est attaquée. Opération 11B/14 ï La remise en circulation autour de l'artère du, caractère d'information reçu est déclenché pendant cette opération et le compte total de colonnes, TWC, est diminué d'une unité. 35 Opération 11B/15 î Un contrôle est effectué, au cours de cette opération, sur le code de position du caractère, CP, jaour voir si l'augmentation de CP pendant l'opération 11B/11A, relative au dernier caractère d'information reçu, remplira le dernier quadrant du registre SDA. Si CP = 0, l'opération 11B/16 est effectuée; elle 40 assure l'enri ^istrement du mot d'information assemblé dans l'empi— 69 45618 51 2027658 lage, et «lie augmente d'une unité l'adresse de position, actuelle, correspondante. Si GP ^ 0, ou si l'opération 11B/16 a été effectuée, le microprogramme remonte à l'opération 11B/10, en vue de l'assemblage du caractère d'information suivant. La boucle d'opérations 11B/10, 11B/11, 11B/11A, 11B/12, 11B/13, 11B/14, 11B/15, 11B/16 5 (si nécessaire), 11B/10, est effectuée pour chaque caractère d'information reçu. Finalement, le transfert du paquet de données s'achève, et l'opération 11B/11 détecte un signal "fin de message" du poste de lignes principales, ce qui provoque l'exécution de l'opération 11B/17. 10 Opération 11B/17 : Au cours de cette opération, CP est augmenté d'une unité pour le dernier caractère d'information du paquet; la position de l'empilage, CP, est diminuée pour le paquet de données nouvellement reçu; l'indicateur d'interruption est remis au repos et il est prêt à reprendre la section de programme interrompue après 15 la mémorisation du dernier caractère de l'empilage, la mise à jour des mots de commande et leur enregistrement aux emplacements corrects; au sommet de l'empilage. Ces diverses actions sont assurées au cours de l'opération 11B/27» et les opérations antérieures 11B/18 à 11B/26 sont utilisées pour remettre en circulation le ca-20 ractère d'information (opération 11B/19)» pour organiser les paramètres de mot de commande, mis à jour, si la dernière zone de paquet de données de l'empilage a été utilisée (opérations 11B/19, 11B/20 et 11B/25) et, enfin, pour ajuster l'adresse de la position actuelle et mémoriser le mot si le dernier caractère d'information 25 ou les derniers caractères d'information doivent être placés dans un mot d'empilage partiellement utilisé (opérations 11B/21, 11B/22, 11B/23 et 11B/24, réeffectuées pour chaque caractère d'information). L'opération 11B/27 débouche sur l'instruction suivante de la section de programme de travail, asynchrone, qui a été interrompue, 30 et la coupure de l'interconnexion de la ligne principale s'effectue sous le contrôle de l'autre ordinateur. D'après la description ci-dessus, on peut voir que l'invention permet d'interposer un mécanisme d'interface de programme entre des sections de programme de travail, asynchrones, qui travaillent sur 35 des paquets de données dans une colonne d'entrée, en produisant des paquets de données de sortie dans une colonne de sortie, par l'utilisation d'un mécanisme de transfert colonne-empilage et empilage-colonne. Le fait que les empilages agissent comme un mécanisme tam-40 pon temporel, entre des sections de programme, et l'emplacement des 69 45618 52 2027658 empilages et des colonnes dans tin dispositif de œulti-traitement de données n'ont absolument aucun effet sur les sections de programme de travail, asynchrone, elles-mêmes. Cette possibilité pré- -sente des avantages particuliers dans un grand ensemble de conosan-5 de de processus, où. l'algorithme général de commande du processus est subdivisé en sous-programmes, qui peuvent être enregistrés individuellement. L'assemblage des sous-programmes en une configuration générale n'exige qu'un jeu particulier d'instructions, suivant l'invention, ce qui permet l'utilisation de réalisations matérielles 10 différentes, et exigeant des configurations différentes de sous-programme a assemblés, sans modification de ces sous-programmes. La description ci-dessus ne vise qu'un seul mode de réalisation, auquel l'invention n'est nullement limitée. Ses variantes de l'invention viendront aisément à l'esprit des spécialistes. Par 15 exemple, le réseau de lignes externes utilisé n'est qu'un exemple typique, et il peut être remplacé, par exemple, par un réseau du ty-ps décrit dans le brevet britannique H° 1.063*296, ce qui entraînerait certaines modifications des microprogrammes suivant l'invention* 20 En outre, les divers ordinateurs ne sont nullement limités au type représenté sur les fig. la, 1b et 1c, et donné seulement à titre d'exemple. En outre, chaque transfert peut être précédé d'une opération "préparer le transfertN, ce qui donne & chaque section de programme 25 le même"aspectH, quel que soit son emplacement à L'intérieur de l'ensemble de multi-traitement de données, et quel que soit l'emplacement des sections de programme associées. Dans ce cas, le microprogramme "préparer le transfert" est modifié pour permettre de prendre une décision en ce qui concerne l'emplacement de la sec-30 tion de programme associée. Un transfert interne est effectué en utilisant les opérations "charger l'empilage" ou "décharger l'empilage", si l'opération "préparer le transfert" détecte que la section de programme associée est située dans le même ordinateur, tandis qu'un transfert externe e3t effectué en utilisant des opéra-35 tions "insérer" ou "extraire", si la section de programme associé* est située dans un autre ordinateur. Le mécanisme de détection mentionné ci-dessus peut co nsister à comparer le code de la destination d'un transfert avec les codes qui sont conservés au poste de lignes principales, antérieurement à leur émission sur le réseau 69 45618 53 2027658 de lignes principales. De même, les paramètres de l'empilage et de la colonne, mentionnés dans la description, peuvent être obtenus à une certaine distance de la zone de l'empilage ou de la colonne, dans une zone 5 d'information commune, affectée à la section de programme associée. Dans ce cas, le code de la destination est utilisé pour "localiser" la zone d'informations commune, désirée, tandis que le code de la désignation définit l'adresse des paramètres de colonne ou d'empilage, effectifs, en permettant l'exécution d'opérations 10 automatiques, correspondant aux instructions d'empilage et de colonne. Ces deux dernières modifications ont l'avantage d'interposer une protection entre les empilages et les colonnes, d'une part, et les autres sections de programme, d'autre part, ce qui assure une 15 plus grande sécurité contre une mutilation des informations de l'empilage ou de la colonne par des ordinateurs en dérangement. lia description ci-dessus de l'invention concerne un ensemble de multi-traitement de données, à ordinateurs, dans lequel chaque ordinateur comprend son propre programme et ses propres disposi-20 tifs de mémorisation des informations. Toutefois, l'invention est également applicable à d'autres configurations d'ensembles de mul-ti-traitement de données, à ordinateurs. Par exemple, il est bien connu dans la technique antérieure, de prévoir une série de modules de mémoire pouvant être individuellement connectés, par l'intermé-25 diaire de commutateurs accouplés, à une série d'ordinateurs ou d'unités de traitement, comprenant seulement des moyens de mémorisation temporaire. Dans ce cas, chaque section de programme peut, par exemple, être mémorisée dans un module de mémoire séparé, avec les colonnes d'entrée et de sortie associées, cependant que les empila-30 lages associés peuvent être mémorisés dans le même module de mémoire, ou dans l'un quelconque des autres modules de mémoire. Des modifications peuvent être apportées aux modes de réalisation décrits, dans le domaine des équivalences techniques, sans s'écarter de l'invention. 35 69 45618 54 2027658 REVENDICATIONS 1Ensemble de traitement de données, utilisant une procédure subdivisée en plusieurs fonctions, assurées chacune sous le contrôle d'une section de programme correspondante, mémorisée dans une 5 zone de mémoire qui lui est exclusivement affectée et constituée par une séquence d'instructions de programme arrangée pour commander convenablement l'ensemble de traitement de données, caractérisé par le fait qu'à chacune des zones de mémorisation d'une section de programme sont associées une zone de mémorisation de données d'en-10 trée, destinée à recevoir un unique paquet de données d'entrée et une zone de mémorisation de données de sortie, destinée à recevoir un unique paquet de données, traitées, que ledit ensemble est conditionné, de manière à, lorsqu'il fonctionne suivant une section de programme, traiter un paquet d'entrée présent dans ladite zone de 15 mémorisation de données d'entrée, et produire un paquet de données traitées, correspondant dans la zone de mémorisation de données de sortie, que ledit ensemble comporte une série de zones supplémentaires de mémorisation ayant chacune une capacité d'emmagasinage permettant d'y mémoriser une série de paquets de données, qu'un pa-20 quet de données d'entrée est transféré, sous le contrôle d'un pre-..... mier moyen de commande de transfert, d'une zone supplémentaire de mémorisation de données bien définie, à ladite zone de mémorisation de-données d'entrée pour préparer le début-d'àne section de programme, tandis que le groupe de données traitées est rapidement trans-25 féré, sous le contrôle d'un second moyen de commande de transfert, de ladite zone de mémorisation de données de sortie à une autre zone supplémentaire de mémorisation, bien définie, après l'achèvement de la section de programme. 2.- Ensemble de traitement de données suivant la revendication 30 1, caractérisé en ce que les zones de mémorisation de données d'entrée, les zones de mémorisation de données de sortie et les zones supplémentaires de mémorisation de données sont formées chacune par une série indépendante de positions de mémorisation d'un mot d'information dans la mémoire principale d'un ordinateur, et chacune 35 des zones de mémorisation àe données d'entrée correspond, en ce qui concerne ses dimensions, au paquet de données auquel la section de programme considérée se rapporte, cependant que la zone de mémorisation de données de sortie correspond, en ce qui concerne ses dimensions, au groupe de données traitées, produit par la section de 40 programme considérée. 69 45618 55 2027658 3*- Ensemble de traitement de données suivant la revendication 2, caractérisé en ce que dans chacune des zones supplémentaires de mémorisation de données sont associées auxdites positions de mémorisation de mot d'information, des positions de mot de commande de 5 transfert, utilisées pour mémoriser des informations de commande de transfert» relatives aux paquets de données emmagasinés dans ladite zone supplémentaire de mémorisation de données* 4*- Ensemble de traitement de données suivant la revendication 3» caractérisé en ce que chaque position de mot de commande de 10 transfert comprend une position de mot de commande principal» mémorisant des informations relatives à un compte total de blocs» indicatif du nombre de paquets de données actuellement emmagasinés dans la zone supplémentaire de mémorisation de données à un état ma-ri moi de compte, indicatif du nombre maximal de paquets de données que 15 la zone supplémentaire de mémorisation de données est capable d'emmagasiner, et à un compte de caractères, indicatif du nombre de caractères d'information contenus dans un unique paquet de données* 5.- Ensemble de traitement de données suivant la revendication 3, caractérisé en ce que les positions de mot de commande de trans- 20 fert comprennent une position de mot de commande de transfert d'entrée, emmagasinant des informations relatives, d'une part, à une adresse initiale d'entrée, indiquant la position de mémorisation en laquelle le paquet de données reçu, suivant, doit commencer, et, d'autre part, à un compte de blocs d'entrée, indicatif du nombre de 25 paquets de données qui ont été placés dans la zone supplémentaire de mémorisation d'information. 6.- Ensemble de traitement de données suivant la revendication 3, caractérisé en ce que les positions de mot de commande de transfert comprennent une position de mot de commande de transfert de 30 sortie, emmagasinant des informations relatives, d'une part, à une adresse initiale de sortie, indicative de la position de mémorisation en laquelle commence le paquet de données suivant, à extraire, et, d'autre part, à un compte de blocs de sortie, indicatif du nombre de paquets de données qui ont été extraits de la zone supplé-35 mentaire de mémorisation d'informations* 7*- Ensemble de traitement de données suivant la revendication 4, caractérisé en ce que les premier et second moyens de commande de transfert sont actionnés respectivement sous le contrôle d'une première et d'une seconde instructions programmées, dont les mots 69 45618 56 2027658 d'instruction définissent, d'une part, l'adresse de la première position de la zone de données d'entrée impliquée dans le transfert, et, d'autre part, l'adresse du mot de commande principal de la zone supplémentaire de mémorisation impliquée dans le transfert* 5 8*- Ensemble de traitement de données suivant les revendica tions 5 à 7, caractérisé en ce que ladite première instruction commande le transfert d'un paquet de données de la zone supplémentaire de mémorisation à la zone de mémorisation de données d'entrée, par référence à et manipulation dudit mot principal et dudit 10 mot de commande d'entrée* 9.- Ensemble de traitement de données suivant les revendications 6 et 7f caractérisé en ce que ladite seconde instruction commande le transfert d'un paquet de données de la zone de mémorisation de données de sortie à ladite zone supplémentaire de mémori-15 sation par référence à et manipulation du mot de commande principal et dudit mot de commande de sortie* 10*- Ensemble de traitement de données suivant les revendications 3, 4, 5 ou 6, caractérisé en ce qu'une série d*or^fnaie§rsfj commandés par des programmes enregistrés sont prévus, que les sec-20 tions de programme sont réparties entre ces ordinateurs, qui sont interconnectés par l'intermédiaire d'un réseau de lignes de transmission de données, permettant à l'un quelconque des ordinateurs d'accéder à l'un quelconque des autres ordinateurs, le premier moyen de commande de transfert étant capable de commander le trans-25 fert d'un paquet de données d'une zone supplémentaire de mémorisation de données, bien définie, de la mémoire principale d'un premier ordinateur, à une zone de mémorisation de données d'entrée, bien définie, de la mémoire principale d'un second ordinateur, antérieurement au commencement, par ce second ordinateur, de la sec-30 tion de programme associée à ladite zone de mémorisation de données d'entrée bien définie, tandis que le second moyen de commande de transfert est capable de commander le transfert d'un paquet de données traitées d'une zone de mémorisation de données de sortie bien définie de la mémoire principale d'un premier ordinateur particu-35 lier, à une zone supplémentaire de mémorisation de données bien définie, de la mémoire principale d'Un second ordinateur, après l'achèvement par ledit premier ordinateur, de la section de programme associée à cette zone de mémorisation de données de sortie bien définie* 69 45618 57 2027658 11.- Ensemble de traitement de données suivant la revendication 10, caractérisé en ce que les opérations effectuées par les moyens de commande de transfert dans lfordinateur dans lequel se trouve la section de, programme particulière, considérée, sont 5 précédées par les opérations d'un moyen d'établissement de transfert de communications, qui, d'une part, définit 1'ordinateur nécessaire et la zone supplémentaire de mémorisation de données, qui est nécessaire dans la mémoire principale dudit ordinateur nécessaire, auquel ou à partir duquel le paquet de données correspon-10 dant à la section de programme particulière, considérée, doit être transféré, et qui, d'autre part, commande l'interconnexion des ordinateurs utilisant ledit réseau de lignes de transmission de données. 12.- Ensemble de traitement de données suivant la revendica-15 tion 11, caractérisé en ce que le moyen d'établissement de transfert de communications est actionné par une instruction de programme "préparer le transfert", qui est exécutée par 1'ordinateur dans lequel se trouve la section de programme, dont le mot d'instruction définit l'adresse, dans la mémoire principale de cet ordina- 20 teur d'un mot des paramètres de commande du transfert. 13.- Ensemble de traitement de données suivant la revendication 12, caractérisé en ce que le mot des paramètres de commande du transfert mémorise, d'une part, un code qui définit l'ordinateur nécessaire, et, d'autre part, le code d'adresse de l'information 25 de commande mémorisée danw 11 ordinateur nécessaire, et définissant la position de mot de commande principal de la zone supplémentaire de mémorisation de données, qui est nécessaire, 14.- Ensemble de traitement de données suivant la revendication 13, caractérisé en ce que les premier et second moyens de 30 transfert sont actionnés par une paire d'instructions de programme, coopérant entre elles, une dans chacun des ordinateurs concernés par le transfert désiré, l'instruction contenue dans l'ordinateur où. se trouve la section de programme, étant exécutée immédiatement après l'exécution complète, et réussie de l'instruction "préparer 35 le transfert", et spécifiant, dans son mot d'instruction, la première adresse de la zone de mémorisation de données d'entrée ou de sortie, associée à cette section de programme, tandis que l'instruction contenue dans l'ordinateur désiré est définie par le code d'adresse mémorisé dans le mot des paramètres de commande de trans- 69 45618 58 2027658 fert, le mot d'instruction de la dernière instruction mentionnée spécifiant l'adresse du mot de commande principal de la zone supplémentaire de mémorisation de données, qui est nécessaire, 15°- Ensemble de traitement de données suivant la revendica-5 tion 12, caractérisé en ce que le mot d'instruction de l'instruction "préparer le transfert" inclut un compte de tentatives, capable d'indiquer le nombre de tentatives infructueuses d'établissement de la voie de transfert nécessaire dans le réseau de lignes de transmission de données, l'ordinateur où. se trouve la section 10 de programme étant muni de moyens capables de déclencher une alarme lorsque le compte de tentatives atteint une valeur prédéterminée, 16.- Ensemble de traitement de données suivant les revendications 7, 8, 9 ou 14, caractérisé en ce que les différents ordinateurs sont commandés par des microprogrammes, et que la première 15 position d'une zone de mémorisation de données d'entrée ou d'une zone de mémorisation de données de sortie spécifie le nombre de caractères d'information de chaque paquet de données correspondant à ces zones de mémorisation de données, les instructions qui contrôlent la réception des données étant dotées de dispositifs comp-20 teurs, commandés par des microprogrammes, et capables de compter le nombre de caractères reçus, et de comparer leur propre contenu avec le nombre de caractères d'information de chaque paquet de données, tel qu'il est défini par la première position d'une zone de mémorisation de données d'entrée ou par la position du mot de 25 commande principal d'une zone supplémentaire de mémorisation de données, tandis qu'une alarme est déclenchée si une concordance n'est pas obtenue lorsque le transfert d'un paquet indépendant de données est terminé, 17»- Ensemble de traitement de données suivant les revendica-30 tions 7, 8, 9 ou 14, caractérisé en ce que les instructions qui sont affectées aux zones supplémentaires de mémorisation de données sont capables de créer des conditions distinctes, indicatrices de l'état de la zone supplémentaire de mémorisation de données, considérée, lorsque, d'une part, le nombre de paquets de données actuel-35 lement contenus dans la zone supplémentaire de mémorisation de données est nul, et que l'opération de transfert de données, demandée, exige l'extraction d'un bloc de données ou lorsque, d'autre part, le nombre de paquets de données actuellement présents dans la zone supplémentaire de mémorisation de données est égal au nombre maximal 69 45618 59 2027658 d* blocs de données, et que l'opération de transfert de données, demandée exige l'insertion d'un bloc de données, par interrogation de la position du mot de commande principal de la zone supplémentaire de mémorisation de données» 5 18»- Ensemble de traitement de données suivant la revendica tion 17, caractérisé en ce que des signaux indicatifs desdites conditions distinctes sont renvoyés, sur le réseau de lignes de transmission de données à l'ordinateur où se trouve la section de programme pour interrompre la tentative de transfert» 10 19*- Ensemble de traitement de données suivant l'une quelcon que des revendications précédentes, caractérisé en ce que les microprogrammes des instructions qui commandent l'extraction de paquets de données, des zones supplémentaires de mémorisation de données, comprennent des opérations élémentaires qui, d'une part, 15 provoquent la soustraction d'une unité au compte total de blocs présent à ladite position de mot de commande principal, et qui, d'autre part, provoquent la soustraction d'unepnité au compte de blocs de sortie, présent à ladite position de mot de commande de transfert de sortie, lorsqu'un paquet complet de données a été 20 extrait de la zone supplémentaire de mémorisation de données» 20»- Ensemble de traitement de données suivant la revendication 19, caractérisé en ce que les microprogrammes des instructions qui commandent la mise en place de paquets de données dans l'une desdites zones supplémentaires de mémorisation de données, compren-25 nent des opérations élémentaires, qui, d'une part, provoquent l'ac-dition d'une unité au compte total de blocs présent à ladite position de mot de commande principal, et qui, d'autre part, provoquent l'addition d'un^unité au compte de hlocs de données d'entrée à la-fite position du mot de commande de transfert d'entrée, lorsqu'un 30 paquet de données complet a été plaeé dans la zone supplémentaire de mémorisation de données»