FR 2028742 A1 19701016 FR 7001967 A 19700120 70 01967 1 2028742 l'invention concerne des perfectionnements ans calculatrices électroniques à programme enregistré, et, plus particulièrement, des perfectionnements aux calculatrices qui exécutent des instructions groupées en macro-instructions de longueur fixe, 5 La demande de "brevet français n° PY 176. 782 du 5 Décembre-1968 au nom de la Demanderesse, décrit une calculatrice dans laquelle le programme et les données sont enregistrés dans une mémoire externe de grande capacité, dans le cas présent une unité de ruban magnétique. Les instructions du programme sont groupées en macro-instructions 10 de longueur fixe, et les macro-instructions sont transférées, une à la fois, à une mémoire interne rapide, relativement petite, dans le cas présent une mémoire à ligne à retard, pour être exécutées en série. Chaque macro-instruction contient une instruction pour sélec-15 tionner l'une d'un ensemble d'instructions contenues dans la mémoire de grande capacité et la transférer à la mémoire interne. La macro-instruction particulière qui est transférée dépend du fait que des conditions de saut sélectionnées sont survenues ou non. La mémoire interne de la calculatrice susdite contient aussi 20 une partie à données servant à recevoir de la mémoire externe des données sur lesquelles il s'agit d'opérer. La partie à données peut être divisée en tous groupes de zones désirés de manière à recevoir des segments de données de différente longueur. Une "section longue" contenant plusieurs de ces zones peut être établie 25 dans la partie à données de sorte que plusieurs segments de données peuvent être transférés entre la partie à données et la mémoire externe en une seule opération. La calculatrice susdite assure une grande souplesse de programmation mais il existe encore quelques inconvénients. Quand on 30 exécute des opérations arithmétiques assez complexes comme le calcul de fonctions trigonométriques de nombres, il est nécessaire d'extraire des macro-instructions, une à la fois, de la mémoire externe. Cela nécessite un temps relativement long „et cela ralentit notablement le fonctionnement de la calculatrice. 35 En outre, dans l'exécution de ces opérations arithmétiques relativement complexes, des portions de la macro-instruction qui concernent la commande du mouvement du papier, la détection des conditions de saut etc<>.. ne sont pas utilisées dans la plupart 70 01967 2 2028742 des macroinstructions que l'on exécute pour effectuer les opérations. Mais dans la calculatrice susdite, étant donné que toutes les macroinstructions ont une longueur fixe, elles contiennent des emplacements poux toutes les instructions constituantes. Le trai-5 tement de ces portions inutilisées des macroinstructions entre aussi dans le temps nécessaire pour effectuer l'opération. L'ion des buts de l'invention est en conséquence d'augmenter la vitesse de fonctionnement des calculatrices électroniques utilisant des macroinstructions. 10 Un autre but de l'invention est d'augmenter la vitesse de fonctionnement des calculatrices électroniques en prévoyant des moyens permettant d'extraire en même temps de multiples macroinstructions de la mémoire externe. Un autre but de l'invention est d'augmenter la vitesse de 15 fonctionnement des calculatrices électroniques exécutant des programmes formés d'instructions groupées en macroinstructions, en éliminant des portions inutilisées des macroinstructions. Pour atteindre ces buts de l'invention ainsi que d'autres, on prévoit une calculatrice qui exécute en série un programme compre-20 nant une série de macroinstructions dont chacune est formée d'une pluralité d'instructions disposées dans un ordre prédéterminé, la calculatrice comportant une première mémoire servant à enregistrer les macroinstructions, une mémoire opérationnelle et des agencements servant à transférer en série des macroinstructions 25 depuis la première mémoire à une portion prédéterminée de la mémoire opérationnelle et à transférer des informations entre une zone sélectionnée de la mémoire opérationnelle et la première mémoire et qui comprennent des agencements servant à interpréter et à exécuter les instructions contenues dans la macroinstruction en-30 registrée dans la portion prédéterminée de la mémoire opérationnelle et des agencements qui, en fonction de l'interprétation d'une instruction prédéterminée de la macroinstruction en cours d'exécution, font que les agencements-d'interprétation et d'exécution interprètent et exécutent en série, comme-macroinstructions, l'in-35 formation enregistrée dans la zone sélectionnée. On prévoit aussi des agencements qui, obéissant à un signal enregistré en une position sélectionnée de la portion sélectionnée de la mémoire 70 01967 3 2028742 opérationnelle, amènent les agencements d'interprétation et d'exécution à interpréter l'information suivante comme une macroinstruction et qui, obéissant à l'interprétation d'un deuxième signal dans la portion prédéterminée, interprètent l'information suivante 5 comme une macroinstruction qui commence une instruction plus tard que la première instruction d'une macroinstruction. Divers autres buts, avantages et caractéristiques de l'invention apparaîtront plus complètement à l'étude de la description ci-après et des dessins annexés sur lesquels : 10 la figure 1 montre schématiquement les parties principales, . spécialement la mémoire à bande magnétique, du mode d'exécution représenté de la calculatrice selon l'invention ; Les figures 2a et 2b sont des schémas-blocs plus détaillés de la calculatrice ; 15 la figure 3 montre la structure d'un certain nombre de macro instructions qui commandent le fonctionnement de la calculatrice ; la figure 4 est un schéma-blocs d'un certain nombre d'éléments et _Lci On comprendra mieux l'invention grâce à la description détail-20 lée du mode d'exécution représenté, donnée ci-après. L'invention concerne une calculatrice électronique comportant un programme interne formé par des blocs d'instructions ou macroinstructions dont chacune contient des instructions qui commandent des opérations internes et externes dans l'ordre le plus approprié 25 au traitement de l'information qui apparaît dans un document comptable donné. La figure 1 montre le système fondamental formé par une mémoire externe 1 comprenant une boucle de bande magnétique N qui contient des données et un programme, une unité centrale 2 qui 30 traite et exécute les macroinstructions individuelles après les avoir transférées à la mémoire interne 3 qui, dans le mode d'exécution représenté, peut être une mémoire à ligne à retard, une imprimante S et un clavier T. On peut étendre ce système fondamental en ajoutant toutes imités périphériques désirées.. 35 La mémoire externe N est formée par une boucle de bande magné tique sur laquelle les éléments d'information sont enregistrés en série sur des pistes P1-P7. Des emplacements sur les pistes peuvent 70 01967 4 2028742 être identifiés au moyen d'adresses B1 enregistrées sur une piste de service PS à des intervalles prédéterminés. Chaque adresse identifie le début d'un bloc BL sur chaque piste. Un programme de service peut être enregistré entre les adresses sur la piste de ser-5 vice PS. Chaque ordre de lecture ou d'enregistrement fait avancer la bande U pour l'identification du bloc BL et la lecture ou l'enregistrement du bloc adressé ; la fin d'un bloc est suivie de l'arrêt du mouvement de la bande If. 10 Le programme enregistré sur la bande U est composé de macro instructions qui ont une disposition décalée dans la mémoire 1 en fonction d'une succession d'adresses qui réduit au minimutn le temps d'accès aux blocs individuels BL de la phase de traitement. Pendant l'exécution du programme, les macroinstructions sont lues 15 et transférées, une à la fois, de la bande ïï" à une portion prédéterminée ZE01 de la mémoire 3 de l'unité centrale 2, cette portion étant capable de contenir une macroinstruction à la fois. une luaux-uxriK ui-ac uioii contenir une xns"UCTiction "Gêna aire a~ causer le transfert d'information entre la mémoire à bande JST et 20 une portion sélectionnée de la mémoire interne 3- L'information transférée peut avoir toute longueur désirée et peut nécessiter une portion de la mémoire à bande qui porte sur plusieurs adresses de la piste de service. Chaque macroinstruction contient une portion qui adresse l'une 25 de plusieurs macroinstructions enregistrées sur la mémoire à bande pour être ensuite transférée à la mémoire interne. La macroinstruction particulière choisie est déterminée compte tenu des conditions internes et externes. La mémoire interne 3 (figure 1) peut être formée par une seule 30 ligne à retard à magnétostriction LDR qui enregistre les chiffres binaires d'information en série. La ligne à retard est fermée sur des registres du type bistable qui convertissent de série en parallèle et de parallèle en série des groupes de six chiffres binaires d'information correspondant à un caractère. Chaque caractère 35 est formé de deux chiffres binaires d'étiquette et de quatre chiffres binaires d'information, ces derniers étant traités en parallèle à chaque période d'un caractère engendré toutes les six 70 01967 5 2028742 périodes de chiffre binaire. La mémoire IDR3 contient un certain nombre de zones fixes de capacité et de position prédéterminées. Le reste peut être subdivisé en zones de longueur variable. Les zones sont adjacentes entre 5 elles et chacune d'elles contient n cellules CL - Cn (n étant variable d'une zone à l'autre comme indiqué ci-après) destinées chacune à enregistrer un caractère, plus une cellule d'attaque Co qui identifie le début de la zone. Chaque cellule est formée de six positions binaires B1-B6. La 10 première position B1 sert à contenir un chiffre binaire de début de zone B1 qui a une fonction d'indicateur de zone et qui n'est égal à "1" que dans la cellule d'attaque Co. La deuxième position B2 sert à contenir un chiffre binaire d'index B2 qui identifie une cellule individuelle pendant certaines opérations afin de la dis-15 tinguer des cellules adjacentes, ce chiffre binaire B2' étant égal à "1" dans la cellule à identifier au sein de chaque zone. Les positions restantes B3 - B6 contiennent les quatre chiffres binaires d'information B3 - B6 qui sont interprétés différemment selon la cellule et la sone qui les contient, comme indiqué ci-après. 20 La subdivision de la mémoire LDR en zones est assurée par une succession d'opérations qui commencent, lorsqu'on met la machine en marche, par la création d'une première zone présentant une longueur de 1 + 32 cellules définies par deux chiffres binaires de début de zone B1 disposés respectivement dans la pre-25 mière et la trente-quatrième cellules, et l'écriture d'un caractère de fin de mémoire lïï situé dans la dernière cellule de la mémoire 3. Par suite des conditions initiales qui sont créées lors de la mise en marche, une macroinstruction de "division de mémoire" 30 située à"une adresse fixe sur la mémoire à bande U est transférée à la première zone. L'exécution de cette macroinstruction initiale de division assure la division de la ligne à retard LDR en les zones suivantes (figure 1) : 35 - Zone de programme : ZE01 ayant une longueur de 1+32 cellules (la première étant la cellule d'attaque Co) et destinée à recevoir, une à la fois, les macroinstructions successives du 70 01967 6 2028742 programme, la macroinstruction transférée à chaque fois de la mémoire à bande N à la zone ZE01 est alors exécutée automatiquement comme on le verra ci-après. - Zone d'adresse : ZE02, ayant une longueur de 1 + 2 cellules qui 5 servent à enregistrer une adresse à deux caractères. - Zone d'impression de sous-programme : ZE03 ayant une longueur de 1 + 32 cellules, dans laquelle est enregistré un bloc contenant des instructions et des données et qui a la fonction d'un sous-programme d'impression. 10 - Zone arithmétique : ZE04 ayant une longueur de 1 + 64 cellules, qui représente deux registres arithmétiques à 32 caractères servant à exécuter des opérations de calcul, les deux registres A et B sont entrelacés caractère par caractère. - Zone de chariot : ZE05 pouvant avoir une longueur de 1 + 3 à 15 1+15 cellules et servant à recevoir les données numériques posées par le clavier. - Zone d'adresse indirecte : ZE06 ayant une longueur de 1 + 3 cellules qui servent à contenir une adresse à trois caractères. le reste de la mémoire IDE est laissé non divisé par l'effet 20 de l'exécution de la macroinstruction initiale de division. En tout point au cours de l'exécution d'un programme, il est en outre possible d'insérer d'autres macroinstructions de division dont l'exécution assure la subdivision du reste (qu'il soit encore non divisé ou déjà divisé) en zones qui peuvent contenir des don-25 nées alphabétiques et numériques ou une pluralité de macroinstructions comme on l'expliquera plus loin, les macroinstructions de division peuvent diviser la portion restante en u±l nombre de zones inférieur ou égal à 153, la longueur de chaque zone et le nombre de zones étant déterminés par la macroinstruction elle-même. 30 Chaque zone de données peut être destinée à contenir des ca ractères numériques ou alphabétiques. Un caractère numérique ou alphabétique occupe respectivement une cellule ou deux cellules adjacentes de la mémoire LDR. l'information numérique porte donc sur autant de cellules de 35 mémoire qu'il y a de chiffres composant l'information, plus une cellule d'attaque, l'information alphabétique, par contre, occupe autant de paires de cellules de mémoire qu'il y a de caractères, 01967 7 2028742 plus deux cellules d'attaque, la distinction entre zones numériques et zones alphabétiques est donc déterminée par le fait que les premières comportent une seule cellule d'attaque et les secondes, deux cellules d'attaque» Les zones alphabétiques peuvent 5 contenir des caractères numériques aussi bien qu'alphabétiques. Dans la zone de programme ZE01 et dans les zones d'adresse ZE02 et ZE06, la cellule d'attaque Go contient l'unique chiffre binaire de début de zone B1 = 1 tandis que chacune dés cellules suivantes contient, aux positions de chiffre binaire B3 - B6, un 10 caractère qui indique une fonction ou une partie d'une adresse dans le code binaire interne. Dans la zone arithmétique ZE04 et dans la zone de chariot ZE05, la cellule d'attaque Co peut contenir, outre le chiffre binaire de début de zone B1 = 1, un chiffre binaire B6 = 1 servant 15 à indiquer le signe moins de l'opérande contenu dans là même zone tandis que les autres cellules peuvent contenir des chiffres décimaux codés binaire. xsëlud -Lia. *>u±ie? u.c Duu.jD-'px u J-iujjx Cû0i.0n' j ^ d'attaque contient le chiffre binaire de début de zone B1 = 1 tan-20 dis que les cellules suivantes contiennent des caractères dans le code interne ou dans tout autre code, selon les besoins de l'impression. Dans chacune des zones de données numériques, la cellule d'attaque CO contient le chiffre binaire de début de zone B1 = 1. 25 les trois positions binaires B3 - B5 peuvent contenir un code de zone servant à indiquer que la zone est occupée pour un transfert interne ou externe, la position binaire B6 peut contenir un chiffre binaire B6 = 1 servant à indiquer le signe moins du nombre contenu dans la zone. 30 Dans chacune des zones de données alphabétiques, la première cellule d'attaque, dans laquelle les chiffres binaires B1,B3,B4,B5 sont utilisés comme dans la zone de données numériques, est suivie d'une deuxième cellule d'attaque contenant le chiffre binaire B1 = 1. les paires de cellules suivantes de la zone alphabétique 35 peuvent contenir des caractères numériques et alphabétiques en un code à sept chiffres binaires par caractère. Pour identifier les zones, lorsqu'on adresse la mémoire LDR, 70 01967 8 2028742 on compte les chiffres binaires de début de zone B1. Les deux chiffres binaires consécutifs B1 présents au début de chaque zone alphabétique sont comptés comme un seul chiffre binaire. En outre, les zones de donnée de la mémoire LDR peuvent être 5 marquées par un code d'opération qui est écrit dans la cellule d'attaque. L'enregistrement d'un code d'opération au début d'une zone indique que la zone doit servir dans un type particulier d'opération. Il existe quatre codes d'opération de zone : - le code d'opérations internes servant à identifier des zones à 10 utiliser pour des transferts entre des dispositifs internes de la calculatrice ; - le code d'impression, utilisé pour les zones destinées à l'impression ; - le code de clavier, utilisé pour les zones destinées à recevoir 15 des caractères du clavier ; - le code d'opérations externes, servant à identifier les zones à utiliser pour des transferts de ou vers la mémoire à bande, ou de ou vers d'autres unités périphériques. Dans le tranfert d'une macroinstruction ou d'un soias-program-20 me d'impression, de la mémoire à bande aux zones respectives ZE01 ou ZE03 de la mémoire LDR, un code d'opération externe n'est pas nécessaire pour identifier ces zones. Dans tous les autres transferts de la mémoire LDR à la mémoire à bande ou vice versa, on utilise un code d'opération externe pour indiquer aussi bien le début 25 que la fin de la partie de la mémoire LDR qui est intéressée dans le transfert. L'utilisation de ces deux codes d'opération définit dans la mémoire LDR une section longue qui peut comprendre une ou plusieurs zones, c'est-à-dire toutes les zones comprises entre les deux codes d'opération. La fin d'une section longue est définie 30 par le code d'opération ou code d'attaque qui est enregistré dans la cellule Co de la zone suivante. On se référera maintenant à la figure 2 des dessins ; la mémoire à ligne à retard LDR, qui peut être divisée en un certain nombre de zones comme indiqué ci-dessus, est munie d'un tranëduc-35 teur de lecture qui alimente un amplificateur de lecture AL et d'un transducteur d'écriture alimenté par un amplificateur d'écriture AR et entre ces amplificateurs est interposé un groupe de 70 01967 9 2028742 quatre registres LU, LA, LE, SA destinés à la circulation des données contenues dans la mémoire. Un circuit de rythme T, piloté par un oscillateur 0 qui est synchronisé sur la lecture du premier chiffre binaire du contenu 5 de la mémoire, engendre cycliquement sis impulsions successives T1 - T6 qui identifient six périodes successives de chiffre binaire pendant lesquelles les six chiffres binaires d'un caractère sont respectivement rendus disponibles à la sortie de 1* amplificateur AL, et engendre aussi une impulsion TG- toutes les sis impulsions •jO concuremment avec l'impulsion T6. Sous la commande du dispositif rythmeur T, les cinq premiers chiffres binaires B1 - B5 de chaque caractère qui quitte l'amplificateur AL pendant les impulsions respectives T1 - T5 sont enregistrés dans les cinq dispositifs bistables du registre LU. Ils ■J5 sont transférés, en même temps que la sortie du sixième chiffre binaire B6 pendant l'impulsion T6, au registre LA de sorte que le registre LA reçoit en parallèle les sis chiffres binaires B1 - B6. A l'impulsion suivante, TG-, le contenu du registre LA est transféré au registre LE» La même impulsion TG- transfère le chif-20 fre binaire B1 contenu dans le premier dispositif bistable du registre LE à l'amplificateur d'écriture AR et les autres chiffres binaires B2 - B6 contenus dans les dispositifs bistables restant de LE aux cinq dispositifs bistables du registre SA» Du registre DA, les chiffres binaires B2 - B6 sont amenés dans l'ordre de l'am-25 plificateur AR, aux moments définis par les impulsions respectives 11 - T5. De cette manière, à chaque impulsion TG-, un certain caractère qui sort de la mémoire LDR est introduit dans le registre LA et reste disponible dans celui-ci jusqu'à l'impulsion TG- suivante 30 qui le transfère au registre LE où il reste disponible jusqu'à l'impulsion TG- suivante. Donc, pendant qu'un caractère est disponible dans le registre LA, le caractère qui le précède immédiatement dans la ligne à retard est disponible dans le registre LE. Cela permet de travailler simultanément sur deux caractères adja-35 cents de la mémoire LDR» En particulier, bien que le caractère à transférer de la mémoire LDR aux autres unités internes de la calculatrice soit normalement pris dans le registre LE, dans le cas 70 01967 10 2028742 où il s'agit par exemple d'extraire des caractères doubles représentant un caractère alphabétique, l'un des composants est pris dans le registre LA et l'autre dans le registre LE. On peut effacer le contenu d'une cellule générique de la mé-5 moire LDR en empêchant son transfert, par le canal R, du registre LE au registre SA, on peut le modifier en empêchant son transfert du registre LE au registre SA par le canal R et en permettant en même temps l'entrée dans SA d'une information qui vient des registres internes de la calculatrice par le canal DS, on peut le déea-10 1er d'une position vers l'avant en transférant le registre LA au registre SA par le canal A au lieu du registre LE, et enfin, on peut le décaler avec un retard d'un nombre prédéterminé de cellules en bloquant l'entrée et la sortie du registre LE et en transférant le registre LE au registre SA seulement après l'écoulement 15 du nombre prédéterminé de périodes de chiffre. En outre, chaque registre LA, LE alimente respectivement la paire de canaux Sa, Da et la paire Se, De. Les chiffres binaires d'étiquette B1, B2 et les chiffres binaires d'information B3 - B6 des caractères présents dans les registres LA- et LE sont transférés, 20 respectivement par les canaux Sa, Se et Da, De, des registres LA, LE aux autres unités internes de la calculatrice. On décrira ma.intfiTia.nt le schéma-blocs de la calculatrice. L'interprétation et l'exécution de chaque macroinstruction scrrt commandées par des dispositifs séquentiels qui assurent le trans-25 fert des macroinstructions successives de la mémoire à bande à la zone de programme ZE01 de la mémoire LDR et ensuite, l'interprétation et l'exécution des instructions individuelles contenues dans la macroinstruction transférée. En particulier, on a prévu les dispositifs séquentiels sui-30 vants (figures 2a et 2b) : - commande d'opérations internes G-01 ; - commande d'impression GOS ; - commande de clavier G-OI ; - commande de services de papier GSC ; 35 - et d'autres commandes pour chacune des unités périphéri ques qui sont ajoutées selon besoins. La commande d'opérations internes G-01 commande le déroulement 70 01967 n 2028742 des opérations internes, c'est-à-dire des opérations qui n'intéressent pas d'unités périphériques si ce n'est la mémoire à "bande U. En outre, cette commande supervise toutes les autres commandes . 5 La commande d'opérations internes G-01 comprend (figure 2a) : - un registre E ("registre d'étiquette") auquel est transféré le premier caractère de la macroinstruction en cours d'exécution à ce moment. Ce premier caractère a la fonction d'une étiquette en ce sens qu'il indique de quelle manière les caractères suivants de la 10 macroinstruction doivent être interprétés. le caractère d'étiquette reste dans le registre E pendant tout le temps nécessaire pour interpréter et exécuter la macroinstruction correspondante. - un indicateur d'instruction II qui indique à tout moment quelle cellule de la zone de programme ZE01 contient le premier caractère 15 de l'instruction en cours d'exécution à ce moment. - un registre de fonctions internes RF1 auquel est transféré le caractère de fonction d'une instruction interne à exécuter. Ce caractère de fonction reste enregistré dans le registre EF1 pendant tout le temps nécessaire pour interprêter et exécuter l'ins- 20 truction. - un décodeur de fonction DF constitué par un réseau logique qui décode le contenu du registre E, l'indicateur d'instruction II et le registre de fonction EPI et qui fournit une indication de la fonction correspondant à l'instruction interne en cours. 25 - un compteur ZE affecté aux zones fixes ZE01 - ZE06 de la mémoire LDR, qui indique, à chaque cycle de lecture de la mémoire, la présence dans le registre IîB des caractères contenus dans les cellules de chacune desdites zones. Le compteur ZE fournit un signal continu aux unités restantes de la calculatrice, sur une sortie sé- 30 parée pour chacune des six premières zones de mémoire, ce signal continu durant, dans les limites de chaque cycle de mémoire, tout le temps nécessaire pour lire la zone correspondante. - un registre ZO qui indique la présence d'un code d'opération enregistré dans la cellule d'attaque d'une zone pendant qu'un carac- 35 tère de cette zone est présent dans le registre LE. Le registre ZO possède un groupe de sorties dont chacune correspond à un code d'opération et reste en action pendant chaque cycle de mémoire tout 70 01967 12 2028742 le temps nécessaire pour lire la zone de mémoire marquée du code correspondant. - un groupe de dispositifs bistables d'enregistrement de conditions internes 01 qui indiquent par exemple les résultats de l'examen des 5 zones de mémoire et la présence d'un certain nombre de conditions de saut. - une unité de contrôle de commande CG constituée par un réseau logique qui reçoit les sorties du décodeur de fonctions DF, du registre rythmeur ZO, du compteur rythmeur ZE, du canal S qui est la 10 somme des canaux Sa et Se, et, par l'intermédiaire du canal Y, les sorties des indicateurs de conditions des commandes périphériques GOT, GOS et GSG qui indiquent l'état de disponibilité de ces commandes (figure 2b). Sur la base de cette information, le réseau logique CG con-15 trôle le compteur rythmeur ZB et le registre rythmeur ZO et les dispositifs bistables de conditions internes CI. En outre, le réseau logique CG transfère les indications données par le compteur ZïD S"fc 1g rfiffi.stTfi ZO nlnr nnrnrncmri oc: -n,V> rn-* o. 2-C ^ commande une succession d'états qui caractérisent le fonctionnement 20 de la calculatrice. À cet effet, le réseau logique CG commande une unité IP qui indique des états P et qui comprend autant de dispositifs bistables P1... Pn qu'il y a d'états possibles P1... dans lesquels la calculatrice peut se trouver. 25 Chaque dispositif bistable reste positionné pendant la durée de l'état correspondant. L'unité IP fournit une indication de l'état présent au réseau logique CG par le canal Q. L'indicateur d'état IP est commuté d'un état au suivant par un signal venant du réseau logique CG qui agit sur la base des indications qu'il reçoit des di-30 verses unités de la calculatrice. Un réseau logique générateur de commandements RC, qui reçoit des entrées venant du décodeur d'instructions DF, du registre rythmeur de mémoire ZO, du compteur rythmeur de mémoire ZE, du registre statique de conditions internes CI, de l'indicateur d'état IP et 35 reçoit aussi des indications relatives à la position des chiffres binaires d'étiquette B1 et B2 dans la mémoire LDR et sur les canaux S, engendre des commandements 01 - On qui commandent la suc- BAD ORIGINAL 70 01967 13 2028742 cession d'opérations dans les diverses unités. les commandements peuvent être par exemple : - des commandements de lecture, qui, par exemple, transfèrent une information des registres US, LA aux registres RAO et RA1, auquel 5 cas les commandements correspondants agissent en ouvrant les portes g1 et g2 (figure 2b). - des commandement s d'écriture qui, par exemple, transfèrent une information du registre RAO au registre SA, auquel cas les commandements agissent en ouvrant la porte g3. 10 - des commandements destinés à commander les dispositifs bistables qui enregistrent les conditions internes, auquel cas les commandements agissent en positionnant les dispositifs bistables contenus dans le registre CI. - des commandements d'écrire des caractères et des chiffres binai-15 res d'étiquette dans la mémoire LDR, auquel.cas les commandements agissent directement sur le registre SA par le canal P. La commande d'opérations internes GOI commande par exemple les instructions suivantes : transferts internes entre les zones de la mémoire LDR exécutés par le canal DL qui relie le registre LE 20 au registre RA1 et le canal DSqui relie le registre RA1 au registre SA ; opérations arithmétiques que l'on exécute en transférant simultanément aux registres RAO, RA1 deux chiffres pris dans les registres respectifs LA, LE, en traitant arithmétiquement les deux chiffres dans l'unité de calcul UA et ensuite en transférant le 25 résultat de l'opération arithmétique au registre d'écriture SA ; opérations de marquage de zone de données, que l'on effectue en engendrant des commandements d'écrire un code d'opération dans la cellule d'attaque de la zone adressée, par l'intermédiaire du registre SA ; transferts entre la mémoire LDR et la mémoire à bande 30 N, exécutés par les canaux qui relient le registre LE aux registres RAO, RA1, les registres RAO, RA1 aux registres REO, RE1 et les registres REO, RE1 à la mémoire à bande H.. Les transferts entre la mémoire LDR et la mémoire E intéressent, non seulement la commande d'opérations internes GOI, mais 35 la commande de mémoire à bande GÎT qui assure la commande du dispositif d'entraînement de bande, la sélection de la piste adressée, la recherche du bloc à l'intérieur de la piste et la synchronisa 70 01967 14 2028742 tion de l'échange de signaux entre les deux mémoires, qui est exécutée par l'intermédiaire du tampon formé par les registres RAO, REO et SE1. Sous la dépendance de la commande d'opérations internes GOI, 5 les instructions contenues dans la macroinstruction et concernant les canaux commandés par la commande de clavier GOT, la commande d'impression-tabulation GOS, la commande de services de papier GSC etc... sont transférées à ces commandes. Ces instructions commandent à leur tour le flux de données le long des canaux qui relient 10 respectivement le clavier et l'imprimante à la calculatrice ou actionnent des commandes mécaniques concernant les services de papier. la commande de clavier GOT reçoit dans le registre TA les caractères de la macroinstruction qui commandent la sélection d'un 15 clavier de la calculatrice et rythme, au moyen d'une unité de commande CT, le transfert de caractères, par la porte g4, du clavier sélectionné T au registre d'impression RS pour l'impression directe^ ou par la porte g5, au registre SA pour l'écriture des caractères de la zone de la mémoire LDR qui a été préalablement marquée du 20 code d'opération de clavier. La commande de services de papier GSC reçoit dans un registre SC les caractères de la macroinstructloi qui sélectionnent une commande donnée de papier, préparent l'avancement du papier et actionnent sous la commande de l'unité de commande CSC les dispositifs 25 mécaniques qui assurent le mouvement des diverses feuilles telles que des formulaires séparés, des formulaires continus etc..., dans l'imp ri mange S. La commande d'impression-tabulation GOS est activée en deux stades successifs de la lecture de la macroinstruction. Dans les opé-30 rations de tabulation horizontale de la tête d'impression de l'imprimante S, l'adresse de tabulation contenue dans la mar-.roinstruction est transférée au registre RS et est ensuite transmise, sous la dépendance de l'unité de commande CST, aux dispositifs mécaniques de sélection qui commandent l'exécution et l'arrêt du mouvement de 35 tabulation. Pour exécuter l'impression, le registre FS de la commande d'impression GOS reçoit les caractères de la macroinstruction qui 70 01967 15 2028742 commandent l'impression et définissent les modes d'impression. le contenu du registre CST peut spécifier l'un des modes d'impression suivants : - Impression numérique directe depuis la mémoire LDR. 5 - Impression numérique depuis la mémoire LDR avec élimination des zéros à gauche du premier chiffre significatif. - Impression numérique depuis la mémoire 1DR avec remplacement des zéros à gauche par des astérisques". - Impression avec réglage de la structure horizontale de la ligne. 10 - Impression avec réglage de la structure horizontale de la ligne et avec remplacement des zéros à gauche par des astérisques. - Impression alphabétique et numérique depuis la mémoire LDR. - Impression alphabétique et numérique depuis le clavier. Dans le cas où l'on imprime depuis la mémoire LDR, la commande 15 GOS commande, au moyen de l'unité CST qui engendre des signaux CS, le transfert de caractères individuels de la zone de la mémoire 1DR marquée par le code d'opération d'impression au registre RS. Ces —uwauiièrtia tunl alors uransmis, un à ia lois, au aispositiî d'impression de l'imprimante S. 20 Dans l'impression numérique, la commande GOS assure en outre l'élimination des zéros à gauche et leur remplacement par des astérisques lorsqu'une indication est donnée par l'unité de commande CST. Dans le cas de l'impression avec réglage de la structure hori-25 zontale de la ligne, la commande GOS assure, au moyen de l'unité de commande CST, le transfert des caractères individuels du bloc de sous-prograome d'impression au registre EDA. Sous la commande de ces caractères est alors effectué le transfert au registre RS des caractères extraits de la zone de mémoire qui porte le code d'im-30 pression d'attaque, ou de la même zone ZE03 qui contient le sous-prograsme d'impression, les caractères sont alors transmis au dispositif d'impression. Dans le cas où l'on imprime par le clavier, la commande GOS assure l'acceptation des caractères à imprimer venant du clavier. 35 les caractères sont enregistrés dans le registre RS et sont ensuite transmis au dispositif d'impression de l'imprimante S. On décrira maintenant la macroinstruction normale. 70 01967 16 2028742 La macroinstruction normale, dont la structure est indiquée par la figure 3, contient les instructions qui commandent le fonctionnement du système. fondamental formé par la calculatrice, la mémoire à bande' îî, l'imprimante S et le clavier T. Cette macroins-5 truction est formée de 32 positions contenant chacune un caractère à quatre chiffres binaires d'information* Les caractères suivants correspondent auz 32 positions de la macroinstruction : - Position 1 : caractère d'étiquette de la macroinstruetion. 10 Ce caractère différencie les diverses macroinstructions, indiquant la façon dont les caractères suivants de la macroinstruction doivent être interprétés. - Positions 2 - 3 : caractères exprimant dans leur ensemble l'une des 255 adresses de tabulation horizontale du dispositif mo- 15 bile d'impression. - Position 4 : caractère qui choisit une ou plusieurs commandes de papier des commandes de services de papier, entre les quatre commandes suivantes : - Commande de plaque de droite - symbole de code ED. 20 - Commande de plaque de gauche - symbole de code SS. - Commande inférieure d'avancement - symbole de code TI. - Commande supérieure d'avancement - symbole de code ÎS. - Position 5 : caractère qui prépare un saut du papier en sélectionnant l'une des pistes d'un dispositif de saut de papier qui 25 détermine l'arrêt du saut et en positionnant des éléments mécaniques de saut prédéterminés. Chaque dispositif de fin de saut peut être formé par une bouche de matière plastique qui se meut de façon synchronisée avec le formulaire à imprimer et qui contient quatre pistes pouvant être sélectionnées et présentant des trous espacés les 50 uns des autres selon la longueur du saut. Les huit symboles de code de la position 5 de la macroinstruction peuvent avoir les significations suivantes : SCI 1 = dispositif inférieur d'avancement, piste 1 SCI 2 = dispositif inférieur d'avancement, piste 2 55 SCI 5 = dispositif inférieur d'avancement, piste 3 SCI 4 = dispositif inférieur d'avancement, piste 4 SCS 1 = dispositif supérieur d'avancement, piste 1 70 01967 17 2028742 SCS 2 = dispositif supérieur d'avancement, piste 2 SCS 3 = dispositif supérieur d'avancement, piste 3 SCS 4 = dispositif supérieur d'avancement, piste 4. - Position 6 : caractère qui commande les fonctions suivantes 5 dans la commande de papier sélectionnée : - Ouverture des rouleaux d'avancement et interligne. Symbole de code AR-INT. - Ouverture des rouleaux pour l'introduction de cartes comptables. Symbole de code AR. 10 - Préparation de l'interligne et enregistrement du commandement "retour au début" pour effectuer l'interligne quand cela est ordonné par le clavier ou par la mémoire U)R. Symbole de code TRC-HÎT. - Préparation de l'interligne et de l'ouverture des rouleaux et 15 enregistrement du commandement de retour au début, pour effectuer le retour au début avec un saut de papier quand cela est ordonné par le clavier ou par la mémoire LDR. Symbole de code TCR-AR-I. - Positions 7-8-9 : un caractère de fonction est enregistré à la position 7 et l'adresse de la zone générique Z1 aux positions 20 8-9. Les fonctions que l'on peut coder à la position 7 sont les suivantes : - transfert de la zone Z1 au registre B de la zone arithmétique ZE04. - transfert de la zone Z1 au registre B de la zone arithméti-25 que ZE04 et remise à zéro de la zone Z1. - transfert en valeur absolue de la zone Z1 au registre B de la aone arithmétique ZE04. - transfert en valeur absolue de la zone Z1 au registre B de la Ozone arithmétique ZE04 et remise à zéro de la zone Z1. TJSP - transfert de la zone Z1 au registre B de la zone arithmétique ZE04 et préparation de la zone Z1 en vue de llimpression avec l'écriture du code d'opération d'impression dans la cellule d'attaque de la zone Z1. USP - transfert en valeur absolue de la zone Z1 au registre B 35 de la zone arithmétique ZE04 et préparation de la zone Z1 à l'impression avec l'écriture du code d'opération d'impression dans la cellule d'attaque de la zone Z1. 0 70 01967 18 2028742 15 25 USP - préparation de la zone Z1 a l'impression avec écriture du code d'opération d'impression dans la cellule d'attaque de la zone Z1. Ma - préparation à l'entrée par le clavier dans la zone 21 avec 5 écriture du code d'opération de clavier dans la cellule d'attaque de la zone Z1. 0 - transfert de la constante contenue dans les positions 8-9 de la macroinstruction au registre B de la zone arithmétique ZE04. 10 *USP - transfert de la zone Z1 au registre B de la zone ZE04, préparation de la zone Z1 à l'impression avec écriture du code d'opération d'impression dans la cellule d'attaque de la zone Z1 et.effacement de la zone Z1 après exécution de l'impression. SUSP - transfert en valeur absolue de la zone Z1 au registre B de la zone arithmétique ZE04, préparation de la zone Z1 à l'impression par écriture du code d'opération d'impression dans la cellule d'attaque de la zone Z1 et effacement delà zone Z1 après l'exécution de l'impression. 20 - Positions 10-11-12 : un caractère de fonction est enregis tré à la position 10 et l'adresse d'une zone générique Z2 aux positions 11-12. Les fonctions suivantes peuvent être codées à la position 10 : + - transfert de la zone Z2 au registre A de la zone arithmétique ZE04, addition A+B des deux registres arithmétiques et transfert du résultat à la zone Z2. - transfert de la zone Z2 au registre A de la zone arithmétique ZE04, soustraction A-B des deux registres arithmétiques et transfert du résultat à la zone Z2. - transfert de la zone Z2 au registre A de la zone arithmétique ZE04, addition des valeurs absolues Ja| + Jb des deux registres arithmétiques'et transfert du résultat à la zone Z2. - transfert de la zone Z2 au registre A de la zone arithméti-35 que ZE04, soustraction des valeurs absolues Ja| - |.B des deux registres arithmétiques et transfert du résultat à la zone 22. 30 70 01967 19 2028742 x - multiplication du nombre situé dans le registre B de la zone arithmétique ZE04 par un nombre situé dans la zone 2 et transfert du résultat au registre A de la zone arithmétique ZE04. 5 ~ transfert de la zone Z2 au registre A de la zone arithméti que ZB04. ÏÏSP - préparation de la zone Z2 à l'impression avec écriture du code dropération dfimpression dans la cellule d'attaque de la zone Z2. 10 Ma - préparation de l'entrée par le clavier dans la zone Z2 avec écriture du code d'opération de clavier dans la cellule d'attaque de la zone Z2. CL - Préparation de l'échange de données entre la mémoire LDR et la mémoire à bande avec écriture du code d'attaque d'opéra- 15 tions extérieures dans la cellule d'attaque de la première zone de la section longue. - Positions 13-14-15 î Un caractère de fonction est enregistré à la position 13 et l'adresse de la zone générique Z3 aux positions 14-15. 20 Les fonctions suivantes peuvent être codées à la position 13 : + - transfert de la zone Z3 au registre A de la zone arithmétique ZE04, addition A + B des deux registres arithmétiques et transfert du résultat à la zone Z3. - transfert de la zone Z3 au registre A de la zone arithméti- 30 25 que ZE04, addition des valeurs absolues | A + B des deux registres arithmétiques et transfert du résultat à la zone 25. - - transfert de la zone Z3 au registre A de la zone arithmétique ZE04, soustraction A - B des deux registres arithmétiques et transfert du résultat à la zone Z3. - transfert de la zone Z3 au registre A de la zone arithmétique ZE04, soustraction des valeurs absolues jA| — jfiJ des deux registres arithmétiques et transfert du résultat à la zone Z3. J, - transfert du registre A de la zone arithmétique ZE04 à la zone Z3• 35 - transfert de la zone Z3 au registre A de la zone arithméti que ZE04. Division A/B des nombres contenus dans les deux registres de ZB04 et transfert du résultat à la zone Z3. 70 01967 20 2028742 SS USP - préparation de la zone Z3 à l'impression avec écriture du code d'opération d'impression dans la cellule d'attaque de la zone Z3. - préparation à l'entrée par le clavier dans la zone Z3 avec écriture du code d'opération de clavier dans la cellule d'attaque de Z3- - préparation de l'échange de données entre la mémoire LDR et la mémoire à bande avec écriture du code d'attaque d'opérations extérieures dans la cellule d'attaque de la zone qui suit la dernière zone de la section longue. - Position 16 : caractère qui spécifie le nombre de positions dont le résultat d'une opération arithmétique doit être décalé vers 15 la droite ou vers la gauche lorsqu'on le retransfère à la zone Z3. Dans les opérations de division, il assure l'exécution de la division jusqu'à un plus grand nombre de chiffres significatifs. - Position 17 : caractère qui prépare la longueur de la zone de chariot ZE05 pour régler la capacité de pose du clavier numéri- 20 que. On effectue la préparation en décalant le chiffre binaire de début de zone B1 relativement au chiffre binaire de fin de zone. - Positions 18-19-20 : caractères qui définissent les fonctions de transfert entre la mémoire LDR et la mémoire à bande magnétique. 25 Le caractère de la position 18 indique la piste contenant le bloc sur lequel il s'agit d'opérer et les caractères des positions 19-20 indiquent l'adresse du bloc contenu dans la piste. Le caractère situé dans la cellule 18 peut en outre indiquer l'une des fonctions suivantes : 30 - Lecture de la mémoire à bande sur l'une des six pistes P1-P6 en partant du bloc adressé dans les cellules 19-20 et en transférant l'information à la zone de la section longue de la mémoire LDR. - Enregistrement sur l'une des six pistes P1-P6 de la bande en partant de l'adresse de bloc définie par le contenu des cellules 35 19-20 où la section longue de la mémoire LDR est transférée. - Lecture du bloc de sous-programme d'impression situé dans la 5 Ma CL 10 70 01967 21 2028742 piste 7 de la bande, à l'adresse de bloc indiquée dans les cellules 19-20 et transfert de ce bloc à la zone ZE03 de la mémoire LDR qui sert à contenir le sous-programme d'impression. - Position 21 : caractère de fonction d'impression assurant 5 la sélection de la couleur noire ou rouge. Symboles de code SU, SR. - Position 22 : caractère serrant à choisir le mode d'impression : - Impression directe de la zone choisie de la mémoire LDR avec 10 élimination des zéros à gauche. Symbole de code SZ. - Impression directe de la zone choisie de la mémoire LDR avec remplacement des zéros à gauche par des astérisques. Symbole de code SP. - Impression avec réglage de structure en•fonction des instruc-15 tions du bloc de sous-programme d'impression contenu dans la zone ZE03 de la mémoire LDR. Symbole de code E. - Impression avec réglage de structure en fonction des instructions du bloc de sous-programme d'impression et remplacement des zéros à gauche par des astérisques. Symbole de code ESP. 20 - Positions 23-24 : caractère servant à choisir les deux lam pes de clavier L1 et L2 des claviers suivants de la machine : - Clavier numérique. Symbole de code T o( . - Clavier de symboles. Symbole de code LSB. - Touches d'actionnement. Symbole de code B. 25 - Touche de retour au début. Symbole de code TRC. - Touches de programme. Symbole de code GPB. - Touche .de transfert. Symbole de code RB. - Position 25 : caractère qui cause la vérification de l'une des conditions de saut suivantes et un saut si la condition sélec- 30 tionnée s'est produite : 1) Touche d'actionnement de barre rouge. Symbole de code BR. 2) Touche d'actionnement de barre verte. Symbole de code BV. 3) Touche d'actionnement de barre bleue. Symbole de code BB. 4) Touche de programme. Symbole de code CP. 35 5) Touche de transfert. Symbole de code R. p) Zone Z1 = 0. Symbole de code Z1=î«. 7) Zone Z1- 70 01967 22 2028742 8) Débordement vers la zone Z2. Symbole de code Z2 OY. 9) Débordement vers la zone Z3- Symbole de code Z3 07. 10) Zone Z3 = 0. Symbole de code Z3=. 11) Zone Z3 5 12) Condition enregistrée par l'instruction de la position 26. Symbole de code CR. - Position 26 : caractère qui cause un saut si une condition sélectionnée parmi les conditions de saut citées plus haut s'est produite précédemment dans le programme. 10 - Positions 27-28-29-30-31-32 : caractère qui adressent le bloc de macroinstructions qui suit le bloc en cours d'exécution et causent le transfert de ce bloc à la zone de programme ZE01 de la mémoire LDR. L'un des deux groupes de caractères situés respectivement aux positions 27-28-29 et 30-31-32 de la macroinstruction est 15 sélectionné selon que, respectivement, il s'est produit ou non une condition de saut spécifiée aux positions 25 ou 26. Chacun des deux groupes de caractères commande la lecture d'un bloc situé sur l'une des sept pistes P1-P7 de la mémoire à bande, l'adresse de la piste étant définie par le caractère situé aux positions 27 et 30 et 20 l'adresse du bloc étant définie par les caractères situés aux positions 28-29 et 31-32 de la macroinstruction. On décrira maintenant la macroinstruction de division de mémoire. La macroinstruction de division de mémoire est la première ma-25 croinstruction du programme. Des divisions successives de la mémoire LDR peuvent se produire pendant le développement du programme, de manière à adapter la capacité des zones ou le nombre de celles-ci aux diverses phases de traitement. 30 La macroinstruction de division est un bloc de 32 cellules qui contiennent les caractères suivants : - Position 1 : caractère d'étiquette de division. - Position 2 : caractère indiquant si la division nécessite l'effacement de la mémoire. 35 - Position 3 : caractère non significatif qui est toujours zéro. - Positions 4-5 : caractère qui définit l'adresse de la zone 70 01967 23 2028742 de la mémoire LDR par laquelle commence la division. - Positions 6-7, 8-9, 10-11, 12-13, 14-15, 16-17, 18-19, 20-21, 22-23, 24-25, 26-27, 28-29 î chaque groupe de deux caractères en partant de la position 6 indique la capacité d'une zone 5 exprimée par ion nombre de cellules appartenant à la zone. Sur la base de cette capacité de zone, on exécute un comptage d1impul-sions de caractère TG pour déterminer où il faut écrire les chiffres binaires d'étiquette de début de aone B1.. Chaque paire de caractères définit donc l'emplacement du chiffre binaire de début 10 de zone B1 de la zone qui suit celle qui a une capacité égale au nombre exprimé par la paire de caractères. Dans le cas où l'on désire créer une zone alphabétique définie par deux cellules d'attaque qui ont chacune leur propre chiffre binaire de début de zone B1, la paire de caractères qui indique la longueur de cette zone 15 alphabétique est précédée d'une paire de caractères présentant un code qui assure l'écriture d'un chiffre binaire d'étiquette B1 dans la cellule qui suit la dernière cellule déjà marquée par un chiffre binaire de début de zone B1 et qui se trouve donc être la deuxième cellule d'attaque de la zone alphabétique. 20 - Cellules 30-31-32 : caractères d'adresse du bloc de macro instruction suivant. On décrira maintenant l'adresse d'une zone de la mémoire LDR ou d'un bloc de la mémoire à bande ïï". Les adresses d'une zone de la mémoire LDR et d'un bloc de la 25 mémoire à bande N sont exprimées par un nombre composé de deux caractères de quatre chiffres situés respectivement aux positions 8-9, 11-12, 14-15, 19-20, 28-29, 31-32 de la macroinstruction normale. Les deux caractères de l'adresse d'un bloc de la bande sont précédés d'un autre caractère situé aux positions 18, 27, 30 de 30 la macroinstruction et qui fournit l'adresse de la piste dans laquelle le bloc est inclus. L'adresse de la zone et du bloc est un nombre décimal consti-tué (figure 3) par un chiffre de poids 10 qui comprend les seize configurations binaires du code interne de la calculatrice et un 35 chiffre de poids 10 qui comprend les dix configurations du code binaire décimale Cette adresse représente donc l'un des 159 nombres correspon- 70 01967 24 2028742 darit à 159 zones de la mémoire IDE numérotées daûs l'ordre croissant en partant de la première zone ZE01 ou correspondant à 159 blocs situés dans les limites de chaque piste de la bande magnétique. 5 le caractère qui précède les deux caractères de l'adresse du bloc fournit une indication de la fonction associée à ce bloc, outre l'adresse de la piste. le caractère situé à la position 18 de la macroinstruction peut indiquer dans le code interne de la calculatrice la lecture 10 d'un bloc à transférer à la zone ZE03 de la mémoire LDR en sélectionnant la piste P7 qui est réservée pour les blocs de macroinstruction et de "sous-programme d'impression", la lecture ou l'écriture d'un bloc en sélectionnant l'une des six pistes restantes Pi-Pô de la mémoire à bande U. 15 Les caractères situés aux positions 27 et 30 de la macroins truction commandent la lecture d'un bloc à transférer à la zone de programme ZE01 en sélectionnant une piste parmi les sept pistes de la bande. On peut exprimer de façon indirecte l'adressage de la zone et 20 du bloc en mettant, dans les positions de la macroinstruction qui sont destinées à recevoir l'adresse de zone ou de bloc, un code spécial d'adresse indirecte MT qui, pendant les phases d'interprétation de l'instruction, cause le remplacement du code M par le contenu des deux cellules les moins significatives de la zone d'a-25 dresse indirecte ZE06. On peut aussi exprimer de façon indirecte l'adresse de la piste en utilisant le code N pour* les instructions, de lecture de mémoire à bande situées aux positions 27 et 30 de la macroinstruetien. L'écriture d'une adresse dans la zone ZE06 de la mémoire LDR 30 peut s'effectuer par une instruction d'entrée venant du clavier de symboles ou du clavier numérique ou par transfert d'une autre zone de la mémoire LDR. En outre, le code L peut être placé aux positions 27 et 30 de la macroinstruction, ce code permettant, au moment de l'exécution 35 de l'instruction correspondante de lecture de mémoire à bande et sous la dépendance de l'unité"de commande GN, le remplacement du code L dans le registre SPO'de cette unité de commande (figure 4) 70 01967 25 2028742 par le caractère engendré lorsqu'on frappe une touche de programme du clavier T. On décrira maintenant l'adressage de la mémoire IDR et l'exécution de plusieurs instructions simultanées. 5 Le contenu de la mémoire LDR, qui est formé par des chiffres binaires d'information en série, présente un intervalle sans enregistrement ou "lacune" entre le dernier chiffre binaire et le premier chiffre binaire des éléments d'information. Pendant chaque cycle de mémoire, le caractère de fin de mé-10 moire EM est utilisé pour indiquer le début de la "lacune". Un dispositif bistable GP (figure 2a) est repositionné par un commandement G engendré par le réseau logique RC lorsque ce caractère est lu et est positionné par la lecture du premier chiffre binaire partant de l'amplificateur AL après que le dispositif bistable GP 15 ait été repositionné. Le positionnement du dispositif bistable GP synchronise les impulsions T1-T6 avec les chiffres binaires successifs d'informations lus, les impulsions T1-T6 étant fournies par le dispositif rythmeur T qui reçoit les sorties de l'oscillateur 0. 20 A chaque cycle de la mémoire LDR, le compteur de zone fixe ZE, formé par six dispositifs bistables reliés à la façon d'un registre à décalage, compte sous la dépendance du réseau logique 0G les six premières impulsions TG correspondant à la lecture des chiffres binaires de début de zone B1 des six premières zones de la mémoire 25 LDR et fournit six indications séparées ZE01 - ZE06 correspondant à ces zones. Pendant chaque cycle de mémoire, le registre indicateur de zone de données ZO agit de manière à enregistrer les chiffres binaires B3 - B5 de la cellule d'attaque d'une zone de données et 30 donc à indiquer la présence dans le registre LE de caractères d'une zone marquée d'un code d-'opération ; le registre ZO est commandé par le réseau logique CG qui reçoit à son tour les sorties du registre ZO et interprète les chiffres binaires d'information B3-B5 lus dans le registre LE à l'endroit des chiffres binaires de début 35 de zone B1. Le registre ZO est formé par trois dispositifs bistables Z001, Z002, Z003 (non représentés séparément) et indique par le 70 01967 26 2028742 positionnement du dispositif bistable Z001 une zone à code d'opérations internes, par le positionnement du dispositif bistable Z002 une zone à code d'opération d'impression, par le positionnement simultané des dispositifs bistables Z001, Z002 une zone à code 5 d'opération de clavier et par le positionnement du dispositif bistable Z003, une zone à code d'opérations externes. L'écriture des codes de début de zone dans la mémoire LDR est effectuée par des instructions internes munies d'une adresse et situées respectivement aux positions 7-8-9, 10-11-12 et 10 13-14-15 de la macroinstruction normale. L'interprétation et l'exécution de chaque instruction de la macroinstruction normale commencent dans l'état initial POO défini par l'IP. Dans l'état POO, l'indicateur d'instruction II est activé de 15 manière à compter les 32 positions de la macroinstruction au moment du passage par le registre LE de chacune des 32 positions de la zone ZE01. Les instructions de la macroinstruction sont lues et interprétées sous la dépendance de la commande d'opérations intérieures 20 GOI qui, pendant l'exécution de chaque instruction, positionne le chiffre binaire B2 dans la cellule de la zone ZE01 qui contient le caractère de fonction de l'instruction suivante. Avec la lecture du chiffre binaire d'étiquette B2 dans la zone ZE01, l'indicateur d'instruction II et le registre d'étiquette 25 E engendrent au moyen du réseau logique DF un premier signal qui indique si l'exécution de cette instruction doit être commandée par la commande d'opérations internes GOI ou par une autre commande. Dans le cas d'instructions internes, pendant l'état POO, la commande GOI engendre, au moyen du réseau logique RO et sur la base 30 de l'état du registre d'étiquette E et de l'indicateur d'instruction II, examiné en corrélation avec la lecture du chiffre binaire d'étiquette B2, des commandements 01... Gn qui arrêtent le comptage dans l'indicateur II, transfèrent le caractère affecté du chiffre binaire d'étiquette B2 au registre d'instructions internes RIT, 35 décalent le chiffre binaire d'étiquettes B2 dans les deux cellules d'adresse suivantes de l'instruction pour permettre le transfert du contenu de ces cellules atK registres R4SI-RÔ.1, et positionnent 70 01967 27 2028742 le chiffre binaire d'étiquette B2 dans la eellule de la zone RE01 qui contient le premier caractère de l'instruction suivant celle qui est examinée à ce moment. Avec le transfert-du caractère de fonction de l'instruction 5 au registre RFI, une nouvelle sortie du réseau logique DF est mise en action et définit pleinement la fonction correspondant, à l'instruction en cours. Si par exemple l'instruction est du type "transfert interne et préparation à l'impression" (Q USP), la commande d'opérations internes GOI reste en action pour l'exécution de cette 10 instruction. Plus particulièrement, sous la dépendance du réseau logique OG^g^t défini 1'état nouveau P01 de la calculatrice, dans lequel le reseau logique RC engendre de nouveaux commandements qui 'ont pour effet que les registres RAO et RA1 sont reliés en un compteur et qu'un compté initial y est introduit. Un compte de 1 est 15 effectué à l'endroit de chaque chiffre binaire de début de zone B1. Le débordement du compteur RAO-RA1 coïncide avec la présence dans le registre IiE de la cellule de début de zone correspondant à l'adresse de l'instruction. Le débordement du compteur RAO-RA1, qui est signalé par un 20 dispositif bistable de condition interne CI, engendre, par l'intermédiaire du réseau logique RC, des commandements nouveaux C1 - Cn tendant à écrire dans la mémoire LDR, au moyen du registre SA, le code de début de zone d'opération interne et à écrire dans cette zone et dans la zone arithmétique ZE04 le chiffre binaire d'éti-25 guette B2, dans les cellules intéressées par le transfert du premier caractère. Le transfert de la zone contenant un code d'opérations internes à la zone arithmétique ZE04 assure le renversement de l'ordre de succession des chiffres du nombre contenu de sorte que la zone qui 30 présente le code d ' opérations et la zone arithmétique peuvent respectivement contenir un nombre déjà prêt à l'exécution des opérations respectives d'impression et de calcul. La zone arithmétique ZE04 comprend deux registres A et B entrelacés de telle sorte que les cellules successives de la zone con-35 tiennent des caractères appartenant alternativement à l'un et à l'autre des deux registres A et B. Le transfert du contenu d'une zone présentant un code 70 01967 28 2028742 d'opérations internes au registre A ou B de la zone arithmétique ZE04 est commandé par le code de fonction de la même instruction de transfert 0 USP. Ce transfert est exécuté dans l'état P03 de la calculatrice 5 qui remplace l'état P01 de sorte que l'opération de marquage au moyen du code d'opérations internas de la zone adressée par l'instruction prend fin. Dans l'état P03, le réseau logique RC engendre des commandements 01 - Cn de manière à effectuer le transfert interne confor-10 mément aux principes exposés plus haut en exécutant à chaque cycle de la mémoire LDR le transfert d'un caractère de la zone d'opérations internes au registre EAO et de ce registre au registre A ou B de la zone arithmétique ZE04, les deux zones étant respectivement identifiées par le registre indicateur de zones ZO et par 15 le compteur de zone ZE et les cellules individuelles des zones respectives par les chiffres binaires respectifs d'étiquette B2. Sous la dépendance de la commande d'opérations internes GOI, les chiffres binaires d'étiquette B2 se décalent à chaque cycle de la mémoire LDR par les cellules successives des deux zones en partant, 20 dans la zone marquée du code d'opérations internes, de la dernière cellule de la zone qui contient le chiffre le moins significatif et, dans la zone arithmétique ZE04, de la première cellule de la zone qui reçoit le chiffre le moins significatif du nombre à transférer. Dans la zone arithmétique ZE04, le chiffre binaire d'étiquette B2 25 est décalé de deux positions à chaque cycle. La fin du transfert, définie par la lecture du chiffre binaire de début de zone B1 de la zone marquée du code d'opérations internes, cause le passage de la calculatrice de l'état P03 à l'état P04, pendant lequel la commande d'opérations internes GOI commande 50 l'effacement du code d'opérations internes et 11 écriture du code d'opération d'impression dans la cellule d'attaque de la zone adressée. Ainsi, la zone définie par l'adresse de l'instruction interne est laissée marquée du code d'opération d'impression et elle est 35 donc prête à être utilisée par une instruction d'impression de la même macroinstruction ou des macroinstructions suivantes. A la fin de chaque instruction qui arrive à la commande d'opé 70 01967 29 2028742 rations internes GOI dans la phase d'exécution, l'indicateur d'instruction II est remis à zéro de manière à reprendre alors, à la première lecture de la zone ZE01, le compte des 32 cellules successives de cette zone et s.'arrêter à la cellule marquée du 5 chiffre binaire d'étiquette B2, qui contient le premier caractère de l'instruction suivante de cette macroinstruction. De façon similaire, les instructions internes situées aux positions 7-8-9, 10-11-12 et 13-14-15 de la macroinstruction normale peuvent définir des zones présentant un code d'opération de 10 clavier ou d'opérations extérieures. Ces zones peuvent être utilisées par des instructions d'entrée par le clavier ou de transfert de ou vers la mémoire à bande de cette macro instruction ou d'une aiacroinstruction suivante. Par la description de l'instruction de transfert interne avec 15 préparation à l'impression de la zone adressée par l'instruction, il est évident que l'on peut utiliser le code d'opération d'une zone de données de la mémoire LDR pour adresser cette zone pendant des cycles successifs de la mémoire, ce qui remplace un compteur de chiffres binaires B1 de début de zone et qu'en outre, le code . 20 désigne la zone respective affectée à à une opération prédéterminée de transfert interne ou de transfert externe. L'instruction interne qui marque une zone de données de la mémoire LDR par un code d'opération peut ordonner à la commande GrOI d'exécuter immédiatement le transfert concernant cette zone ou 25 simplement désigner la zone pour des: opérations qui sont exécutées ensuite sous la dépendance de la commande d'opérations internes GOI ou d'autres commandes de la.calculatrice. Les instructions de tabulation et de services de papier, qui sont situées respectivement dans les cellules 2, 3 et 4, 5, 6 de 30 la mémoire LDR n'agissent sur la mémoire LDR et la commande d'opérations internes GOI que pendant le temps de lecture des caractères de l'instruction. Ces caractères sont transférés respectivement à la commande d'impression-tabulation GOS et à la commande de services de papier GOT qui assurent l'exécution des commandements 35 appropriés et la création de conditions internes qui signalent que les unités périphériques du canal X sont sous la dépendance de la commande d'opérations internes GOI. 70 01967 50 2028742 Les instructions internes (instructions arithmétiques, instructions de transfert, instructions tendant à marquer une zone par des codes d'impression, de clavier ou d'opérations extérieures) situées dans les cellules 7-8-9, 10-11-12, 15-14-15 des zones ZE01 5 sont exécutées en un nombre de cycles qui dépend de la longueur de l'opérande adressée. La lecture de la zone de programme est arrêtée pendant tout le temps nécessaire à l'exécution de l'instruction. Les instructions de transfert de et vers la mémoire à bande qui sont situées dans les cellules 18-19-20, 27-28-29 et 30-51-52 10 de la zone ZEÔ1 de la mémoire LDR sont exécutées en un nombre de cycles de mémoire qui dépend de la longueur du transfert. Pendant l'exécution de ces instructions, la lecture de la zone de programme est arrêtée parce que les instructions agissent simultanément sur la commande d'opérations internes GOI et la com-15 mande de mémoire GN qui assurent respectivement le transfert des groupes de caractères de la mémoire LJ)R au tampon formé par les registres RàO, RA1, REO, RE1 et le transfert des caractères du tampon à la bande magnétique N. Dans le cas de l'enregistrement dans la mémoire à bande magné-20 tique 1, la zone de la mémoire LDR qui est intéressée par le transfert est toujours une zone de section longue tandis que dans le cas de la lecture de la mémoire à bande magnétique, les zones de la mémoire LDR qui sont intéressées par le transfert peuvent être une zone de section longue, la zone de programme ZE01 ou la zone de 25 sous-programme d'impression ZE05. L'instruction d'impression depuis la mémoire, située dans les cellules 21 et 22 de la zone ZE01, applique à la commande d'impression GOS et à la zone de la mémoire LDR le code d'impression de la cellule d'attaque. 50 L'instruction d'impression par le clavier située dans les cellules 21 et 25 de la zone ZE01 agit, sur la commande d'impression GOS et le clavier sélectionné. Les instructions d'entrée par le clavier numérique et alphabétique ou de symboles, qui sont situées dans les cellules 25 et 24 55 de la zone ZE01, agissent respectivement sur la oommande de clavier GOT, la zone ZE05 et la zone qui contient le code d'opération de clavier dans la cellule d'attaque de la mémoire LDR. 70 01967 31 2028742 " Bans les instructions qui concernent la commande d'impression SOS, là commande par le clavier GOT et la commande de services de •papier GSC, des caractères des instructions sont transférées aux -• * commandes respectives. Ces commandes exécutent l'instruction et 5- signalent que l'unité périphérique correspondante est affectée à la commande d'opérations internes sur les canaux respectifs. La lecture de la zone de programme ZE01 n'est pas arrêtée pendant l'exécution de ces instructions. L'arrêt de la lecture des instructions de la zone de program-10 me ZE01 s'effectue sous la dépendance de la commande d'opérations internes GOI pendant l'exécution d'instructions internes et d'instructions de transfert de et vers la mémoire à bande. La lecture s'arrête aussi par suite d'instructions d'impression, de clavier ou de services de papier etc..., si la commande d'impression-tabu-15 latioh GOS, la commande de clavier GOT ou la commande de services de papier GSC est déjà en train d'exécuter une instruction précédente incompatible avec l'instruction en cours. L'existence_ de commandes séparées de la commande d'opérations internes GOI pour commander les transferts sur un canal périphéri-20 que correspondant et de codes d'opération pour désigner une zone de données pour un transfert extérieur limite la tâche de la commande d'opérations internes GOI, dans les transferts sur des canaux périphériques, à la lecture de l'instruction. Le transfert est alors exécuté sous la dépendance des commandes périphériques res-25 pectives. Il est donc possible, pendant chaque cycle de mémoire, de faire se chevaucher la lecture et l'exécution d'une instruction interne ou d'une instruction de transfert de et vers la bande avec l'exécution d'instructions d'impression, d'entrée par le clavier 30 ou de services de papier ou des instructions concernant un autre ca-" nal extérieur, à condition que les instructions ne mettent pas en jeu les mêmes dispositifs mécaniques. On décrira maintenant l'échange d'information entre la mémoire -LDR et la mémoire à bande magnétique. 35 Les transferts d'tme section longue de la mémoire LDR à la mémoire à bande magnétique et le transfert d'un bloc de la mémoire à bande magnétique à la section longue de la mémoire LDR sont 70 01967 32 2028742. programmés par des instructions situées aux positions 10-11-12, 13-14-15, 18-19-20 de la macroinstruction normale. Les transferts de la macroinstruction et des "blocs de sous-programme d'impression, de la bande U aux zones fixes respectives 5 ZE01 et ZE03 de la mémoire LDR, sont programmés par des instructions situées respectivement aux positions 27-28-29 ou 30-31-32 et 18-19-20 de la macroinstruction normale. Pour traeer une section longue de la mémoire LDR, on enregistre des codes d'opérations extérieures au début des cellules de 10 zone CO à l'une ou à l'autre extrémité, en réponse aux instructions contenues dans les cellules 10-11-12 et 13-14-15 de la macroinstruction normale. Le contenu de la section longue est ensuite transféré à la bande magnétique ou bien la section longue reçoit un bloc de bande par suite de l'instruction située dans les cellu-15 les 18-19-20. La section longue peut contenir de multiples zones définies par des chiffres binaires de début de zone B1 à condition que leurs cellules d'attaque soient exemptes de codes d'opérations extérieures, d'impression ou d'opération de clavier. 20 Avec la lecture de la cellule 18 de la zone de programme ZE01 sont indiquées la piste à choisir et la fonction à exécuter (enregistrement ou lecture) tandis que l'adresse du bloc est donnée par les caractères situés dans les cellules 19 et 20. L'enregistrement d'un bloc dans la bande 1 qui e$t commandé 25 par l'instruction située dans les cellules 18-19-20 peut être exécuté seulement- sur les pistes P1 - P6 de la bande et nécessite toujours la définition d'une section longue dans la mémoire LDR. La lecture d'un bloc de la bande 1, programmé dans les cellules 18-19-20, peut transférer le bloc adressé des pistes P1 - P6 30 de la bande à la section longue ou bien transférer de la piste P7 de la bande à la zone fixe ZE03 de la mémoire LDR un bloc d'une longueur fixe de 32 caractères qui a la fonction d'un sous-programme d'impression. La lecture d'un bloc de la mémoire à bande, programmée dans 35 les cellules 27-28-29 ou 30-31-32, effectue le transfert de la ma-eroinstruetion d'une piste P1 - P7 de la bande à la zone de programme ZB01. 70 01967 33 2028742 * Dans le transfert de la macroinstruction et du bloc de sons-programme d'impression à la mémoire LDR, le processus de lecture est pratiquement semblable au processus de lecture d'un bloc destiné à la section longue et diffère seulement par l'adressage de la 5 mémoire LDR. On décrira maintenant l'enregistrement sur bande. L'instruction d'enregistrement de la section longue contenue dans la mémoire LDR commence sa phase d'exécution après la lecture des cellules 18-19-20 de la zone de programme ZE01, pendant la-10 quelle le caractère situé dans la cellule 18 est transféré au registre d'instructions internes BEE et les caractères situés dans les cellules 19-20 sont transférés respectivement aux registres RAO et BA.1. Le registre indicateur d'instruction IX est stationnaire à la 15 position 18 correspondant, dans la macroinstruction normale, à la fonction de l'instruction de bande. Si les registres RàO, BA1 contiennent le code d'adresse indirecte HM au lieu d'une adresse de bloc, l'adresse contenue dans la deuxième et la troisième cellules de la zone d'adresse ZB03 est 20 transférée aux registres. Les registres RAO et BA1 formés respectivement par les quatre dispositifs bistables RA01, RA02, BA04, BA08 et par les quatre dispositifs bistables BA.11, BA12, RA14, BA18, font partie d'un tampon BA (figure 4) que l'on peut étendre de deux à six registres selon 25 la longueur de la ligne à retard de la mémoire LDR. Le nombre de registres est déterminé par le rapport entre le temps nécessaire à un cycle de la mémoire LDR et la fréquence de lecture de la bande ou d'enregistrement sur celle—ci. Qnel que soit le nombre de registres dont le tampon BA. est 30 composé, les registres RAO, BAI sont toujours le premier et le dernier registres du tampon et entre les registres sont situés les registres BA2, BA3, RA4, BA5, comme l'indique la figure 4 . Dans les opérations de bande, on utili se en outre un deuxième tampon BE formé du même nombre de registres que le tampon 35 BA, chaque registre comportant quatre dispositifs bistables, les registres BEO et BEI étant respectivement le premier et le dernier registres. 70 01967 34 2028742 Le transfert des caractères de. et vers la "bande est précédé d'une recherche de l'adresse du "bloc. a-; Dans l'état P01, défini par la commande d'opérations internes GOI pendant "l'instruction d'enregistrement sur "bandé, le contenu 5 du tampon EA est transféré au tampon EE, le tampon HA est remis à zéro et un chiffre "binaire d'étiquette 33a est écrit dans le dispositif bistable BA08 du tampon BA (figure 4)v - Dans l'état P03, qui suit l'état P01, commence le transfert des caractères de la section longue au tampon EA -jusqu'à ce que le 10 tampon EA soit complètement rempli. Ce transfert est exécuté du registre de sortie 323 au registre EAO du tampon'EA et en même temps, le contenu de chaque registre est décalé à chaque impulsion de caractère TO vers le registre inférieur jusqu'à ce que le registre RA1 soit rempli. 15 le chiffre binaire d'étiquette Ba introduit dans le disposi tif bistable EA08 signale que le tampon EA est plein lorsqu'on l'extrait du dispositif bistable BA18 du registre EA1. Le remplissage du tampon EA interrompt la lecture de la section longue tandis que l'avance du chiffre binaire d'étiquette B2 20 à l'intérieur de la section longue est arrêtée à la cellule de mémoire par laquelle commence le transfert suivant de la section longue au tampon EA. L'état P03 est suivi de l'état P04 dans léquel le réseau logique de commande CGrïï" de la commande GN" sélectionne 1 ' amplifica-25 teur de lecture ALUo de la piste PO. Pour effectuer cette sélection, on met en action la sortie PO d'un réseau logique DP alimenté par les sorties d'un registre SPO qui enregistre le caractèré d'adresse de piste et qui est initialement mis à zéro. ' ~ 30 Le même réseau logique CGN positionné tin dispositif bistable de démarrage STR qui fait démarrer le. moteur de bande et un univitra-teur UU1 qui couvre le temps de démarrage. . La "bande est enregistrée par lé-système de duplication de fréquence qui fournit pour chaque piste les signaux d'horloge et les 35 indications correspondantes "1" et "0"-dé l'information binaire correspondante. . ' " • " ' ; - Le dispositif rythmeur TN (ïigure 4) qui engendre les impul- ~opY 70 01967 35 2028742 sions TEN concurremment avec chaque signal d' horloge (te la bande, fournit, en coopération avec une unité discriminatrice D alimentée y. A. par l'amplificateur Alïïo, le chiffre binaire enregistré sur la bande avec chaque signal d'horloge. Cette information binaire est \ 5 enregistrée dans le dispositif bistable UKAO à chaque impulsion T0J. ...... La lecture nécessaire pour rechercher l'adresse du bloc doit être rendue possible dans la lacune qui précède les huit chiffres de l'adresse du bloc. A cet effet, une mémoire à temps variable MELA est mise en action initialement en même temps que 1 ' univibrateur 10 UÎT1 et ensuite à chaque impulsion TEN pendant un temps prédéterminé La désactivation de la mémoire MELA signale donc la présence d'une lacune en dessous de la tête de lecture. La désactivation de la mémoire MELA commande le passage de l'état P04 à l'état' P05 dans la commande d'opérations internes 15 GOI par l'intermédiaire du rése§,u logique CGH" de la commande Gif. Dans l'état P05, les impulsions TEN qui sont engendrées à chaque signal d'horloge après la lacune permettent, au moyen du réseau logique CGN", une comparaison entre le dispositif bistable UÏTAO et le dispositif bistable EE18 du tampon EE, qui est exécutée 20 dans le comparateur CF. Les impulsions TES ont aussi pour effet, grâce à des commandements CN engendrés par le réseau logique CGE, que le contenu des registres BEO, BE1 qui sont fermés en anneau est décalé de manière à permettre la comparaison pour les huit chiffres binaires de l'adresse. Le résultat de la comparaison, 25 chiffre binaire par chiffre binaire, est enregistré dans le dispositif bistable BEGA. En.même temps, un compteur CI comprfee les impulsions TEET et avec le huitième compte, positionne un Tmivxbrateur IM2 qui, lorsqu'il est repositionné, examine l'état du compteur C1 et signale, 30' par .l'intermédiaire du dispositif bistable IÏÏVA, l'absence d'im--.pulsions TEU après celle qui fait prendre au compteur C1 la configuration huit. . ....... .Si -le signal 3-HYA est présent, cela permet d'examiner le ré- • • . -suitat de la comparaison enregistré dans le dispositif bistable 35'." BEGA.qui, si la comparaison indique l'égalité, signale la fin de la recherche de l'adresse. ^ ' • • ~ * .J -Ce '.signal, envoyé par l'unité CGÏfde la "Commande GIT à la CO^ 70 01967 36 2028742 commande G-01, cause le passage au nouvel éta"t P06 pendant lequel le contenu du registre EPI de la commande GOI est transféré par le canal P au registre SPO de la commande de bande Gïï" et l'univibrateur IM3 est positionné, le contenu du registre SPO cause 5 la sélection en vue de l'enregistrement de la piste correspondante de la bande, au moyen du réseau logique DP qui active la sortie correspondant à l'unité de sélection SR qui relie la tête de cette piste à l'amplificateur d'enregistrement ARE". La sélection pour 11 enregistrement donne lieu à 1'effacement de la bande 10 magnétique, qui. continue jusqu'à ce que l'univibrateur TJÏÏ3 soit mis hors d'action. Lorsque l'univibrateur UN5 est mis hors d'action, le contenu du tampon RA est transféré au tampon RE et un commandement OIT met en action le dispositif rythmeur TU qui engendre 15 les impulsions TEU qui rythment l'écriture. Cela se fait par des transferts successifs de groupes de caractères du tampon RE à la bande, du tampon RA au tampon RE et de la mémoire LDR au tampon RA. Le remplissage du tampon RA par la mémoire LDR et le trans-20 fert du tampon RA au tampon RE s'effectuent de la façon décrite dans le cas de l'état P03. les chiffres binaires enregistrés sur la bande sont extraits au moment des impulsions d'information ÏEN venant du dispositif bistable RE18 du tampon RE. Chaque signal d'information TEST 25 commande en outre le compteur G2 qui compte les chiffres binaires de chaque caractère qui sont transmis à la bande et cause un décalage vers la droite du contenu des dispositifs "bistables du registre RE1 de manière à présenter les chiffres binaires successifs du caractère contenu dans le registre RE1, 30 dans le bistable RE18. Après le quatrième compte, le compteur C2 déborde et le réseau logique CGU commande le décalage vertical des registres de RS vers le registre inférieur RE1 et l'écriture d'un chiffre binaire d'étiquette Be dans le dispositif bistable RE08 du regis-35 tre REO. le transfert successif de caractères du registre RE1 à la bande s'accompagne, à chaque débordement du compteur 02, d'un décalage vertical effectué dans les registres du tampon RE jusqu'à 70 01967 37 2028742 ce que le chiffre "binaire d * étiquette Be enregistré dans le dispositif "bistable BE08 atteigne le dispositif bistable BE18 du dernier registre et signale au réâeau logique CGf-H" que le tampon EE est vidé. Ce signal assure tin nouveau transfert du tampon EA au 5 tampon BE. les transferts de la mémoire LDR au. tampon EA se terminent avec la lecture du code d'opérations extérieures situé dans la cellule qui délimite la section longue. Le dernier remplissage du tampon EA ne sera généralement pas 10 tel qu'il se remplisse complètement et l'indication d'après laquelle le tampon EA est plein sera remplacée par celle qui indique la fin de la section longue. Dans ce cas, le dernier transfert de EA à EE est suivi d'une série de décalages verticaux dans les registres du tampon EE exécutés par des impulsions TG jusqu'à 15 ce que le chiffre binaire d'étiquette Ba enregistré initialement dans le dispositif bistable EA08 du registre EAO et transféré alors au tampon BE sorte du dispositif bistable EE18 du registre BE1. Le premier de ces décalages verticaux s'accompagne en outre 20 de l'écriture d'un chiffre binaire d'étiquette Be dans le dispositif bistable EE08 du registre EEO qui est donc dans la position voulue pour signaler, à la phase de transfert du tampon EE à la bande quivient ensuite, la lecture du dernier chiffre binaire du dernier caractère du bloc par la transmission du chiffre bi-25 naire d'étiquette Be au dispositif bistable EE18. On décrira maintenant la lecture de la bande. Dans la lecture d'un bloc de bande, le transfert des caractères du bloc à la mémoire LDE est précédé d'une recherche d'adresse similaire à celle qu'on a décrite à propos de l'enregis-30 trement sur bande. L'état initial P01, pendant lequel3elregistre KET et les registres RAO du tampon EA sont remplis et le transfert du contenu du tampon RA au tampon EE est exécuté, n'est pas suivi de l*é-tat P03 dans lequel les caractères sont transférés de la zone de 35 section longue au tampon BA mais directement des états P04, P05 de recherche de l'adresse du bloc. Dans l'état suivant P06, le transfert du contenu du registre 70 01967 38 2028742 RFI au registre SPO de la commande de bande est effectué, la piste correspondante est sélectionnée en vue de la lecture et l'univibrateur Uî\T4, qui couvre les .perturbations de sélection, est mis en action. Cet^e sélection s'effectue par l'intermédiaire du réseau 5 logique DP qui active la sortie correspondant à l'unité de sélection SL de cette piste, cette unité de sélection reliant la tête à l'amplificateur de lecture AUJ. Lorsque l'univibrateur UÎT4 est mis- hors d'action, la lecture du bloc commence. 10 Les chiffres binaires individuels sont transférés, à chaque impulsion TEST, au dispositif bistable REQ8 du registre REO tandis qu'en même temps le décalage du contenu de chaque dispositif bistable de REO vers la gauche et un compte de "1" dans le compteur 02 sont effectués. 15 Tous les quatre comptes de C2, chaque registre de RE se dé cale verticalement vers le registre inférieur. Le remplissage complet de SE est signalé par un chiffre binaire d'étiquette Be qui, enregistré initialement dans RE01, .est transféré à RE11 au moment du décalage vertical commandé par le compteur C2. 20 Le remplissage du tampon RE produit dans la commande GOI le nouvel état PO? de la calculatrice, pendant lequel le contenu du tampon RE est transféré au tampon RA. Le contenu de RA est transféré à son tour à la zone de section longue de la mémoire LDR tandis que le tampon RE est à nouveau 25 prêt à recevoir les caractères nouveaux lus sur la bande. L'écriture de chaque caractère dans la mémoire LDR s'effectue par le fait qu'à chaque impulsion TG, le caractère contenu dans le registre RA1 est transféré au registre SA pour être écrit dans la mémoire, après que la zone de la mémoire LDR et la cellule par 30 laquelle le transfert doit commencer aient été identifiées respectivement par le dispositif indicateur de zone et le chiffre binaire d'étiquette B2. Chaque passage d'un caractère du registre RA1 au registre SA s'accompagne d'un décalage vertical de chaque registre de RA vers 35 le registre inférieur. Un chiffre binaire d'étiquette Ba enregistré dans le dispositif bistable RA08 du registre RAO en même temps que le premier dé 70 01967 39 2028742 calage vertical effectué dans le tampon SA indique que le tampon RA est vidé, lorsque ce chiffre binaire d'étiquette Ba est extrait du dispositif bistable RA18 du registre RA1. Si le dernier groupe de caractères lu sur la bande ne remplit 5 pas le tampon EE, on complète le remplissage en simulant les impulsions TEH et en écrivant un chiffre binaire d1étxqpette Be dans BE08, en même temps que la première impulsion TEÏT qui est simulée. De cette façon, dans le transfert du tampon RE" sm tampon RA qui a lieu ensuite, le tampon EA vient à contenir le ehiffre binai-10 re d'étiquette Ba déjà positionné de manière à effectuer sexilement le transfert des caractères significatifs du registre RA1 au registre SA. On décrira maintenant la zone de programme étendue. Comme on l'a dit plus haut, la réalisation de plusieurs opéra-15 tions telles que le calcul de fonctions trigonométriques nécessite l'exécution de multiples macroinstructions. Dans la calctilatrice antérieure mentionnée plus haut, la nécessité d'un accès répété à la mémoire à bande 1 pour chaque macroinstruction ralentissait notablement le fonctionnement. 20 Cette difficulté est résolue dans la calctilatrice selon l'in vention par le fait que l'on a prévu des moyens permettant d'exécuter en série de multiples macroinstructions qui sont enregistrées dans une section longue de la mémoire IDE. Ces macroinstrue— tions peuvent être transférées de la mémoire à bande 1 à la sec-25 tion longue en une seule opération de transfert, de la façon déjà décrite plus haut pour le transfert de données. Une seule macro;-instruetion est enregistrée dans chaque zone de la section longue de sorte que les signaux de début de zone séparent les; mae.ro;±iastruc-tions. 30 Dans l'exécution d'un calcul qui nécessite plusieurs macro instructions, les portions de la macro instruction qui. eraromiandent l'avancement du papier, la tabulation etc... ne sont scrwent pas utilisées. Pour accélérer encore davantage le fonctionnement de la machine, on prend des mesures pour permettre l'exécution de macro-35 instructions tronquées dans lesquelles des portions superflues sont omises. Afin d'amorcer l'exécution des macrolnstruetions enregistrées dans la section longue, il faut enregistrer une instruction spé- 70 01967 40 2028742 ciale de saut appelée "J" (figure 3) dans l'un de plusieurs emplacements de la macroinstruction en cours drexécution dans la zone ZE01 de la mémoire LDR. Cette instruction de saut peut être située aux positions 7, 10, 15, 18, 27 ou 30 de la macroinstruction nor-5 maie. L'interprétation de l'instruction de saut par le registre de fonctions internes RFI (figure 2a) a pour effet que la commande d'opérations internes GrOI remet à zéro 1 'indicateur d'instructions II et positionne un dispositif bistable faisant partie des disposi-10 tifs bistables de conditions internes CI. Le positionnement de ce dispositif bistable a pour effet que l'indicateur d'instructions II commence à compter quand le registre ZO indique le code d'opérations externes qui marque la section longue, plutôt que quand le premier chiffre binaire du cycle de mémoire sort de la ligne à 15 retard LDR. La commande d'opérations internes GOI efface aussi le chiffre binaire B2 de la zone ZE01 et l'enregistre dans la cellule qui suit la cellule contenant le code d'opérations externes. L'exécution des macroinstructions contenues dans la section 20 longue se déroule alors de façon similaire à l'exécution d'une macroinstruction dans la zone ZE01. Le chiffre binaire B2 est déplacé de la même façon de sorte qu'il est situé à l'endroit du caractère de fonction de l'instruction suivante à exécuter. Chaque fois que la commande d'opérations internes GOI détecte 25 la lecture d'un caractère de début de zone 00 (crestà-dire d'un caractère qui présente un chiffre binaire B1), l'indicateur d'instructions II est remis à zéro et l'exécution de la nouvelle macroinstruction dans la zone suivante de la section longue commence. De cette manière, une macroinstruction de la section longue peut être 30 coupée en tout point approprié lorsque l'exécution des instructions contenues dans la portion suivante n'est pas nécessaire. Cela permet d'accélérer l'exécution du programme. Si le caractère de début de zone C0 contient aussi un chiffre binaire B6, la commande d'opérations internes GOI remet à "6" plu- 35 tôt qu'à zéro l'indicateur d'instructions. De cette manière, l'exécution de la macroinstruction suivante commence à la septième position et la portion de la macroinstruction qui concerne la commande de tabulation et de mouvement du papier est sautée. Dans ce 70 01967 41 2028742 cas, le caractère d'étiquette de la macroinstruction précédente reste enregistré dans le registre d'étiquette E et commande l'interprétation des instructions de la macroinstruction en cours. Le chiffre "binaire B6 peut aussi être enregistré avec le code d'opé-5 rations extérieures qui marque la section longue, auquel cas l'exécution de la première macroinstruction commence au septième caractère avec la même étiquette que la macroinstruction de la zone ZE01. Une macroinstruction de la section longue peut contenir une 10 adresse de bloc pour la mémoire à bande magnétique, dans l'une des positions 27-28-29 ou 50-31-32 ou dans les deux à la fois. Ges instructions sont interprétées par la calculatrice de la même façon que dans les macroinstructions contenues dans la zone ZE01 et causent le transfert d'une nouvelle macroinstruction à 15 la zone ZE01. Un transfert spécifié dans les cellules 27-28-29 est exécuté seulement si une condition de saut spécifiée dans les cellules 25 ou 26 s'est produite et un transfert spécifié dans les cellules 30-31-32 est exécuté si les conditions de saut spécifiées ne se sont pas produites. 20 L'exécution de l'une de ces instructions de transfert reposi tionne aussi le dispositif bistable qui fait partie des dispositifs bistables de conditions internes CI de sorte qu'à nouveau, l'indicateur d'instruction II commence à compter par la première cellule de la zone ZE01. Ainsi, l'exécution de la macroinstruction dans la 25 section longue cesse et l'exécution normale des macroinstructions dans la zone de programme ZE01 reprend. Si les cellules 27 ou 29 d'une macroinstruction en cours d'exécution, soit dans la zone ZE01 soit dans la section longue, contiennent un code L au lieu d'une adresse de piste, son inter-50 prétation par le registre de fonctions internes RïT a pour effet que la commande d'opérations internes GOI saute à nouveau respectivement au début de la macroinstruction ou de la section longue et recommence l'exécution en ce point. On pourra trouver une description plus complète du fonction 55 nement de certaines des unités périphériques qui peuvent être associées à la calculatrice de l'invention dans la demande de brevet déjà cité. 70 01967 42 2028742 REVEHDIOATIONS 1.- Calctilatrice servant à exécuter un programme constitué par une série de macroinstructions dont chacune comprend de multiples instructions groupées dans un ordre fixe, la calctilatrice étant 5 munie d'une mémoire opérationnelle en série et comprenant des agencements servant à interpréter et à exécuter les instructions d'une macroinstruction enregistres dans une portion prédéterminée de la mémoire opérationnelle, calculatrice caractérisée par le fait qu'elle comporte des agencements qui, en fonction de l'interpréta-10 tien par les agencements d'interprétation et d'exécution d'une instruction prédéterminée de la macroinstruction enregistrée dans ladite portion prédéterminée de la mémoire opérationnelle, font que les agencements d'interprétation et d'exécution commencent à interpréter l'information enregistrée dans une portion sélectionnée 15 de la mémoire sous la forme d'une série de macroinstructions et à les exécuter en série. 2.- Calculatrice selon la revendication 1, comprenant en outre une deuxième mémoire servant à enregistrer la macroinstruction du programme et caractérisée par le fait qu'elle comporte des agence- 20 ments servant à transférer les macroinstructions, une à la fois, de la deuxième mémoire à la portion prédéterminée de la mémoire opérationnelle de façon qu'elles soient exécutées et à transférer de l'information entrela deuxième mémoire et une portion sélectionnée de la mémoire opérationnelle. 25 3.- Calculatrice selon la revendication 1, dans laquelle la mémoire opérationnelle peut être divisée en de multiples zones dont chacune est marquée d'un signal de début de zone, la portion sélectionnée peut comprendre de multiples zones dont chacune contient une macroinstruction et les agencements d'interprétation et d'exé-30 cution comprennent des agencements de comptage servant à indiquer quelle instruction de la macroinstruction est en cours d'exécution, calculatrice caractérisée par des agencements qui, obéissant à la détection d'un signal de début de zone, remettent à zéro les agencements de comptage. 35 4.- Calculatrice selon la revendication 3, caractérisée en ce que les agencements d'interprétation et d'exécution comportent des agencements qui, obéissant à la détection d'un signal prédéterminé 70 01967 43 2028742 avec un signal de début de zone, remettent les agencements de comptage à un nombre plus grand que zéro de façon que les agencements d'interprétation et d'exécution interprètent la macroinstruction suivante comme commençant une instruction plus tard que la première 5 instruction. 5.- Calculatrice selon la revendication 2, caractérisée par le fait qu'elle comporte des agencements qui, obéissant à l'interprétation par les agencements d'interprétation et d'exécution d'une instruction prédéterminée d'une macroinstruction enregistrée dans 10 la portion sélectionnée de la mémoire opérationnelle, amènent les agencements de transfert à transférer uiie nouvelle macroinstruction à la portion prédéterminée d'une mémoire opérationnelle et les agencements d'interprétation et d'exécution à exécuter la macroinstruction transférée.