FR 2047016 A1 19710312 FR 7022763 A 19700619 70 22763 1 2047016 L'invention, concerne des calculateurs électroniques munis de mémoires à accès séquentiel et de mémoires à accès direct, dans lesquels les corrélations entre les mémoires sont propres à porter au maximum la vitesse possible de traitement pour un prix de 5 revient minimum. la plus grande partie des calculateurs actuellement utilisés comportent une seule mémoire de travail qui emmagasine aussi bien le programme que les données à traiter, l'accès à la mémoire peut être séquentiel, comme dans les mémoires à disque, à tambour ou à 10 ligne à retard, ou bien il peut être direct, comme dans les mémoires à noyau magnétique ou à pellicule mince. Les procédés consistant à utiliser l'un ou l'autre de ces types de mémoires présentent des inconvénients spécifiques. Les mémoires séquentielles sont relativement économiques, mais elles 15 ont un temps d'accès très long, qui limite grandement le temps de traitement par la machine dans laquelle elles sont employées.Toute opération arithmétique ou logique quelconque à exécuter sur des données emmagasinées.dans la mémoire exige en général un minimum de deux cycles de mémoire et fréquemment beaucoup plus. Etant 20 donné que le temps du cycle de mémoire - est généralement mesuré en millièmes de seconde, le temps nécessaire pour exécuter une opération, même simple, est trop long dans les applications qui exigenb une grande vitesse de traitement. Les mémoires à accès direct sont beaucoup plus rapides que 25 les mémoires séquentielles et elles ont des temps d'accès de l'ordre de la microseconde ou même inférieurs.Toutefois, ces mémoires sont beaucoup plus coûteuses que les mémoires séquentielles de même capacité; en outre, une mémoire capable d'emmagasiner aussi bien le programme que les données à traiter serait trop coûteuse 30 pour pouvoir être employée dans de nombreuses machines peu coûteuses. Il est déjà connu d'utiliser, dans certains calculateurs, une mémoire à accès séquentiel pour emmagasiner le programme à exécuter, et une mémoire à accès direct, ou un groupe de regis-35 très, pour emmagasiner les données à traiter. Ce procédé présente l'avantage de réduire au minimum les dimensions de la partie à grande vitesse de la mémoire et de réduire de cette façon son prix de revient au minimum tout en maintenant en même temps la vitesse de traitement à un niveau élevé. La mémoire à accès sé— 40 quentiel utilisée pour emmagasiner le programme peut être rendue 70 22763 2 2047016 interchangeable, ce qui permet de changer facilement de programma Toutefois, ces agencements présentent encore des inconvénients du fait que leur vitesse de traitement est plutôt faible, soit en raison de la disposition générale de la machine, soit 5 parce que la mise en mouvement eir l'arrêt de la bande après chaque instruction allongent beaucoup le temps de traitement. Les registres à déeàLage montés en série ou en parallèle sont déjà largement employés dans les calculateurs de la technique antérieure pour décaler le contenu d'un registre d'un nombre choisi de 10 positions vers la droite ou vers la gauche. Ces deux modes de montage ont la capacité de décaler le contenu du registre choisi assez rapidement, mais ils exigent tous deux line notable complication de la structure du calculateur et sont de ce fait fréquemment trop coûteux pour pouvoir être utilisés dans des calculateurs 15 peu coûteux. Ces avantages peu coûteux exigent-un procédé de décalage de leur contenu qui ne comporte pas une grande complication de structure, même si ceci peut être préjudiciable à la vitesse. Ces problèmes sont résolus par le calculateur électronique suivant l'invention, qui est caractérisé par une mémoire à accès 20 cyclique-séquentiel pour emmagasiner les instructions du programme à exécuter, cette mémoire cyclique comprenant un circuit de bande magnétique qui porte une piste d'informations sur laquelle sont enregistrées les instructions et les adresses respectivement associées aux instructions portées par ladite piste, un registre 25 des instructions qui reçoit une à une les instructions successives du programme en provenance de l'unité de bande sous la commande de la logique de commande et qui emmagasine chaque instruction pendant l'exécution de cette instruction, une mémoire à accès direct comprenant plusieurs registres qui emmagasinent les 30 données à traiter, l'un de ces registres de données-, préalablement choisi, étant utilisé comme registre d'entrée-sortie, une-cellule d'adresse indirecte étant associée à ce registre d'entrée-sortie pour emmagasiner une adresse indirecte qui peut être transférée à une cellule préétablie du registre d'instructions, sous 35 la commande de la logique de commande,' pour être utilisée comme adresse indirecte dans l'instruction"qui est exécutée, et line cellule prévue pour emmagasiner l'adresse,"portée par la bande de l'instruction qui est exécutée au moment "considéré, une imité arithmétique prévue pour exécuter des opérations d'addition, de 40 soustraction, et de transfert'entre les données emmagasinées dans 70 22763 3 2047016 le registre d'entrée-sortie et un registre choisi parmi les autres registres de la mémoire à accès direct sous la commande de la.logique de commande, ladite mémoire à accès direct et ladite unité arithmétique répondant à des ordres de la logique de com-5 mande pour augmenter l'adresse emmagasinée dans la cellule d'emmagasinage des adresses de la mémoire à accès direct à la fin de l'exécution.de l'instruction. . La description qui va suivre concerne une forme préférée de l'invention, et sera faite en se référant aux figures suivantes, 10 données à titre d'exemples non limitatifs: La figure 1,est un schéma synoptique;d'une forme de réalisation du calculateur suivant l'invention; La figure.. 2 représente le mode préféré de distribution des adresses des instructions du programme; 15 La figure.3 montre l'organisation de la cellule à accès di rect de la mémoire de travail; La figure 4 est tin schéma synoptique détaillé d'un calculateur suivant l'invention; La.figure 5 est un diagramme de la temporisation des opéra-20 tions qui adressent la mémoire. La figure 6 montre comment on obtient le décalage du contenu d'une mémoire. Pour mieux faire comprendre l'invention, on donnera ei-après line description détaillée de la forme de réalisation préférée qui 25. est représentée sur les dessins. La figure 1, des dessins montre que les instructions du programme à exécuter, qui proviennent de la partie séquentielle de la mémoire de travail, partie qui peut être constituée par un circuit à bande magnétique, sont lues une à une par l'unité 11 et 30 transférées au registre'des instructions 13. Les adresses des instructions successives du programme sont de préférence espacées physiquement sur le circuit à bande de telle façon que, pour la majeure partie des instructions.arithmétiques et logiques, le temps d'exécution de l'instruction soit un peu inférieur au temps 35 nécessaire pour que.l'instruction suivante apparaisse sur la bande. Ceci a pour effet que la bande circule sans interruption,sans avoir à s'arrêter et à redémarrer à chaque instruction. D'autres adresses d'instructions peuvent être réparties entre les instructions consécutives du programme. 70 22763 ♦ 2047016 L'instruction lue sur le circuit à bande est emmagasinée dans le registre des instructions 13 pendant son exécution. L'instruction du registre 13 est décodée dans le décodeur 15 dont la sortie est reliée à l'unité de commande 17» L'unité de 5 commande 17 commande ensuite le fonctionnement du calculateur pour l'exécution de l'instruction. Les données qui doivent être traitées tans l'exécution du programme sont emmagasinées dans la mémoire 19 à accès direct. Les données peuvent être introduites dans la mémoire 19 par le 10 clavier 21, à travers le registre 23 d'entrée-sortie. De ce registre 23, les données peuvent être transférées à la mémoire 19 ou Être transférées directement à l'unité arithmétique 25 pour être traitées. Les données emmagasinées dans la mémoire 19 peuvent être transférées à l'organe d'impression 27, à travers 15 le registre 23, pour être imprimées. Dans la forme de réalisation qui est représentée sur le dessin, le clavier 21 peut comprendre un clavier numérique utilisé pour introduire des nombres dans le registre 23, un clavier alphanumérique utilisé pour imprimer les informations 20 directement à l'aide de l'organe d'impression 27, et un clavier de commande- qui sert à enregistrer des ordres dans l'unité-de commande 17. L'utilisation de ces claviers et la longueur des données numériques qui peuvent être enregistrées sont commandées par l'unité de commande 17 en fonction des instructions du 25 programme. Le registre 29 peut être utilisé pour adresser indirectement des cellules de la mémoire 19 et de l'unité 11 de là bande pour emmagasiner le programme. La figure 2 représente un segment de l'une des pistes sur 30 le circuit de la bande. Dans la forme de réalisation de l'invention qui est représentée, chaque piste peut contenir jusqu'à 256 instructions et la bande porte 5 pistes. Chaque instruction est associée à une adresse de piste 31 qui est enregistrée immédiatement avant elle' et, dans la réalisation représentée, 35 les adresses 31 sont réparties de façon que, entra chaque instruction et l'instruction suivants à exécuter^ se trouvent 15 autres instructions. On peut adopter d'autres schémas d© distribution des instructions sur la 1&%£lû,®s suivant 1© vitesse du • défilement de la bande ©t suivant la vitesse de traitement du 40' calculateur. BAD ORIGINAL 70 22763 5 2047016 Dans le foriaat d'instruction utilisé dans la réalisation représentée, chaque instruction est composée de quatre caractères de chacun 4 chiffres binaires. Le premier caractère est un ordre de fonctionnement général qui indique comment doivent 5 être interprétés les trois autres caractères. Ce caractère peut signifier, par exemple, Arithmétique, Tabulation, Introduction clavier, Impression, Avancement Papier, Opérations de Saut ou Multiplication. la signification des trois caractères suivants de l'ins-10 truction dépend de la valeur du premier caractère. Ils peuvent être par exemple, des adresses pour la mémoire 19, des ordres de travail particuliers, des constantes, des adresses pour l'unité 11 de la bande, ou des codes servant à commander le clavier 21 ou l'organe d'impression 27. 15 Dans la forme préférée de réalisation de l'invention, la mémoire 19 peut être constituée par une mémoire à noyaux magnétiques à 32 x 32 chiffres binaires, que l'on trouve dans le commerce, dont une partie, comprenant 32 x 16 chiffres binaires, est représentée sur la figure 3. De côté à 32 chiffres 2 0 binaires de la partie de la mémoire 19 qui est représentée sur le dessin peut être divisé, en 8 groupes de 4 rangées de chiffres binaires, ces 8 groupes étant numérotés de 0 à 7 sur la figure 3, pour former 8 registres. Chaque registre a une capacité de 14 caractères à 4 chiffres binaires et chacun de ces caractères 25 est emmagasiné dans l'une dès colonnes numérotées de 0 à 13 sur la figure 3. La colonne numéro 14 contient 8 groupes 33 de 4 chiffres binaires, dont chacun est associé au registre dans la rangée duquel il est introduit. .Le chiffre binaire le moins significatif de chaque groupe 33 peut être, utilisé pour indiquer 30 le signe du nombre emmagasiné dans le registre qui lui est associé, et un autre de ces chiffres binaires peut être utilisé pour indiquer que le contenu d'un registre n'est pas égal à zéro. Dans la forme de réalisation préférée, le registre entrée-sortie 23 constitue physiquement une partie de la mémoire 19 et 35 occupe le registre numéro 0 de la partie de la mémoire 19 qui est représentée sur la figure 3. La colonne numéro 15 de la mémoire 19 peut être utilisée comme zone de service. Dans la forme de réalisation, préférée, le registre 29, à 4 chiffres binaires, d'adresse indirecte, 40 constitue physiquement, une partie de cette zone de service et 70 22763 6 2047016 occupe les mènes rangées de mémoire que le registre 23. Dans la zone de serviee, sont également emmagasinées d'autres informations que l'on désire éviter de perdre dans le cas où le courant électrique viendrait à manquer. L'adresse de l'instruc-5 tion du programme qui se trouve sur la bande du programme et qui est exécutée au moment considéré est emmagasinée dans la cellule 35 à 8. chiffres binaires de la zone de service. L'indication d'un excédent de capacité pendant l'exécution d'une opération arithmétique et d'un saut choisi peut être, par 10 exemple, également emmagasinée dans la zone de serviee. L'autre moitié de la mémoire 19 peut également être divisée en 8 registres de 14 caractères de façon que l'ensemble de la mémoire puisse comprendre 16 registres de données et un registre 23 d'entrée-sortie. 15 Ainsi qu'on l'a indiqué plus haut, le type d'opération qu'une instruction commande est indiqué par le premier earac-; tère à 4 chiffres binaires de l'instruction. Si le premier caractère de 1*instruction est un ordre d'opération arithmétique, le deuxième caractère est un ordre 20 détaillé d'opération qui définit l'opération particulière à exécuter. Le troisième et le quatrième caractères de l'instruction arithmétique sont les adresses des deux registres de la mémoire 19 sur lesquels l'opération doit être exécutée. Les adresses des registres de la mémoire sont constituées par 4 25 chiffres binaires et peuvent être emmagasinées dans le troisième ou dans le quatrième caractère d'une instruction arithmétique. L'opération ordonnée par l'ordre détaillé d'opération peut être différente selon que l'adresse du registrev.de mémoire se trouve dans le troisième ou dans le quatrième caractère de 30 l'instruction. Les instructions arithmétiques sont exécutées en deux cycles d'opérations. L'opération indiquée est exécutée tout d'abord sur le registre de mémoire adressé par le troisième caractère de l'instruction puis sur le registre adressé par le 35 quatrième caractère. Si l'on appelle R3 et R4, respectivement, les registres adressés par le troisième et par le quatrième caractères de l'instruction arithmétique et si l'on considère également le registre 23 d'entrée-sortie, les opérations suivantes sont des exemples types des opérations qui peuvent être 40 exécutées : 70 22763 7 2047016 (1) H 3 - 23 -—E 3 S4-23—»E4 (2) E 3 + 23 > E3 E4 - 23 »£4 (3) E 3 -» 23 E4 - 23 ->E4 (4) E 3——>23 E4 + 23 >R4 5 (5) . E 3——» 23 ; 0 >E3 E4 + 23 >B4 (6) E 3——» 23 ; 0 —»E3 E4 - 23 >E4 (7) E 3——> 0 E4 ->0 (8) 23—->0 (9) 23 —->0, sauf le chiffre le moins significatif du 10 registre 23« Normalement, lorsque le contenu d'un registre de mémoire est lu pour l'exécution d'une opération, il est automatiquement réenregistré de façon à donner l'effet d'une lecture non destructrice. Toutefois, dans leB instructions indiquées aux numé-15 ros 5 et 6, le contenu du E3 n'est pas réenregistré, de sorte que ce E3 est effacé lorsque son contenu est transféré au registre 23. Dans les instructions indiquées aux numéros 7, 8 et 9, le contenu des registres adressés ou du registre 23 est effacéo Dans le déroulement des instructions indiquées par les 20 numéros 3 à 6, le contenu du E3 est tout d'abord transféré au registre 23, puis l'opération est exécutée avec le registre E4 et le registre 23. . Si le troisième caractère de l'instruction arithmétique est zéro, le contenu du registre 29 d'adresse indirecte est 25 transféré par l'unité de commande 17 à la position du troisième caractère du registre d'instructions 13 et est utilisé comme adresse de registre de mémoire pour l'instruction. Si le quatrième caractère de l'instruction arithmétique est zéro, aucune opération n'est exécutée sur le quatrième caractère. 30 II est également possible de transférer le contenu du troisième et du quatrième caractères de l'instruction au registre 23 au moyen d'une instruction arithmétique particulière» Ceci est utile lorsqu'on désire utiliser ces caractères comme une constante pour le programme. 35 Si le premier caractère d'une instruction est un ordre d'o pération de tabulatioh, l'instruction commande la tabulation horizontale de l'organe d'impression 27. Dans ee type d'instruction, le deuxième et le troisième caractères c0s.tie2m.ent la position de la fin du mouvement de tabulation et le quatrième • 40 caractère indique si l'opération doit être exécutée immécliatement 70 22763 8 2047016 ou si la position de la fin du mouvement de tabulation doit être simplement emmagasinée dans 1*organe d'impression 27. Une troisième valeur du earaetère initial de l'instruction est utilisée pour indiquer une instruction, pour commander le 5 clavier numérique, pour placer des chiffres binaires dans la zone de service de la mémoire 19, pour indiquer des conditions de saut ou pour opérer sur le registre 23 et/ou sur le registre 29 d'adresse indirecte. Le deuxième caractère de ce type d'instruction peut être utilisé pour fixer le nombre maximum de 10 caractères que l'on peut introduire, au moyen du clavier nuné--rique, dans le registre 23 dans les instructions qui débloquent le clavier numérique. lie " troisième os-ractère de l'instructien peut être utilisé pour placer ou replacer des chiffre® binaires choisis dans la zone de servie© de la mémoire .19® afin d'inôi-15 ç[aer ou de mettre fin à des conditions &e saut. Ce earaetère peut également commander le trœ«f@r':- m contez»" du ©ar?/stfcro • le moins significatif da registre 23 au registre 29 d'adresse-indirecte. Le quatrième earaetère de l'instruction peut commander le déblocage du clavier numérique, le nombre de 20 chiffres qui peut être enregistré est commandé par le deuxième caractère de l'instruction. Le quatrième caractère peut en outre être utilisé pour inverser le signe du registre 23 ou pour transférer le contenu du registre 29 d'adresse indirecte au caractère le moins significatif du registre 23. 25 Le caractère initial de l'instruction peut également prendre une quatrième valeur qui indique que l'instruction commande l'impression du contenu du registre 23 en noir ou en rouge. On peut également utiliser un© instruction d© c© type pour commander la perforation, du contenu du registre 23 sur lœe 30 bande' de papier par une unité perforatrice de bande (non représentée. sur les dessins)* le deuxième caractère de 1'instruction d'impression.peat 23 qui doivent être imprimés par 13 or.gsae d'impression 27* 3i-s 35 troisième caractère détermina si le :,icrù>re doit. ftre iaprimé avec la ponctuation américaine ou la ysactuatioa européenne et il peut ordonner aue.l'impression r=>3 se produis© que si le nombre contenu dans le registre. 23 ezx- négatif. Le quatrième earaetère détermine si ^.impressioa. -la registre 23 toit être 4C exécuté© en roage ou en a.oir- et -~i r!W> doit é^Xenoat être BAO ORIGINAL 70 22763 9 2047016 perforée sur la bande de papier, le quatrième earaetère peut également ordonner que le contenu du deuxième et du troisième caractères d'instruction soit traité comme une constante et transféré au registre 23 pour la perforation, ou bien pour 5 l'impression en noir ou en rouge. Une cinquième valeur du caractère initial de l'instruction indique que l'instruction commande le mouvement du papier dans l'organe d'impression 27 ou bien débloque le clavier alphanumérique. Le deuxième caractère choisit les divers cylindres 10 ou roues dentées de l'organe d'impression 27 pour commander le mouvement des divers rouleaux ou des diverses feuilles de papier. Le troisième et le quatrième caractères de ce type d'instruction commandent le mouvement du papier à l'aide des organes de commande choisis par le deuxième caractère et ils 15 déterminent si l'impression de l'information enregistrée par le clavier alphanumérique doit être faite en npir ou en rouge et si l'information imprimée doit être également perforée sur une bande, de papier. Une sixième valeur du caractère initial de l'instruction 20 indique que. l'instruction commande un saut de programme. Le deuxième caractère de l'instruction indique le type de ce saut et le troisième et le quatrième caractères contiennent l'adresse à 8 chiffres binaires de la fin du saufcqui est portée sur la bande du programme. 25 On peut citer les types de sauts suivants : .(1) saut inconditionné ; (2) saut si le registre 23 n'est pas égal à zéro ; (3) saut si un chiffre binaire indiquant la condition de saut choisie est plaeé dans la zone de service de la mémoire 19 ; 30 (4) saut si le chiffre binaire d'excédent de capacité est placé; (5) saut inconditionné au parcours du ruban du programme indiqué par le troisième caractère ; (6) saut si le signe du registre 23 est^aégatif ; (7) saut si l'on a abaissé des touches choisies sur le clavier 3 5 de commande. Si le troisième caractère de l'instruction est zéro, l'unité de commande 17 provoque le transfert du contenu du registre d'adresse indirecte au troisième caractère du registre d'instruction 13 et l'utilisation de ce contenu comme partie de 40 l'adresse de la bande du programme. 70 22763 10 2047016 lors de l'exécution d'une instruction de saut, l'unité de commande 17 établit tout d'avord si le saut a été exécuté. Dans le cas affirmatif, l'unité de commande 17 transfère l'adresse de saut du registre des instructions 13 à la cellule 5 35 de la zone de service de la mémoire 19 où est emmagasinée l'adresse de l'instruction à exécuter ensuite. Une septième valeur du caractère initial de l'instruction est utilisée pour les instructions de multiplication. Le deuxième caractère de l'instruction indique si l'opération doit 10 être exécutée en multipliant le résultat par 10n ou par lO-11, la valeur de "n" pouvant varier de 0 à 7. Le troisième caractère représente l'adresse du registre de mémoire qui contient le multiplicateur et le quatrième caractère représente l'adresse du registre de mémoire qui doit recevoir le produit. 15 La multiplication est exécutée entre le contenu du registre indiqué dans le troisième caractère de l'instruction et le . contenu du registre 23. Si le troisième caractère de l'instruction est zéro, le contenu du registre indiqué par le quatrième caractère de l'instruction est décalé de la quantité indiquée 20 par le deuxième caractère de l'instruction. Si le troisième et le quatrième caractères sont zéro, le contenu du registre 23 est décalé de la quantité indiquée par le deuxième caractère de l'instruction. Le premier caractère d'une instruction dô multiplication 2 5 indique également si la multiplication doit être exécutée en arrondissant et à quel type d'arrondissement on doit recourir. Le fonctionnement du calculateur pour l'exécution des instructions du programme sera décrit dans la suite en regard du diagramme synoptique détaillé qui est représenté sur la figure 30 4» Les adresses 31 (figure 2) des instructions portées par la bande du programme sont lues par l'unité de la bande 11 au fur et à mesure que la partie de la bande sur laquelle ces adresses sont enregistrées passe sous la tête de lecture et elles sont transférées ensuite au registre d'adresses 37 à 8 chiffres 35 binaires. L'adresse contenue dans le registre 37 est comparée dans le comparateur 39» chiffre binaire par chiffre binaire, avec l'adresse de l'instruction qui doit être exécutée ensuite et qui est emmagasinée dans la cellule 35 d'emmagasinage des adresses dé la zone de service de la mémoire 19. Si la comparai-40 son montre qu'il existe une égalité, le comparateur 39 signale 22763 n 204701© ce résultat à la logique de commande 41 et cette legique le signale à l'unité 11 de la bande sur le canal C, pour charger dans le registre des instructions 13 l'instruction associée à cette adresse» La cellule 35 d'emmagasinage de la zone de 5 service est avancée d'un pas à la fin de 1'exécution de chaque instruction, sauf dans le cas d'une instruction de saut exécutée, de façon à contenir l'adresse -de l'instruction qui doit être exécutée ensuite. Le registre des instructions 13 contient quatre sections 10 à 4 .chiffres binaires, 43* 45, 47 èt 49 qui contiennent respectivement le premierj le deuxièmes le troisième et le ouatri-"èm® caractères de l'instruction à exécuter-., le premier caractère de 1 ' instruction-, contenu dans la .cellule 43 du registre 13s ®st décodé par le décodeur "15 et a pour effet de faire 15 snsendrer par la logique de commande. 41 des ordres envoyés sur le canal 0 pour commander le fonctionnement du c.aloaLatesr et Inexécution de 11 instruction. Dans la réalisation de l'invention qui est représentée sur le dessin, la mémoirë 19 opère d'une façon entièrement séquen-20 tielle.. Pour la sélection des rangées d'un registre de mémoire l'adresse du registre choisi est introduite dans le compteur 51 à chiffres binaires du dispositif compteur 53* La colonne adressée est sélectionnée par le compteur 55 à 4 chiffres binaires, qui est compris dans le dispositif compteur 53, et 25 l8un des 4 chiffres binaires contenu dans la colonne du registre est adressé par le compteur 57 à 2 chiffres binaires. Les compteurs- du dispositif compteur 53 adressent la mémoire 19 à travers le décodeur 59» Pour l'adressage des chiffres binaires dBun registre de mémoire pendant les opérations 30 arithmétiques, les opérations de décalage5 les opérations de transfert, le® compteurs 55- et 57 sont initialement remis à séro par la lôgiatse d.® commande 41 pour adresser le chiffre binaire le Eoias significatif du caractère le aoias significatifo le somptsur 57 à chiffres binaires compte à chaque cycle de mémoire 35 ou à un sur deux des cycles de mémoire pour adresser ensuite les .chiffres binaires de plus en plus élevés® S'excèdent de capacité du compteur 57 est utilisé pour avancer le compteur 55 d'an pas afin d'adresser le chiffre immédiatement supérieur du registre de mémoire sélectionné. 40 Pour adresser les ekifxree binaires âe la zone de service BAD ORIGINAL 70 22763 12 "de la *ékoir» 19, la âé eonaanâ.#;.4'ÎJ4jgfee»dait 11 adresse de» chiffres binaires «élôetidànéB, d« l»^03rtff âe service, directement dans le dispositif compteur 53.- Si on désire adresser plusieurs chiffres binaires, comae dans le cas de la 5 cellule 35 d'emmagasinage d'adresses d'inatruetions, l'adresse du chiffre binaire le moins significatif de la cellule 35 est chargée par la logique de commande 41 dans le compteur 55, puis le compteur 57 compte les cycles de la mémoire de la façon qui a été décrite plus haut. Toutefois, dans ce cas, son excédent 10 est utilisé pour faire avancer d'un pas le compteur du registre 51 au lieu de faire avancer le compteur de colonne 55. les cycles de mémoire sont synchronisés et commandés par les signaux de synchronisme de la mémoire qui sont représentés sur la figure 5. Le signal de synchronisme peut être obtenu par 15 division de la fréquence engendrée par l'oscillateur 61. Le signal de synchronisme de la mémoire est haut pendant la première moitié du cycle de mémoire pour permettre la lecture du chiffre binaire adressé, et bas pendant la deuxième moitié du cycle de mémoire, pour permettre d'insérer un chiffre binaire 20 d'information dans la position adressée. Dans l'exécution d'une instruction de type arithmétique qui commande le transfért du contenu du registre 23 au registre de mémoire adressé, qui est appelé iei Ra, la logique de comaands 41 libère tout d'abord le dispositif compteur 53.-Dans cette 25 condition, le dispositif compteur 53 adresse le chiffre binaire le moins significatif du registre 23. Le fait que le registre est adressé est indiqué par la montée de la ligne Ha sur la figure 5. Pendant la première moitié du cycle suivant de la mémoire, le chiffre binaire adressé du registre 23 est lu par 30 la mémoire et emmagasiné dans la bascule IÎ1 (non représentée), comme on le montre par la ligne E.3?. 1 sur la figure 5. Dans la deuxième moitié du cycle, le chiffre"binaire est réintroduit à la même place dans la mémoire sans être effacé par la bascule H.1. 35 Au début du cycle suivant delà mémoire, la logique de commande 41 transfère l'adresse de registre Ea, emmagasinée à la place du troisième ou du quatrième caractère du registre des instructions 13, au compteur 51, sans que la position du caractère soit effacée dans le registre des instructions 13, comme 40 indiqué par la montée de la ligne Ra. Dans cette condition^ le 70 22763 13 2047016 chiffre binaire le moins significatif du registre Ra est adressé par le dispositif compteur 53. Pèndant la deuxième moitié du cycle suivant de la mémoire, la logique de commande 41 introduit le chiffre binaire emmagasiné dans la bascule N.1 dans 5 la position adressée, ce qui termine ainsi le transfert du" chiffre binaire du registre 23 au registre Ka. le début du cycle suivant de la mémoire fait avancer d'un pas le compteur de chiffres binaires 57, comme indiqué par la descente de la ligne BIT 0 et la montée de la ligne BIT 1, et 10 cette opération libère le compteur 51. le deuxième chiffre binaire du caractère le moins significatif du registre 23 est donc ainsi adressé par le dispositif compteur 53. Le calculateur continue de cette façon à transférer les chiffres binaires suivants du registre 23 à la bascule N,1 et 15 de là, au registre Ka, jusqu'à ce que tous les chiffres binaires aient été transférés. Tous les quatre chiffres binaires, le compteur 57 excède sa propre capacité et fait avancer le compteur 55 d'un pas pour adresser le caractère suivant. Le transfert d'information d'un registre Ka au registre 20 23 se produit d'une façon très analogue, sauf que \o. logique de commande 41 ne libère initialement que les compteurs 55 et 57 et transfère l'adresse du registre Ra au compteur 51. Pans les opérations telles que le transfert au registre 23 d'une constante contenue dans le troisième et le quatrième 25 caractères d'une instruction du registre des instructions 13, opérations dans lesquelles il n'est nécessaire d'adresser qu'un seul registre de mémoire, le compteur de chiffres binaires 57 avance d'un pas, sous l'action de la logique de commande 41, à chaque cycle de la mémoire, au lieu d'avancer d'un pas tous les 3 0 deux cycles de cette mémoire. L'addition et la soustraction sont exécutées algébriquement dans l'unité arithmétique 25 sur le contenu du registre 23 et sur celui du registre de mémoire Ra qui -est adressé par le troisième ou le quatrième caractère de l'instruction contenue 35 dans le registre des instructions 13. Lors de l'exécution d'une telle instruction, le calculateur exécute tout d'abord les opérations préliminaires c'est-à-dire qu'il détermine si l'opération à exécuter est une addition ou une soustraction, en lisant le chiffre du signe emmagasiné dans 40 les chiffres binaires les moins significatifs de la colonne 22763 14 2047016 numéro 14 de la mémoire,du registre 23 et du registre fia. la logique de commande-41 interprète en outre le caractère d'instruction situé à la position 45 du deuxième caractère et- l'adresse du registre qui est contenue dans la position du troi-5 sième et du quatrième caractères du registre 13* S'il y a lieu d'exécuter une soustraction, la logique de commande 41 effectue l'opération à blanc en restaurant ensuite les contenus des registres, pour déterminer lequel des. deux nombres est le plus grand, cette manoeuvre est exécutée parce 10 qu'il est.nécessaire d'utiliser, un algorithme différent selon que le nombre à soustraire est plus grand ou plus petit que le nombre à diminuer. Pour simplifier la structure du calculateur, la machine représentée soustrait toujours le petit nombre du grand. ■J5 Dans une opération d'addition, la mémoire est adressée d'une façon analogue à celle qui a été décrite à propos du transfert d'un nombre du registre 23 à un registre adressé Ea. Dans ce cas, la logique de- commande 41 libère tout d'abord le dispositif compteur 53 pour adresser le chiffre binaire le moins 20 significatif du registre 23, puis elle transfère ce chiffre binaire à la bascule H,1. et le réintroduit dans le registre 23. Au deuxième cycle de la mémoire, la logique de commande 41 transfère de nouveau 18 adresse de registre du registre des instructions 13 au compteur 51. Toutefois, pendant la première moitié 25 de ce deuxième cycle de la mémoire, la logique de commande 41 transfère le chiffre binaire adressé du registre Ea à la bascule H.2, laquelle peut être également incluse dans l'unité arithmétique 25, comme ceci est représenté par la ligne F.]?.2 sur la figure 5. Des contenus de ces bascules sont additionnés par 30 l'unité arithmétique et le chiffre de la somme est inscrit dans le chiffre binaire adressé du registre Ea pendant la deuxième moitié du deuxième cycle de la_mémoire. Le chiffre de report est retenu par l'unité arithmétique 25 pour le cycle suivant. La logique de commande 41 traite successivement tous les chiffres 35 binaires des registres adressés, en faisant ainsi avancer le compteur de chiffres binaires 57 d'un pas tous les deux cycles de la mémoire, de la même façon qu'on l!a décrit plus haut pour terminer l'opération. Finalement, la logique de commande introduit le signe du résultat dans la position du chiffre binaire 40 le moins significatif de la colonne 14 du registre Ea. 70 22763 « 2047016 L'opération de soustraction est exécutée dé la façon gui a été décrite & propos de l'opération d'addition, sauf que la logique de commande effectue l'opération à blanc pour déterminer lequel des deux nombres est le plus grand. La logique de com-5 mande 41 envoie ensuite à l'unité arithmétique 25, sur le canal C, des ordres qui préparent cette unité de façon qu'elle soustraie le contenu du registre qui contient le petit nombre du contenu du registre qui contient le grand nombre. Après avoir exécuté l'opération d'addition ou de sous-10 traction, la machine doit apporter les corrections bien connues sur certains des chiffres du résultat, afin d'exprimer le résultat de la façon appropriée dans le code binaire décimal. Pour cela, les chiffres binaires du résultat, qui sont emmagasinés dans le registre Ea, sont transférés un à un dans 15 l'unité arithmétique 25 dans laquelle ils sont traités, et ils sont ensuite réintroduits dans le registre Ea. Dans cette phase de l'opération, étant donné qu'un seul registre dé la mémoire intervient, le compteur 57 peut avancer d'un pas à chaque cycle de la mémoire au lieu d'un pas tous les deux cycles. 20 L,'unité arithmétique 25 peut être analogue à celle qui a été décrite dans le brevet français 1 425 811. Lorsqu'une instruction de saut est introduite dan» le registre des instructions 13, la logique de commande 41 vérifie la condition de saut spécifiée dans le deuxième caractère de 25 l'instruction et effectue ïe saut si cette condition est fixée ■ou si le saut spécifié par le deuxième- caractère est inconditionné. On peut se trouver en présence d'une autre condition de saut spécifiée dans le deuxième caractère si un chiffre binaire choisi est placé dans la mémoire de la zone de service 30 19, si le signe du registre 23 est négatif, ou si le contenu du registre 23 n'est pas égal à'zéro. Dans les deux premiers cas, la logique de commande 41.introduit le chiffre binaire adressé dans le dispositif compteur 53 et interprète le chiffre binaire. Dans le troisième cas, la logique de commande libère le dispo— 35 sitif compteur 53, puis le fait passer par le registre 23 en vérifiant tour à tour tous les chiffres binaires. Les chiffres binaires de la zone de serviee qui sont éprouvés par les diverses conditions de saut peuvent être fixés par le clavier 21, par une instruction de programme ou par . 40 l'apparition d'une condition d'excès de capacité dans une opé 70 2276 16 2047016 ration de multiplication. Ii*adresse du programme à laquelle le saut doit être dirigé est spécifiée dans le troisième et le quatrième caractères de l'instruction du saut. Si le saut est inconditionné ou si la 5 condition s1 est vérifiée, la logique de commande 41 introduit l'adresse du chiffre binaire le moins significatif de la cellule 35 d'emmagasinage des adresses de la zone de service dans le dispositif compteur 53 et transfère l'adresse du saut à huit chiffres binaires à la cellule 35 du registre des instructions 10 13*. Dans ce cas, l'excès de capacité du compteur de chiffres binaires 57 est utilisé pour faire avancer d'un pas le compteur du registre 51 plutôt que le compteur de colonnes 55. Après avoir terminé le transfert, la logique de commande 41, sans avoir tout d'abord introduit l'adresse dans le cellule 15 35, ordonne à l'unité de la bande 11 d'envoyer l'instruction suivante au registre des instructions 13 de la façon habituelle. Si la condition du saut n'est pas vérifiée, le transfert n'est pas exéeuté. La logique de commande 41 se limite à introduire l'adresse dans la cellule des adresses 35 de la façon normale 20 et elle commande à l'unité de la bande 11 d'envoyer l'instruction, suivante, au registre des instructions 13- Si le saut doit être exécuté et si le troisième caractère de l'instruction du saut est zéro, l'unité de commande 41 introduit l'adresse du registre 29 d'adresse indirecte dans lë dis-25 positif compteur 53 et transfère le contenu du registre 2 30 La multiplication est exécutée entre le contenu du registre 23 et celui du registre Ea adressé par le troisième caractère de l'instruction de multiplication. On obtient le produit dans le registre Eb adressé par le quatrième caractère de l'instruction. Pendant 1'exécution de l'opération, le calculateur addi-35 tionne d'abord le multiplicande contenu dans le registre 23 au contenu du registre Eb le nombre de fois qui est indiqué par le chiffre le moins significatif du multiplicateur contenu dans le registre Ea. Ensuite, le produit partiel obtenu dans le registre Eb est décalé cireulairement d'un chiffre vers le chiffre moins 40 significatif. Le calculateur additionne ensuite le contenu du 70 22763 17 2047016 registre 23 au contenu du registre Rb le nombre de fois qui est indiqué par le deuxième chiffre du multiplicateur contenu dans Ra. Ce processus de décalage et d'addition se répète jusqu'à 5 ce que 14 décalages aient été exécutés et le chiffre le moins • significatif du produit est de nouveau à l'emplacement du chiffre le moins significatif du registre Rb. Pour exécuter ces opérations, la logique de commande 41 libère tout d'abord le registre Rb et le compteur 63 à 4 10 chiffres binaires, puis transfère le caractère le moins significatif du registre Ra au compteur 65 à 4 chiffres binaires. Si le contenu du compteur 65 n'est pas zéro, la logique de commande 41 réduit le compteur 65 et ajoute le contenu du registre 23 au registre Rb, dont le contenu est dans-ce cas égal à zéro; 15 le résultat passe dans le registre Rb de la même -façon qu'on l'a décrit pour l'addition, la logique de commande 41 répète ensuite ces opérations de réduction et d'addition jusqu'à ce que le contenu du compteur 65 soit égal à zéro, lorsque le eompte^r 65 est à zéro, la logique de commande 41 fait avancer 20 d'un pas le compteur 63 et décale cireulairement le contenu du regiatre Rb d'un chiffre en direction du caractère le moins significatif. Après avoir exécuté ces opérations, la logique de commande 41 transfère le contenu du compteur 63 au compteur 55, et le 25 contenu de la cellule 47 du troisième caractère du registre des •instructions 13 au compteur 51. Ensuite, la logique de commande 41 décale le caractère adressé du registre Ra au registre Rb. Là logique de commande 41 répète ensuite les opérations de réduction du compteur 65 et l'addition du registre 23 au 30 registre Rb jusqu'à ce que le contenu du compteur 65 soit à nouveau égal à zéro ; à ce stade, la logique de commande 41 fait à nouveau avancer le compteur 63 d'un pas et déclenche un autre cycle de la multiplication. La logique de commande 41 compte les décalages du registre 3 5 Rb dans le compteur 67. Lorsque le compteur 67 indique que 14 décalages ont été exécutés, le chiffre le moins significatif du produit se trouve à nouveau à l'emplacement du chiffre le moins significatif du registre Rb et la multiplication est alors terminée. 40 Le deuxième caractère de l'instruction de la multiplication 70 22763 18 2047016 est utilisé pour indiquer si la multiplication doit être exécutée en multipliant le produit par 10n ou par 10"11, la valeur de "n" pouvant être comprise entre 0 et 7. la multiplication se déroule en effectuant seulement 14-n décalages dans 5 le cas de la multiplication du produit par~10n, et en effectuant 14+n décalages, les n premiers décalages ayant la partie terminale détachée, dans le cas de la multiplication par 10-11. S'il n'y a lieu d'exécuter que 14-n décalages, la logique de commande 41 introduit une valeur initiale de n dans le 10 compteur 67. S'il y a lieu d'exécuter 14+n décalages, la logique de commande 41 introduit une valeur initiale de n dans le compteur 67 et charge une bascule (non représentée). Tant que dure la charge de cette bascule, le compteur 67 compte à rebours, c'est-à-dire en direction de séro, à chaque décalage. Lorsque 15 le compteur atteint le zéro, il recharge la bascule- qui a pour effet que le compteur commence à compter en sens normal, en direction du 14, à chaque décalage. Les premiers décalages, qui sont exécutés pendant la charge de la bascule, ont la partie terminale détachée. 20 Le premier caractère de l'instruction de multiplication peut ordonner que la multiplication soit exécutée avec arrondissement du résultat, par introduction de 5 000 000 ou de 9 999 999 dans-.le registre Eb avant l'exécution de la première addition du contenu du registre Rb avec le contenu du registre 25 23. L'instruction d'arrondissement du premier caractère de l'instruction de multiplication est toujours accompagnée en pratique par une instruction qui ordonne de multiplier le produit _7 contenu dans le registre Eb par 10 . Pendant l'exécution d'une opération de multiplication, il 30 existe diverses circonstances qui peuvent se traduire par un excès de capacité du produit. Par exemple, si la multiplication doit être exécutée avec multiplication du produit par 10n et que le nombre des chiffres du multiplicateur contenu dans Ea majoré de n est supérieur à 14 ou bien si les chiffres les plus 35 significatifs du produit partiel contenu dans le registre Eb débordent pour se terminer dans les emplacements occupés par les chiffres les moins significatifs du produit partiel pendant la phase de décalage et d'addition de la multiplication." S'il se présente une condition d'exeès de capacité, une bascule (non 40 représentée) se trouve chargée dans l'unité arithmétique 25. 70 22763 19 2047016 Lorsque l'opération de multiplication a été exécutée, le contenu de la bascule est transféré par la logique de commande à la position présélectionnée de la zone de service de la mémoire 19» 5 Le décalage du contenu du registre de mémoire se produit pendant l'exécution d'une instruction qui comporte un ordre d'opération de multiplication dans son caractère initial. Si le troisième et le quatrième caractères de l'instruction sont occupés-par une adresse de registre de mémoire, le décalage se 10 produit pendant l'exécution de l'instruction de la multiplication, comme décrit plus haut. Si le troisième caractère de .-l'instruction de la multiplication est égal à zéro, il ne se produit pas de multiplication, mais le contenu du registre de mémoire spécifié dans le quatrième caractère de l'instruction 15 . est décalé de la quantité indiquée par le deuxième caractère de l'instruction. Si le troisième aussi bien que le quatrième caractères dé l'instruction sont égaux à zéro, le contenu du registre 23 est décalé de la quantité indiquée par le deuxième caractère de l'instruction. 20 Les trois premiers chiffres binaires du deuxième carac tère de l'instruction indiquent la quantité du décalage et peuvent prendre n'importe quelle valeur entre zéro et 7. Le dernier chiffre binaire du deuxième caractère indique si le décalage doit avoir la signification d'une multiplication du 25 contenu du registre de mémoire par 10^ ou par 10~n, où n est le nombre contenu dans les trois premiers chiffres binaires. Dans une multiplication par 10"*n, le contenu du registre est décalé circulairement de 14-h positions vers la position du chiffre lé moins significatif. 30 La figure 6 montre comment le contenu d'un registre choisi 69 de la mémoire est décalé cireulairement d'une position vers la position du chiffre le moins significatif. La logique de commande 41 transfère tout d'abord (figure 6A) le caractère le moins significatif du registre de mémoire 69 à un registre 71 35 à un caractère, registre qui peut se trouver dans l'unité arithmétique 25. De même qu'elle transfère les chiffres binaires du caractère le moins significatif, du registre 69 au registre 71 dans la première moitié de chaque cycle de la mémoire, la logique de commande 41 transfère également les chiffres binaires 40 correspondants du registre 71 aux positions des chiffres binaires / 0 JL *2. s & ^ 20 2047016 du caractère le moins significatif du registre 69 dans la deuxième moitié de ch.aq.ue cycle de la mémoire. De cette façon, la position du caractère adressé du registre 69 et le registre 71 échangent leurs contenus. 5 Ensuite (figure 8) la logique de commande 4-1 échange le contenu de la position du caractère le plus significatif du registre 69 avec le contenu du registre 71, en transférant ainsi le chiffre le moins significatif du contenu du .registre 69 à la position du chiffre le plus significatif du registre 10 69. À la troisième phase (figuré 60) la logique de commande 41 échange le contenu de la position du chiffre le plus significatif du registre 69 avec le contenu du registre 71,. en complétant de cette façon le décalage du chiffre le plus significatif du contenu du registre de la mémoire d'une position 15 vers la position du chiffre le moins significatif. la logique de commande 41 continue à échanger les contenus des suivants des ehiffres les "moins significatifs du contenu du registre 69 avee le contenu du registre 71 jusqu'à ce que (figure 6E) elle termine le décalage en échangeant le contenu 20 de la position du chiffre le. moins significatif du registre 69 avec le contenu du registre 71. Ce dernier échange remet en outre en position le contenu initial du registre 71. Pour décaler le contenu du registre 69 de plusieurs positions de ehiffres, il est nécessaire d'effectuer une série de 25 décalages d'une position jusqu'à ce que le contenu ait été décalé de la quantité désirée. Si l'on désire déealer le nombre contenu dans le registre 69 eh laissant la partie terminale, on empêche le transfert initial du contenu du chiffre le moins significatif du nombre 30 contenu dans le registre 69 au registre 71. De cette façon, seul le contenu initial du registre 71 est transféré à la position du ehiffre binaire le moins significatif du registre 69 et on perd le chiffre le moins significatif du contenu du registre. 35 Des instructions du programme sont emmagasinées sur un circuit à bande magnétique qui est commandé par l'unité à bande 11. . Dans la forme de réalisation de l'invention qui est considérée et représentée, les. instructions peuvent être enregistrées 40 sur le circuit sur cinq pistes, dont chacune contient jusqu'à 22763 2047016 256 instructions. On peut utiliser un seul circuit pour emmagasiner divers programmes et les circuits peuvent être disposés dans des chargeurs, pour les rendre plus facilement interchangeables. 5 Ainsi qu'on lra indiqué plus haut, les instructions peuvent être réparties sur la bande de la façon indiquée sur la figure 2. Après avoir transféré une instruction au registre des instructions 13 en vue de son exécution, l'unité de la bande 11 n'arrête pas la bande mais la laisse défiler. Après écoulement 10 d'un temps prédéterminé, et avant que n'apparaisse sur la bande l'instruction suivante à exécuter, l'unité de la bande 11 interprète si l'exécution de l'instruction précédente est terminée. Si elle n'est pas terminée, l'unité 11 arrête la bande jusqu'à ce que la logique de commande 41 signale que "5 l'exécution est terminée. Si l'instruction a été. exécutée, l'unité de la bande 11 laisse défiler la bande et la logique de commande 41 compare, dans le comparateur, les adresses des instructions suivantes avec les adresses de l'instruction qui doit être exécutée ensuite et qui sont emmagasinées dans la 20 cellule 35 de la mémoire 19- Lorsque la comparaison montre qu'il y a identité, l'instruction qui accompagne l'adresse est transférée au registre des instructions 13 en vue- d'être exécutée. Ceci réduit au minimum le retard du temps d'entrée pour les 25 instructions suivantes qui" se trouvent sur la bande. Av.ec l'exécution des instructions qui commandent la partie mécanique de la machine et de certaines instructions de multiplication, le calculateur termine l'exécution de l'instruction contenue dans le registre des instructions 13 avant que l'unité 11 de la bande 3 0 n'effectue sa commande-. De cette façon, l'unité 11 peut maintenir la bandé en mouvement pour lire l'instruction qui doit être exécutée ensuite. Le tempis qui s'écoule entre l'indication de la fin de l'exécution de l'instruction-présente et l'arrivée, sur la bande, de l'instruction suivante à exécuter, doit être 35 suffisant pour laisser passer sous la tête de lecture-enregistrement (non représentée) un segment de bande suffisamment long pour permettre d'arrêter et de faire redémarrer la bande si l'exécution de l'instruction présente n'est pas terminée. Le contenu de la bande peut être imprimé sur l'organe 40 d'impression 27 et un programme peut être enregistré sur la 70 22763 22 2047016 bande en réponse aux ordres que 11 opérateur donne au moyen du clavier 21. Dans le cas où l'©n enregistre des informations sur la bande, les instructions suivantes sont introduites par l'opérateur au moyen du clavier 21 « 5 Le répertoire des instructions du calculateur suivant l'invention comprend des instructions servant à commander l'organe d'impression 27 et le clavier 21 et il peut contenir des instructions pour commander les unités périphériques qui peuvent être accouplées au calculateur de base. 10 Ces unités périphériques peuvent comprendre, par exemple, un lecteur et un perforateur pour bande de papier, une unité de transmission et d'autres unités nécessaires pour une application déterminée. Dans certains cas, le calculateur suivant l'invention 15 pourra superposer l'exécution d© deux ou plus de deux instructions. Par exemples dans l'exécution d'une première instruction de commande de la tabulation, lorsque la logique de commande 41 a envoyé les ordres au mécanisme de tabulation mécanique, le 20 calculateur peut exécuter une instruction suivante qui ne concerne pàs le mécanisme de tabulation sans devoir attendre que le dispositif mécanique, relativement lent, ait exécuté son opération. 70 22763 23 2047016 REVENDICATIONS 1) Calculateur électronique comprenant une unité arithmétique pouvant être commandée par une logique de commande, une mémoire de programme pour emmagasiner les instructions du programme à 5 exécuter et une adresse associée à chaque instruction, ladite logique produisant le transfert, une à chaque fois, d'une instruction de la mémoire de programme à un registre des instructions,où elles sont emmagasinées pendant l'exécution desdites Instructions, caractérisé en ce qu'il comporte un registre d'adresse indirecte 10 pouvant être commandé par ladite logique pour emmagasiner une adresse indirecte pour la transférer à une cellule dudit registre des instructions, ladite logique commandant ledit registre des instructions de manière à utiliser ladite adresse indirecte pour l'instruction qui est exécutée à ce moment et pour'l'emmagasiner 15 dans la mémoire de programme. " - 2) Calculateur selon la revendication 1, comprenant une mémoire à accès direct constituée par une série de registres pour emmagasiner les données que ladite unité arithmétique doit traiter, caractérisé en ce que ledit registre d'adresse indirecte est 20 associé.avec un des registres de ladite mémoire à accès direct. 3) Calculateur selon la revendication 2, caractérisé en ce que le registre de ladite mémoire à accès direct associé au registre d'adresse indirecte est utilisé comme registre d'entrée-sortie du calculateur. 25 4) Calculateur selon là revendication 5, caractérisé en ce que ledit registre d'adresse indirecte est constitué par une partie (un élément) de ladite mémoire à accès direct. 5) Calculateur selon la revendication 1, caractérisé en ce que ladite mémoire de programme est à accès cyclique, des moyens 30 étant prévus pour augmenter l'adresse emmagasinée dans ladite mémoire à accès cyclique après que l'instruction correspondante a été exécutée. 6) Calculateur selon la revendication 5» caractérisé en ce que ladite mémoire à accès cyclique comprend une bande magnétique 35 ayant au moins, une piste sur laquelle sont enregistrées les instructions et une partie sur laquelle sont enregistrées les adresses correspondantes, ladite mémoire à accès cyclique et ladite unité arithmétique étant commandées par ladite logique pour commander lesdits moyens d'augmentation. 40 7) Calculateur selon la revendication 6, caractérisé en ce 22763 24 204701b qusil comporte des moyens pour déterminer, un temps pré-établi après avoir transféré une instruction au registre des instructions, si l'exécution de ladite instruction transférée est terminée entièrement et pour commander des moyens d'arrêt du mouve-5 ment de ladite "bande si l'exécution de ladite instruction transférée n'est pas terminée. 8) Calculateur selon la revendication 7, caractérisé en ce que ladite logique comprend des moyens qui répondent à la présence d'une instruction de saut emmagasinée dans une zone prédéter- 10 minée dudit registre des instructions pour transférer l'instruction de saut a ladite partie de la "bande sur laquelle sont enregistrées les adresses. 9) Calculateur selon la revendication 3, dans lequel ladite logique répond à la présence d'une instruction de multiplication 15 dans ledit registre des instructions en multipliant" un multiplicande contenu dans le registre d'entrée-sortie par un multiplicateur contenu dans un premier registre de ladite mémoire d'accès direct et pour former le produit dans un deuxième registre de mémoire à accès direct, caractérisé en ce qu'il comprend un comp-20 teur qui compte les cMffres successifs dudit premier registre en commençant par le chiffre le moins significatif, un second compteur qui reçoit, sous la commande de ladite logique de commande de laditè logique de commande les chiffres successifs du premier registre indiqué par ledit compteur, ladite logique de 25 commande comprenant des moyens pour diminuer ledit second compteur pas à pas jusqu'à ce que ledit second compteur arrive à zéro^ l'arrivée à zéro dudit second compteur faisant augmenter ledit premier compteur et commandant ladite logique de manière à transférer le chiffre suivant du multiplicateur audit second compteur. 30 10) Calculateur selon la revendication 9» caractérisé en ce qu'il comporte des moyens qui provoquent le décalage circulaire du contenu dudit second registre d'un chiffre vers le chiffre le moins significatif jusqu'à l'arrivée à zéro dudit second compteur, et des moyens qui comptent le nombre des décalages exécutés par 35 lesdits moyens de décalage et qui terminent l'opération de multiplication quand le chiffre le moins significatif du produit est amené à la position du chiffre le moins significatif dudit second registre. 11 Calculateur selon la revendication 10, caractérisé en ce 40 que ledit second registre comprend une pluralité de cellules 70 22763 25 2047016 disposées en série chacune pouvant emmagasiner un caractère, lesdits moyens de décalage comprenant un registre pour un seul caractère et des moyens d'échange commandés par ladite logique pour échanger un caractère choisi d'une cellule dudit second re-5 gistre avec le caractère dudit registre d'emmagasinage d'un seul caractère» 12) Calculateur selon la revendication 11, caractérisé en ce que lesdits moyens d'échange échangent d'abord le caractère dudit registre d'emmagasinage d'un seul caractère avec le caractère de 10 la cellule d'une première extrémité dudit registre et, ensuite, les caractères emmagasinés, un à chaque fois, dans ledit registre d'emmagasinage d'un seul caractère avec les caractères des autres cellules dudit second registre en commençant par l'autre extrémité dudit registre, lesdits moyens pour compter signalant 15 à ladite logique le moment où tous les caractères dudit second registre ont été échangés, et arrêtant alors l'action desdits moyens d'échange. 13) Calculateur selon la revendication 12, caractérisé en ce que ladite logique comprend des moyens qui empêchent sélective- 20 mônt le transfert du caractère qui se trouve .dans la cellule de ladite première extrémité du second registre dans ledit registre d'emmagasinage d'un seul caractère pendant le premier échange de caractères.