FR 2012588 A1 19700320 FR 6923316 A 19690709 69 23316 1'. 2012588 La présente invention se rapporte à la, commande d'un ordinateur numérique, dans laquelle des programmes multiples sont emmagasinés dans une mémoire, dans laquelle l'ordinateur passe automatiquement d'un programme donné à un autre et/ou dans laquelle des u— 5 nités périphériques sont mises en action automatiquement et sous la commande des programmes. Sous un aspect plus particulier, l'invention vise l'établissement d'une unité intermédiaire.ou interface entre une unité de traitement centrale et une unité de traitement périphérique pour permettre à l'unité de traitement centrale d'être 10 desservie par l'unité de traitement périphérique avec un échange minimal entre elles. La vitesse à laquelle un ordinateur peut effectuer ses opérations s'est progressivement accrue depuis l'avènement des calculatrices numériques électroniques telles que la calculatrice Eniac 15 de l*Université de Pennsylvanie, qui est décrite dans le brevet des Etats-Unis d'Amérique N° 3 120 606 » - Les progrès de la technologie des composants ont été tels que les limitations de la vitesse des ordinateurs ne sont plus conditionnées par les composants eux—mêmes mais uniquement par les con— 20 ducteurs qui les interconnectent et qui, en raison de leur longueur peuvent introduire des limitations du fait du temps de propagation des données sur ces conducteurs. Le temps nécessaire pour effectuer une opération logique et certaines opérations arithmétiques a été réduit à une valeur inférieure à 100 nanosecondes environ. Les pro-25 grès de la technologie des composants ont donc permis l'exécution d'opérations, dans des unités arithmétiques, en des intervalles de temps inférieurs aux intervalles exigés par la mémoire et les dispositifs de transfert associés actuellement disponibles pour transmettre des données à l'unité arithmétique et pour recevoir des don-30 nées de celle-ci. On a constaté que lors du traitement de certains types de données, l'ensemble du fonctionnement d'une unité de traitement peut être considérablement amélioré en tirant avantage de la répétition une qu'impliquent de nombreuses opérations et qui porte sur tout ou/par-35 tie d'une même information. L'invention concerne un ordinateur particulièrement bien adapté au traitement d'ensembles importants de données bien ordonnées, et dans lequel la vitesse maximale des opérations dans l'unité arithmétique est utilisée. L'invention prévoit l'utilisation d'un dispositif de traite-kO ment conçu et construit de manière à comprendre, dans ses possibi 69 23316 2. 2012588 lités, la spécification d'opérations vectorielles complexes au niveau de la machine. L'ordinateur comprend une unité de traitement centrale contenant une unité arithmétique accessible à partir de la mémoire par l'intermédiaire dè deux canaux intermédiaires, et ac-5 cessibles à la mémoire par un unique canal intermédiaire auquel est associé un fichier à registres adressables par un programme, capable d'emmagasiner des paramètres vectoriels en langage machine. Les mémoires intermédiaires ou tampons comprennent des registres d'emmagasinage de paramètres et de travail, l'autre registre-étant monté 10 de manière à commander le fonctionnement de l'unité arithmétique„ Une instruction de programme est utilisée pour charger les paramètres vectoriels en langage machine désirés à partir du fichier à registres dans les registres d'emmagasinage intermédiaires, ce qui permet de traiter de larges ensembles de données directement et con— 15 tinuellement en réponse à la spécification occasionnelle au niveau de la machine des opérations vectorielles complexes. Lorsque,1'ordinateur présente une capacité de traitement aussi grande, il devient important de prévoir un appoint' souple en opérations périphériques de manière à maintenir le fonctionnement de 1'-20 ordinateur à pleine capacité ou tout au moins très près de cette condition idéale. L'une des solutions possibles d'un support efficace de ce genre pour ordinateur à grande vitesse est' décrite dans les brevets des Etats-Unis d'Amérique N° 3 337 .85^ et 3 3^6 851, où une unité de traitement centrale utilisant un programme établi par 25 l'utilisateur appelle un programme d'ordinateur pour les services d'entrée ou de sortie. L'ordinateur attend alors que le programme réponde. Le programme de l'ordinateur indique ensuite à l'utilisateur, c'est-à-dire à l'unité de traitement centrale, qu'il y a lieu d'effectuer une opération de commutation de contexte si une période 30 d'attente est prévisible. L'invention a pour but de réduire le temps supplémentaire utilisé pour l'échange entre les dispositifs de traitement lorsqu'un changement de mode de fonctionnement est nécessaire en prévoyant line interface entre l'unité de traitement centrale et l'unité de 35 traitement périphérique, qui puisse répondre à une instruction de programme transmise à l'unité de traitement centrale. En réponse à une telle instruction, l'unité de traitement centrale peut être automatiquement commutée d'un programme donné à un programme différent. Une telle commutation évite toute inactivité de l'unité de 40 traitement centrale pendant que 1'équipement périphérique rassemble 69 23316 3 2012588 les ressources nécessaires pour reprendre l'exécution du programme initial. Le dispositif de commutation automatique de contexte suivant l'invention comprend une unité de traitement centrale contenant une 5 unité arithmétique et des moyens pour emmagasiner temporairement des mots d'information et une série de programmes. Une unité de traitement périphérique répond à l'état d'exécution d'un programme donné par l'unité de traitement centrale et établit une condition pour commander la sélection, parmi les autres programmes, du programme 10 immédiatement suivant à utiliser par l'unité de traitement centrale. Des moyens prévus dans l'unité de traitement centrale transmettent un signal à l'unité de traitement périphérique pour indiquer s'il y a lieu de poursuivre les opérations sans changer de programme, ou s'il est nécessaire de procéder à un tel changement. Des moyens 15 sensibles au signal et à ladite condition établissent une commande de l'unité de traitement centrale par un nouveau programme sans autre échange au niveau de l'instruction. Sous un autre aspect de l'invention, l'unité de traitement centrale comporte un registre d'adresse fixe et des moyens de traite— 20 ment logique capables, en réponse à un ordre d'appel et d'attente de l'ordinateur de placer, dans un emplacement de mémoire réservé, un code qui correspond à un changement de programme. Une interface de l'unité de traitement périphérique est connectée à l'unité de traitement centrale pour autoriser la réponse à l'ordre d'appel et 25 d'attente, seulement si les conditions d'interface sont remplies. L'interface comprend des moyens interrogeant une série de conditions internes ainsi que des conditions présentes dans l'unité de traitement centrale et dans la mémoire, avec des dispositions permettant un changement de programme en réponse à une erreur dans 1'-30 unité de traitement centrale. D'autres caractéristiques de l'invention apparaîtront au cours de la description qui va suivre. Aux dessins annexés, donnés uniquement à titre d'exemples : - la Fig. 1 représente un agencement préféré des sous-ensem— 35 bles de l'ordinateur; - la Fig. 2 est un schéma symbolique de l'ordinateur de la Fig. 1 ; - la Fig. 3 est un schéma symbolique qui montre une commutation de contexte entre l'unité de traitement centrale et l'unité 40 de traitement périphérique des Fig» 1 et 2; 69 23316 2012588 — la Fig. 4 est un schéma plus détaillé du dispositif de commutation de la Fig. 35 — la Fig. 5 est un diagramme fonctionnel de l'unité de traitement centrale des Fig. 1 à 4; 5 - la Fig. 6 représente une mise en mémoire intermédiaire pour la transmission d'une série de données vectorielles à une unité arithmétique ; — la Fig. 7 est un schéma symbolique de l'unité de traitement centrale des Fig. 1 à 4} 10 - la Fig. 8 représente une unité arithmétique à double canali sation pour l'unité de traitement centrale des Fig. 1 et 2; — la Fig. 9 représente des éléments de l'unité de traitement centrale qui sont utilisés pour la commutation de contexte décrite à propos des Fig. 3 à 7 5 * 15 - la Fig. 10 représente schématiquement un partage du temps entre des dispositifs de traitement virtuels dans l'unité de traitement périphérique des Fig. 1 et 2; — la Fig. 11 est un schéma symbolique de l'unité de traitement périphérique ; 20 - la Fig. 12 montre l'accès à des éléments du registre de com munication de la Fig. 11} et, — la Figo 13 représente le programmateur de la Figo 11. Pour faciliter la compréhension de l'invention, on va tout d'abord décrire dans son ensemble l'ordinateur scientifique perfec— 25 tionné, dont l'invention fait partie; les sous-ensembles individuels et le rôle de l'invention, ainsi que son interaction avec d'autres sous-ensembles de l'ordinateur seront ensuite exposés. Comme on peut le voir sur la Figo 1, l'ordinateur comprend une unité de traitement centrale (CPU) 10 et une unité de traitement 30 périphérique (PPU) 110 Une mémoire est prévue à la fois pour la CPU 10 et pour la PPU 11 sous la forme de quatre modules 12 à 15 d'unités d'emmagasinage sur pellicule mince. De telles unités d'emmagasinage peuvent être du type connu dans la technique. Sous la forme représentée, chacun des modules d'emmagasinage traite 16 384 mots. 35 La mémoire présente une durée de cycle de 160 nanosecondes et, en moyenne, un temps d'accès de 100 nanosecondes. Les mots de mémoire qui comprennent 256 bits chacun sont subdivisés en huit zones de 32 bits chacune. En conséquence, les mots de mémoire sont emmagasinés en blocs de 8 mots dans chacun des mots de mémoire à 256 40 bits, soit 2 048 groupes de mots par module. 69 23316 5. •2012588 Outre les modules d'emmagasinage 12 à 1-5». il est prévu des modules 16 et 17 d'emmagasinage sur disque à accès rapide dont le temps d'accès est en moyenne d'environ 16, millisecondes. Une unité de commande de mémoire 18 est également prévue pour 5 commander le fonctionnement de la mémoire, l'accès à celle-ci et l'emmagasinage. Un lecteur de cartes 19 et une perforatrice de cartes 20 sont prévus pour l'entrée et la sortie. En outre, des appareils à bande 21 à 26 sont prévus pour des fonctions entrée/sortie (I/O) ainsi que pour 1'emmagasinage. Une imprimante par lignes 27 10 est également prévue pour le service de sortie sous la commande de la PPU 11. On remarquera que l'ordinateur comporte ainsi une hiérarchie de mémoire ou d'emmagasinage à quatre niveaux. L'emmagasinage d'accès le plus rapide s'effectue dans la CPU 10. Le second accès le 15 plus rapide est celui des unités d'emmagasinage à pellicule mince 12 à 15. L'emmagasinage le plus aisément disponible ensuite est celui des unités d'emmagasinage à disque 16 et 17* Enfin, les unités à bande 21 à 26 complètent l'ensemble d'emmagasinage. Une console de contrôle 28 à deux tubes à rayons cathodiques 20 (CRT) est prévue. La console 28 comprend deux unités terminales à clavier et à tube à rayons cathodiques adaptées qui sont commandées par la PPU 11 en tant que dispositifs entrée/sortie. Elle peut également être utilisée par un opérateur pour commander l'ordinateur à des fins de contrôle général du fonctionnement (Hardware et Soft-25 ware) et en vue d'une interaction avec l'ordinateur dans un sens opérationnel permettant à l'opérateur, au moyen de la console 28, d'interrompre un programme donné en un point choisi pour passer en revue une opération quelconque, son déroulement ou ses résultats, puis pour déterminer l'opération suivante. De telles opérations 30 peuvent impliquer un nouveau traitement des données ou préparer l'unité à subir un transfert en vue de fonctionner avec un programme différent ou encore de traiter des données différentes. Dans l'ordinateur représenté et brièvement décrit ci-dessus, il existe plusieurs combinaisons d'éléments qui coopèrent d'une ma-35 nière nouvelle et originale pour permettre une amélioration générale des capacités de traitement de données de l'ordinateur, en particulier lorsque ces données se présentent en ensembles bien ordonnés et en quantité considérable. L'une des combinaisons en question assure une commutation auto— 40 matique de contexte dans un ordinateur à dispositifs de traitement 69 23316 6. 2012588 multiples et à programmation multiple, dans lequel une relation u— nique en son genre est prévue entre l'unité de traitement centrale 10 et- l'imité de traitement périphérique 11. Sous un autre aspect de l'invention, il est prévu un disposi-5 tif spécial à l'intérieur de la CPU 10 pour permettre le traitement de données à une vitesse considérablement plus élevée que par le passé en utilisant des dispositifs intermédiaires pour l'introduction ordonnée de données dans l'imité arithmétique. Un autre aspect de l'invention implique une forme originale 10 d'acheminement qui permet d'obtenir un degré appréciable de parallélisme dans les opérations à l'intérieur et à l'extérieur de l'unité arithmétique. Un autre aspect encore vise des dispositions permettant un partage du temps entre une série de dispositifs de traitement vir-15 tuels inclus dans la PPU 11. Avant de décrire les caractéristiques de l'ordinateur énoncées ci—dessus individuellement, on va tout d'abord décrire, d'une manière plus générale, l'organisation de l'ordinateur en se référant à la Fig. 2. Les modules de mémoires 12 à 15 sont contrôlés par la 20 commande de mémoire 18 en vue de l'introduction de données de mots dans ces modules ou de l'extraction de données de mots à partir de ces modules. En outre, la commande de mémoire 18 assure le traitement logique, 11 ordonnancement et la protection des données à l'intérieur des modules de mémoire suivant les besoins. 25 Un conducteur omnibus de signal 29 s'étend entre la commande de mémoire 18 et une unité de canal d'information 30 qui est connectée aux disques 16 et 17. L'unité de canal d'information 30 a pour unique fonction de supporter la mémoire représentée sous la forme des disques 16 et 17 et est un simple calculateur à programme 30 câblé capable d'introduire des données dans les disques de mémoire 16 et 17 et d'extraire des données de ces disques. Sur ordre seulement, l'unité de canal dinformation 30 peut transférer des données de mémoire à partir des disques 16 et 17, par l'intermédiaire du conducteur omnibus 29 et de la commande de mémoire 18, aux modules 35 de mémoires 12 à 15» Deux canaux bidirectionnels s'étendent entre les disques 16 et 17 et l'unité de canal d'information 30 à raison d'un canal pour chaque unité à disque. Pour chaque imité d'information, un seul mot à la fois est transmis entre l'unité considérée et l'imité de canal 40 d'information 30. Les données provenant des modules de mémoires 12 69 23316 7. 2012588 à 15 sont transmises au canal d'information 30 de la commande de mémoire 18 et à partir de ce canal en blocs de huit mots. "Une mémoire à tambour magnétique 31 (représentée en trait interrompu) éventuellement prévue, peut être connectée à l'unité de 5 canal d'information 30 lorsqu'on désire augmenter la capacité de mémoire de l'ordinateur. Un unique conducteur omnibus 32 connecte la commande de mémoire 18 à la PPU 11o Cette dernière commande tous les dispositifs entrée/sortie l/O à l'exception des disques 16 et 17» Les données 10 provenant des modules de mémoires 12 à 15 sont transmises à la PPU et à partir de celle-ci, par l'intermédiaire de la commande de mémoire 18, en blocs de huit mots. Après une lecture dans la mémoire, une opération lecture/remise en mémoire est effectuée dans le module de mémoire intéressé. 15 Les huit mots sont "triés", un seul d'entre eux étant utilisé à l'intérieur de la PPU 11. Ce "triage" des mots d'information à l'intérieur de la PPU 11 est désirable en raison de l'utilisation relativement lente de données exigée par la PPU 11 et par les dispositifs I/O en comparaison de la CPU 10. Une cadence de transfert de 20 mots disponibles types pour un dispositif l/O commandé par la PPU 11 est d'environ 100.000 mots par seconde. La PPU 11 contient huit dispositifs de traitement virtuel, dont la majorité peut être programmée de manière à commander divers dispositifs parmi les dispositifs l/O, suivant les besoins. Les uni-25 tés à bande 21 et 22 fonctionnent avec une bande magnétique de 25,4 mm de largeur, tandis que les unités à bande 23 à 26 fonctionnent avec des bandes magnétiques de 12,7 mm pour améliorer les possibilités de l'ordinateur. La PPU 11 agit sur le programme contenu dans la mémoire et ex-30 écuté par des dispositifs de traitement virtuel d'une manière extrêmement efficace et assure en outre des commandes de contrôle de programme exécutés dans la CPU 10. La CPU 10 est connectée aux modules de mémoire 12 à 15 à travers la commande de mémoire 18 par l'intermédiaire d'un conducteur 35 omnibus 33» La CPU 10 peut utiliser les huit mots d'un bloc de mots obtenus à partir des modules de mémoire 12 à 15. En outre, la CPU 10 est capable de lire ou d'écrire n'importe quelle combinaison de ces huit mots. Le conducteur omnibus 33 traite trois mots toutes les 50 nanosecondes, à savoir deux mots d'entrée dans la CPU 10 et 40 un mot de sortie dans la commande de mémoire 180 69 23316 8. 2012588 Comme décrit plus loin, la CPU 10 est capable d'effectuer des opérations vectorielles composées directement, spécifiées au niveau de la machine sans qu'il soit nécessaire de traduire un langage de compilateur quelconque. Cette possibilité élimine la nécessité d'-5 instructions fragmentaires pour une longue suite d'opérations, car la CPU 10 exécute de longues opérations avec une instruction unique. Cette propriété de la CPU 10 est assurée par des opérations intermédiaires particulières, effectuées entre la commande de mémoire 18 et l'unité arithmétique de la CPU 10. En outre, une opéra-10 tion d'acheminement de données perfectionnée est assurée à l'intérieur de l'imité arithmétique contenue dans la CPU 10 et autour de cette unité. Un conducteur omnibus jh est prévu à la sortie de la commande de mémoire 18; il est destiné à être utilisé lorsque la capacité de 15 l'ordinateur doit être augmentée par addition d'autres unités de traitement ou analogues. Chacun des conducteurs omnibus 29, 32, 33 et 3^ est relié logiquement et indépendamment à chaque module de mémoire, ce qui permet de faire se chevaucher les cycles de mémoire pour augmenter la 20 vitesse de traitement. Un ordre de priorité fixe est de préférence établi entre les commandes de la mémoire pour permettre de satisfaire à des demandes contradictoires provenant des diverses unités connectées à la commande de mémoire 18. La commande de mémoire interne 18 a priorité sur tous les autres dispositifs, les conduc-25 teurs omnibus extérieurs 29, 32, 33 et 3h étant desservis ensuite et dans cet ordre. Les connecteurs entre les dispositifs de traitement et les conducteurs omnibus externes sont identiques, ce qui permet de placer les dispositifs de traitement dans n'importe quel autre ordre de priorité désiré. 30 La Fig. 3 représente sous forme de schéma symbolique le monta ge d'interface entre la PPU 11 et la CPU 10, destiné à assurer une commutation automatique de contexte de la CPU tout en établissant des prévisions pour éliminer un échange prenant du temps entre la PPU 11 et la CPU 10o 35 En fonctionnement, la CPU 10 exécute les programmes de l'uti lisateur sur la base de programmes multiples. La PPU 11 satisfait à des demandes des programmes en cours d'exécution par la CPU 10, de services d'entrée et de sortie. La PPU 11 établit en outre la séquence des programmes de l'utilisateur sur lesquels agit la CPU 10. 40 Plus particulièrement, les programmes de l'utilisateur exécu? 69 23316 9. 2012588 tés à l'intérieur de la CPU 20 exigent un service X/0 de la PPU 11, soit par tin ordre (SCP) "appel et exécution" de l'ordinateur, soit par un ordre (SCtf) "appel et attente" de l'ordinateur. Le programme d'utilisateur présent dans la CPU 10 émet l'un de ses ordres en ex-5 écutant une instruction qui correspond à l'appel. L'ordre SCP est émis par un programme d'utilisateur lorsque ce programme peut se poursuivre sans attendre le service l/O mais, pendant qu'il se déroule, la PPU 11 peut fixer ou adapter de nouvelles données ou un nouveau programme qui seront nécessaires à la CPU lors d'opérations 10 futures. La PPU 11 assure alors le service l/O en temps voulu à la CPU 10, en vue de son utilisation par le programme d'utilisateur. L'ordre SCP est appliqué, par l'intermédiaire du parcours de signal 41, à la PPU 11. L'ordre SCW est émis par un programme d'utilisateur à l'inté-15 rieur de la CPU 10 lorsqu'il n'est pas possible que le programme se poursuive sans que le service X/0 voulu soit assuré par la PPU 11. Cet ordre est émis par l'intermédiaire du conducteur 42„ Suivant l'invention, la PPU 11 analyse constamment les programmes contenus dans la CPU 10 et non en cours d'exécution, pour déterminer lequel 20 de ces programmes est celui qui sera exécuté le premier par la CPU 10. Après la sélection du programme suivant, un dispositif 44 d'affichage de commutation est actionné. Lorsque le programme en cours d'exécution par la CPU 10 atteint un état dans lequel une demande d'ordre SCW est émise par la CPU 10, l'ordre SCW est appliqué au 25 conducteur 42 de manière à transmettre un signal de commutation de contexte d'exécution à un conducteur 45. Plus précisément, le dispositif d'affichage de commutation 44 ouvre le commutateur 43 de sorte qu'une indication du programme suivant à exécuter est automatiquement transmise, par l'intermé-30 diaire du conducteur 45, à la CPU 10. Ceci permet au programme suivant ou à une partie du programme suivant, d'être automatiquement choisi et exécuté par la CPU 10 sans le retard qu'impliquerait généralement l'interrogation par la PPU 11 et une réponse ultérieure de la PPU 11 à la CPU 10. Si, pour une raison quelconque, la PPU 11 35 n'a pas encore fourni la description du programme suivant, le dispositif d'affichage de commutation 44 n'est pas actionné et le commutateur de contexte est bloqué. Dans ce cas, le programme d'utilisateur contenu dans la CPU 10 et qui a émis l'appel SCtf se trouve encore dans le dispositif de traitement d'utilisateur mais il est 40 dans un état inactif dans l'attente de la commutation de contexte. 69 23316 2012588 Lorsque cette commutation se produit, le dispositif d'affichage de commutation 44 est rétabli. La possibilité de prévision assurée par la PPU 11, en ce qui concerne le programme d'utilisateur contenu dans la CPU 10 et qui n'est pas en cours d'exécution permet d'ef— 5 fectuer la commutation de contexte automatiquement sans exiger aucun échange entre la CPU 10 et la PPU 11. Le temps mort de la CPU 10 est considérablement réduit par ce moyen qui élimine l'échange usuel dans l'ordinateur. Après la description générale ci-dessus du dispositif de com-10 mutation de contexte interposé entre l'unité de traitement centrale 10 et l'unité de traitement périphérique 11, on peut maintenant examiner la Fig. 4 où un montage plus détaillé a été représenté pour montrer d'autres détails du dispositif de commande de commutation de contexte. 15 Sur la Fig. 4, la CPU 10, la PPU 11 et l'unité de commande de mémoire 18 ont été représentées sous forme de diagramme fonctionnel. La CPU 10 produit un signal sur le conducteur 410 Ce signal est produit par la CPU 10 lorsqu'au cours de l'exécution d'un programme donné, elle atteint une instruction SCP. Ce signal apparaît alors 20 sur le conducteur 41 qui est appliqué à une porte OU 50* La CPU peut être programmée de manière à produire un signal SCW qui apparaît sur le conducteur 42. Le conducteur 42 est connecté à la seconde entrée de la porte OU 50 ainsi qu'à la première entrée d'une porte OU 51 <> 25 Un conducteur 53 s'étend entre la CPU 10 et la seconde entrée de la porte OU 51 et fournit un signal d'erreur en réponse à une opération donnée de la CPU 10 dans laquelle la présence d'une erreur implique une modification du fonctionnement de la CPU. Cette modification peut consister, par exemple, en une commutation de la 30 CPU, de l'exécution d'un programme en cours à celle d'un programme suivant. Sur.le conducteur 54, un signal d'échantillonnage peut apparaître à partir de la CPU 10. Le signal d'échantillonnage apparaît sous la forme d'un état de tension qui est établi par la CPU après 35 l'apparition de l'un quelconque des signaux sur les conducteurs 41, 42 ou 53. La présence d'un signal sur le conducteur 41 ou sur le conducteur 42 joue le rôle d'une demande adressée à la PPU 11 pour permettre à la CPU 10 de transférer un code donné à partir du program-40 me alors en cours d'exécution dans la CPU 10, dans la mémoire par 69 23316 2012588 l'intermédiaire de l'unité de commande de mémoire 18, par exemple par l'intermédiaire du parcours 33» Le but est d'emmagasiner Tin code dans une cellule réservée de la mémoire centrale 12 à 15 (Fig. 1) pour la durée de l'intervalle nécessaire à la PPU 11 pour interro-5 ger cette cellule puis exécuter une série d'instructions en fonction du code emmagasiné dans ladite cellule. Dans l'ordinateur suivant l'invention, un unique emplacement de mot est réservé dans la mémoire 12 à 15 en vue de son utilisation par l'ordinateur lors de l'opération de commutation et de commande de contexte. Le signal 10 apparaissant sur le conducteur 55 sert à indiquer à la PPU 11 qu'une séquence déclenchée soit par un signal SCP sur le conducteur 41, soit par un signal SCW sur le conducteur 42, a été achevée. Sur le conducteur 56 un signal représentant un ordre d'exécution est appliqué à partir de la PPU 11 à la CPU 10 et, comme dé-15 crit plus loin, ce signal est utilisé comme moyen d'arrêter le fonctionnement de la CPU 10 lorsque certaines conditions régnent dans la PPU 11. Sur le conducteur 57 apparaît un signal qui est produit par la CPU en réponse à la présence d'un signal SCW sur le conducteur 42 20 ou d'un signal d'erreur sur le conducteur 53» La PPU 11 déclenche une série d'opérations au cours de laquelle la CPU 10, après avoir atteint un point de son fonctionnement où elle ne peut plus continuer, est contrainte de transférer à la mémoire Tin code représentant l'état général de la CPU 10 au moment où elle interrompt son 25 fonctionnement sur ce programme. En outre, après un tel emmagasinage, un état entièrement nouveau est commuté dans la CPU 10 de façon que celle-ci puisse procéder à l'exécution d'un nouveau programme. Ce nouveau programme commence à l'état représenté par le code commuté. Lorsqu'un tel signal apparaît sur le conducteur 57> la PPU 11 30 est conditionnée de manière à permettre une réponse au signal suivant des conducteurs 41 , 42 ou 53. Comme on le verra plus loin, la PPU 11 contrôle alors l'état apparaissant sur le conducteur 57 et, en Éponse à un état donné sur ce conducteur, déclenche alors le programme immédiatement suivant et la transmission des données à u-35 tiliser par la CPU 10 lorsqu'un signal SCW ou un signal d'erreur apparaissent ensuite sur les conducteurs 42 et 53» respectivement. Le conducteur 45, représenté sur les Fig. 3 et 4, fournit à la CPU 10 une indication lui permettant d'exécuter l'ordre de commutation d'un programme à un autre. 40 Le signal du conducteur 58 indique à la CPU 10 que la céllule 69 23316 12. 2012588 de mémoire réservée et sélectée est disponible et peut être utilisée conjointement à l'émission d'un ordre SCP ou SCW. Le signal du conducteur 59 indique ''qu'en ce qui concerne l'unité de commande de mémoire, l'ordre de commutation a été exécuté 5 de sorte qu'une coïncidence de signaux sur les conducteurs 57 et 59 permet à la PPU 11 de préparer le changement d'état suivant de la CPU. Le signal du conducteur 60 est le même que celui qui était apparu sur le conducteur 45, mais le conducteur 60 applique ce signal à l'unité de commande de mémoire 18 pour permettre à celle—ci de 10 procéder à l'exécution de l'ordre de commutation. On remarquera que le conducteur omnibus 32 et le conducteur omnibus 33 de la Fig. 4 sont tous deux des canaux à mots multiples, capables de transmettre 8 mots ou 256 bits simultanément. On peut voir en outre sur la Fig. 4 que les composants de com— 15 mutation sensibles aux signaux des conducteurs 41, 42 et 53 à 60 sont matériellement disposés à l'intérieur de la PPU 11 et forment une section d'interface de celle-ci. Les circuits de commutation comprennent les portes OU 50 et 51» En outre, il est prévu des portes ET 61 à 67, une porte ET 43, une porte OU 68 et dix unités d'em-20 magasinage à basculeurs bistables 71 à 75» 77 à 80 et 44. La porte OU 50 est connectée par sa sortie à l'une des entrées de la porte ET 61. La sortie de la porte ET 61 est connectée à la borne d'actionnement de l'unité 71° La sortie 0 de l'unité 71 est connectée à une seconde entrée de la porte ET 61 et à une entrée 25 des portes ET 62 et 63» La sortie de la porte OU 51 est connectée à la seconde entrée de la porte ET 62, dont la sortie est connectée à la borne d'action— nement de l'unité J2, La sortie 0 de l'unité 72 est connectée à l'une des entrées de chacune des portes ET 61 à 63» Le signal d'échan-30 tillonnage du conducteur 54 est appliqué à la borne d'actionnement de l'unité 73. La sortie de l'unité 7 3 est connectée à l'une des entrées de chacune des portes ET 61 à 63. La fonction des unités 50, 51» 61 à 63 et 71 à 73 est de permettre l'établissement d'un code sur tin conducteur de sortie 81 35 lorsqu'un appel doit être exécuté et l'établissement d'un code sur le conducteur 82 si une fonction de commutation doit être exécutée. Initialement, cet état est établi par le signal d'échantillonnage du conducteur 54 qui alimente une entrée de chacune des portes ET 61 à 63. Un état d'appel n'apparaît sur le conducteur 81 que si les 40 états antérieurs de l'unité C71 et de l'imité S72 sont des états » 69 23316 13. 2012588 zéro. D'une manière analogue, un état de commutation n'apparaît sur le conducteur 82 que si les états antérieurs des unités 71 et 72 étaient des états zéros. Il est à noter qu'un conducteur de rétablissement 83 est con-5 necté aux unités 71 et 72, celles-ci étant commandées par le programme de la PPU 11, Les imités 71 et 72 sont rétablies après l'exécution complète des fonctions d'appel ou de commutation. On remarquera que les conducteurs 81 et 82 aboutissent aux bornes 84a et 84b d'un jeu de bornes 84 accessibles au programme. 10 D'une manière analogue, les conducteurs de sortie 1 des unités 7^-» 75» ^» 77 et 78 aboutissent à des bornes accessibles au programme. Bien que toutes les unités 71 à 75» 77 à 80 et 44 soient accessibles au programme, seules celles qui jouent un rôle en ce qui concerne l'opération considérée ici dans le cadré de la commutation de 15 contexte ont été représentées. Le conducteur 55 est connecté à la borne d'actionnement de l'imité 74. Ceci assure l'enregistrement ou l'emmagasinage d'un code représentant le fait qu'un appel a été exécuté. Après la détermination par la PPU 11 de ce fait indiqué à la borne 84d, un signal de 20 rétablissement est appliqué par l'intermédiaire du conducteur 85» Un conducteur d'insertion de programme 86 aboutit à la borne d'actionnement de l'unité 75» La sortie 1 de l'unité 75 engendre un signal sur le conducteur 56 et est reliée à une borne d'interrogation de programme 84^. On remarquera que l'unité 75 doit être réta-25 blie automatiquement par le signal de sortie de la porte OU 68. En conséquence, il est nécessaire que la PPU 11 soit capable de déterminer l'état de l'unité 75» L'unité 44 est connectée, par sa borne de rétablissement, au conducteur d'insertion de programme 88. La sortie 0 de l'unité 44 30 est connectée à l'une des entrées d'une porte ET 660 La sortie 1 de l'unité 44 est connectée à une borne d'interrogation 84f et, par l'intermédiaire d'un conducteur 89, à l'une des entrées de la porte ET 43. La sortie de la porte ET 66 est connectée à l'une des entrées de la porte OU 68. La seconde entrée de la porte OU 68 est 35 alimentée par l'intermédiaire de la porte ET 67o L'une des entrées de la porte ET 67 est alimentée par la sortie 0 de l'unité 77o La seconde entrée de la porte ET 67 est alimentée, par l'intermédiaire du conducteur 81, à partir de l'unité 71» L'entrée d'actionnement de l'unité 77 est alimentée par l'intermédiaire du conducteur d'in— 40 sertion 91® Sa borne derétablissement est alimentée par l'intermé 69 23316 14. 2012588 diaire du conducteur 92. La fonction des unités 44 et 77 et de leur montage associé est de permettre au programme présent dans la PPU 11 de déterminer, parmi les fonctions d'appel et de commutation é— tablies dans les unités 71 et72, lesquelles doivent être exécutées 5 et lesquelles doivent être inhibées. L'unité 78 est prévue pour permettre à la PPU 11 d'interroger et de déterminer quand une opération de commutation a été exécutée. L'unité 79 émet l'ordre sur les conducteurs 45 et 60 et cet ordre indique à la CPU 10 et à l'unité de commande de mémoire 18, respec— 10 tivement, qu'elles doivent procéder à l'exécution d'un ordre de commutation. L'unité 80 émet, sur le conducteur 58, un signal indiquant à la CPU 10 de procéder à l'exécution d'un ordre d'appel, mais seulement si les unités 71 et 77 ont leur sortie 1 exécutée. Ce qui précède montre la manière dont la commutation d'un pro— 15 gramme donné à un autre est effectuée, dans la CPU 10, automatiquement et en fonction de l'ensemble des conditions régnant dans la CPU 10 et sous la commande exercée par la PPU 11. Cette opération est dénommée "commutation de contexte" et est définie de façon plus précise par le tableau I ci—après qui décrit les opérations men— 20 tionnées ci-dessus sous forme d'équations. Les caractéristiques marquantes d'une interface entre la CPU 10 et la PPU 11, permettant de traiter les ordres SCW et SCP ainsi que les opérations de commutation de contexte exigées par des erreurs sont les suivantes : 25 (a) une demande de la CPU peut être classée comme étant : (1) une demande de commutation de contexte exigée par une erreur ; (2) un ordre SCP, ou (3) un ordre SCW; 30 (b) une seule demande de la CPU est traitée à la fois; (c) la commutation de contexte et/ou l'exécution d'un appel sont automatiques et n'exigent pas l'intervention de la PPU, grâce à 1'— utilisation d'affichages séparés "appel" et "commutation"; (d) une seule cellule de mémoire est utilisée pour la communication 35 des ordres SCP et SCW; (e) des signaux d'exécution séparés sont prévus pour les fonctions "appel" et "commutation" d'un ordre SCW de sorte que l'appel peut être traité avant l'exécution de la commutation; (f) une commande marche/attente de la CPU est prévue; 40 (g) une interruption du fonctionnement de la PPU est prévue lorsque 69 23316 15 2012588 des demandes de la CPU contrôlées automatiquement ont été exécutées. Cette interruption peut être supprimée. Dix bits CR, c'est-à-dire des bits d'un ou plusieurs mots du registre de communication 431 (Fig. 11) qui sera décrit plus loin, 5 sont utilisés pour cette interface. Ces bits peuvent être décrits comme suit en utilisant les symboles représentés sur la Fig. 4 î TABLEAU Io C Emmagasinage de demande d1 "appel" de contrôleur (signal de demande c') 10 S Emmagasinage de demande de commutation de contexte (signal de demande s1) L Emmagasinage demande/réponse charge C, S (signal de demande 1') Actionnement C = L C S c' ) Rétablissement par la PPU à la fin Actionnement S = L C S s1 ( du traitement de la demande 15 Actionnement L = 11 Rétablissement L = C S L AS Affichage de commutation automatique de contexte Actionnement AS s par la PPU lorsqu'une commutation automatique de contexte doit être autorisée 20 Rétablissement AS : par la PPU lorsqu'une commutation automati que de contexte ne doit pas être autorisée AC Affichage de traitement automatique d'appel Actionnement AC : par la PPU lorsqu'un traitement automatique d'appel doit être autorisé 25 Rétablissement AC : par la PPU lorsqu'un traitement automatique d'appel ne doit pas être autorisé R Affichage de marche de la CPU Actionnement R : par la PPU lorsqu'on désire que la CPU fonctionne ______ o _____ O 30 Rétablissement R = AS S + AC C CC Emmagasinage d'exécution d'appel (signal d'exécution cc') Actionnement CC = cc' Rétablissement CC : par la PPU lorsque C et S sont rétablis SC Emmagasinage d'exécution de commutation 35 (Signal d'exécution de la CPU s PSC )Signal d'exécution de la MCU s MCS Actionnement SC = PSC * MSC Rétablissement SC : par la PPU lorsque C et S sont rétablis PS Ordre à la CPU de procéder au déclenchement de la commutation 40 de contexte 69 23316 16. 2012588 Actionnement PS = AS * S Rétablissement PS : par la PPU lorsque C et S sont rétablis PC Ordre à la CPU de procéder au déclenchement de l'utilisation de l'appel de la mémoire. 5 Actionnement PC = AC * C Rétablissement PC : par la PPU lorsque C et S sont rétablis. Pour mieux mettre en évidence les opérations de commutation automatique de contexte, les tableaux IX et III représentent deux exemples d'opérations caractéristiques, en indiquant, dans chaque 10 cas, les options "appel seulement", "commutation seulement", ou "appel et commutation". TABLEAU II. Commutation automatique de contexte et traitement automatique d'appel, fonctionnement continu de la CPU. Temps ACASPCPS R LC&SC C S Baseuleur (Figure 4) i-- 11 00100000 il-- 11 0 0110000 iii-- 1100 1000 01 11 00100010 110 0 1000 11 iv— 1101 1000 01 11 10100010 1111 1000.11 v— .... 11 10 101010 1111 10 10 11 vi— 1101 1001 01 .... 1111101111 v ^ . / PPU redéclenche ï 15 où, temps i— attente de demande du CPU, ii— signal d'échantillonnage de la CPU reçue, iii— code de demande chargée, iv— processus de début, v— exécution d'appel terminée, et 20 vi— exécution de commutation terminée. 69 23316 17. 2012588 TABLEAU III. Commutation automatique de contexte et traitement « automatique d'appel inhibez, la CPU fonctionne jusqu'à ce qu'une commutation de contexte soit effectuée, Temps ACASPCPS. R.Lad'sC C S .Baseulçur (FIGURE .4) i— 10001000 00 11— 1000 1100 00 iii—pp^lOOO 1000 01 1000 100.0 1.0 1.0 0 0 1 0 0 0 1 1/jj, iv—Nc^efboi 0000 01 1010 100 0 1 0 10 1 1000011 v— / .... 1010 1010 10 10 1-10 01011 vi— 1001 0001 01 .... 1011001111 ntBB V PPU redéclenche 5 où, temps i— attente de demande du CPU ii« signal d'échantillonnage de la CPU reçue, iii— code de demande chargée, iv— processus de idébut, v— exécution d'appel terminée, et 10 vi—- exécution de commutation terminée. NOTE A : La PPU déclenche la commutation de contexte en réglant PS à 1. NOTE B : PC est réglé à 1 automatiquement dans ce cas0 Ceci permet un traitement automatique de l'appel. Toutefois, la PPU 15 doit déclencher la commutation en réglant PS à 1. L'un des buts fondamentaux de l'ordinateur auquel l'invention est appliquée est de pouvoir effectuer, non seulement des opérations scalaires mais encore une transmission optimale de données vectorielles à l'unité arithmétique ou à partir de celle-ci en vue 20 d'effectuer des opérations vectorielles spécifiées. Une opération vectorielle type est d'effectuer l'ADDITION A + B = C, où A, B et C sont des ensembles linéaires à une seule dimension. Au niveau des éléments, on a a.+ b. = c.. Les vecteurs A et i i x B sont transmis à travers l'unité arithmétique et les éléments cor-25 respondants sont ajoutés pour produire le vecteur de sortie C„ Une autre opération désirable dans cet ordinateur est d'effectuer la MULTIPLICATION A.B qui produit un résultat scalaire C. Le résultat est : 15 69 23316 18 n 2012588 c ■ - jX x L'idée fondamentale d'une instruction MULTIPLICATION peut être développée de manière à inclure la multiplication matricielle. Soient 5 deux matrices A et B. La multiplication est : rH 1—1 al? al3 - 'bll bi? 1—1 rH 1—1 V." 0 H ,ro C13 a?l a?? a?3 • b?i b2? b?3 — C?1 C?P C?3 a31 a3? b3l b3? b33 c3l c3? c33 10 B '11 (a-, .) . (b. i=l 1,1 i,D 1? ^ al,i ^ ou '11 b a., •al3l 'il "i? -ri?. où, plus généralement, 11 3?1 '13 3 S (al,i) (bl,3] ~ aHbll + al?b?l + al3b31 20 Cij P k=l aikbkj où p est l'ordre des matrices. La génération de l'élément peut être décrite comme le résultat de la multiplication de la première rangée (rangée l) de la 25 matrice A par la première colonne (colonne .1) de la matrice B. L'élément c^ peut être engendré en multipliant la rangée 1 de la matrice A par la colonne 2 de la matrice B. L'élément c^ peut être engendré en multipliant la rangée 1 de la matrice A par la colonne 3 de la matrice B. 30 En calcul vectoriel, le vecteur de rangée 1 de la matrice 1 est utilisé comme vecteur d'opérande pour trois opérations vectorielles portant sur les vecteurs de colonne 1, ? et 3, respectivement, de la matrice B pour engendrer' le vecteur de rangée 1 de la matrice C. L'ensemble de ce processus peut ensuite être répété. BAD ORIG»NAL 69 23316 19. 2012588 deux fois en utilisant, en premier lieu, le vecteur de rangée 2 de la matrice A et en second lieu, le vecteur de rangée 3 de la matrice A pour engendrer les vecteurs de rangée 2 et 3 de la matrice C. 5 L'instruction vectorielle de base MULTIPLICATION peut être u- tilisée à l'intérieur d'un ensemble de deux boucles pour effectuer la multiplication matricielle» Ces boucles peuvent être respectivement dénommées "boucle intérieure" et "boucle extérieure". Dans l'exemple de la multiplication matricielle, la boucle intérieure se-10 rait utilisée pour indexer d'élément en élément une rangée de la matrice C. La boucle extérieure serait utilisée pour indexer de rangée en rangée la matrice C. Les opérations schématiquement représentées sur la Fig. 5 et décrites en se référant à cette figure sont traitées et optimali-15 sées dans une CPU réalisée comme indiqué sur la Fig. 6. Dans l'ordinateur décrit ici, la CPU 10 est capable de traiter des données à une cadence largement supérieure à celle à laquelle ces données peuvent être extraites de la mémoire et emmagasinées dans celle-ci. En conséquence, pour permettre à la mémoire et à son 20 fonctionnement de tirer avantage de la vitesse maximale possible dans la CPU 10 pour le traitement de grands ensembles de données bien ordonnées, comme par exemple dans les opérations vectorielles, une forme particulière d'interface est prévue entre la mémoire et l'unité arithmétique, avec une commande compatible. Le dispositif 25 utilise une unité tampon de mémoire schématiquement représentée sur la Fig. 6 où les modules de mémoire sont connectés, par l'intermédiaire de l'unité de commande de mémoire centrale 18, à la CPU 10. La CPU 10 comprend une unité tampon de mémoire 100 et une unité arithmétique vectorielle 101. Le canal 33 interconnecte la 30 commande de mémoire 18 et la CPU 10, et en particulier l'unité tampon 100. Trois conducteurs, 100a, 100b et 100tï servent à connecter l'unité tampon de mémoire 100 à l'unité arithmétique 101. Les conducteurs 100a et 100b servent à appliquer des opérandes à l'imité 101. Le conducteur 100c^ sert à renvoyer le résultat des opérations 35 effectuées dans l'imité 101 à l'unité tampon de mémoire et, de là par l'intermédiaire de la commande de mémoire, aux modules 12 à 15 de la mémoire centrale. La Fig. 7 représente sous une forme plus détaillée et d'une meulière fonctionnelle, la nature de l'imité tampon de mémoire utili-kO sée pour les communications à grande vitesse vers l'unité arithmé 69 23316 20. 2012588 tique et à partir de celle-ci. Comme précédemment décrit, l'emmagasinage dans la mémoire de l'ordinateur s'effectue en blocs de 256 bits, avec 8 mots de 32 bits par bloc. Ces mots d'information sont ensuite transmis, de la 5 mémoire à une unité 18a de traitement logique de conducteur omnibus de mémoire, par l'intermédiaire de la commande de mémoire centrale 18 et, de là, par l'intermédiaire du canal 33® Comme précédemment décrit, l'unité tampon de mémoire 100 est construite en trois canaux. Le premier canal comprend les unités tampons 102 et 10 103 en série entre l'unité de traitement logique 103 et le conducteur omnibus entrée/sortie 104 pour l'unité arithmétique 101. D'une manière analogue, le second canal comprend les unités tampons 105, 106 et le troisième canal comprend les unités 107 et 108. Les premier et second canaux établissent des parcours pour les opéran— 15 des transmis à l'unité arithmétique 101 et aux unités tampons 107 et 108. Le troisième canal assure la transmission des résultats à l'unité de mémoire centrale. L'unité tampon 102 est conçue de manière à pouvoir recevoir et emmagasiner des groupes de 8 mots à la fois. Un groupe est reçu 20 pour chaque série de 8 impulsions de rythme. Chaque groupe est transféré à l'unité tampon 103 en synchronisme avec le tanqpon 102. Des mots de 32 bits sont transférés, de l'unité tampon 103 à l'unité arithmétique 101, à raison d'un seul mot à la fois et à raison d'un mot pour chaque impulsion de rythme. On remarquera que, sui-25 vant la nature de l'opération effectuée par l'unité 101, un résultat complet peut être transféré, par l'intermédiaire des tampons 108 et 107, à la mémoire pour chaque impulsion de rythme. L'ordinateur est capable d'effectuer des opérations à taux d'utilisation élevé de ce type aussi bien que des opérations à des taux de deman-30 de inférieurs. Un exemple de la demande maximale imposée aux unités tampons et l'unité arithmétique est.une addition vectorielle dans laquelle deux opérandes seraient appliqués à l'unité arithmétique 101 à partir des unités 103 et 106 pour chaque impulsion de rythme et dans laquelle une somme serait transmise de l'unité arithmétique 35 101 à l'unité tampon 108 pour chaque impulsion de rythme. Le montage de la Fig. 7 comprend également un fichier de registres adressables comprenant des registres de base 120, 121, des registres généraux 122, 123 et un registre d'index 12k ainsi qu'un fichier de paramètres vectoriels 125. Chacun des registres 120 à kO 125 est accessible pour l'unité arithmétique 101 par 1'intermédiai— » 69 23316 21. 2012588 re du conducteur omnibus 104 et de l'unité d'emmagasinage et d'extraction d'opérande 126. Une Unité de commande arithmétique 127 est également prévue et montée de façon qu'elle soit sensible au fonctionnement d'une unité tampon d'instruction 127a. Une unité 5 d'index 126a fonctionne conjointement à l'unité tampon d'instruction 127a en réponse à des instructions reçues de l'unité 128. Des fichiers d'instruction 129 et 130 établissent dès parcours pour la transmission d'instructions, dè la mémoire centrale à l'unité d'extraction d'instructions 128. 10 Une unité de traitement logique d'emmagasinage et de recherche d'état 131 est prévue, avec accès à toutes les unités de la Fig. 7 à l'exception des fichiers d'instruction 129 et 130» et à partir de toutes ces unités. L'unité 131 communique également avec l'unité de traitement logique de conducteur omnibus de mémoire 103. C'est le 15 fonctionnement de l'unité de traitement logique d'emmagasinage et de recherche d'état 131 ÇLui, en réponse à un ordre SCW apparaissant sur le conducteur 42 ou à un signal d'erreur apparaissant sur le conducteur 53 (Fig. 4) provoque le transfert de l'état de l'ensemble de la CPU 10 à la mémoire et l'introduction d'un nouvel état à 20 la CPU 10 en vue du déclenchement d'opérations sous l'action d'un nouveau programme. Un fichier d'emmagasinage de commande de tampon de mémoire est prévu dans l'unité tampon de mémoire 100. Ce fichier est subdivisé en un fichier-registre de paramètres 132 et un fichier-registre d'-25 emmagasinage de travail 133* Le fichier de paramètres est connecté, par l'intermédiaire d'un canal 134 et du conducteur omnibus 104, au fichier de paramètres vectoriels 125» Le contenu du fichier de paramètres vectoriëls est alors transféré dans le fichier d'emmagasinage de commande de tampon de mémoire 132 en réponse à l'extrac-30 tion d'une instruction vectorielle générique de la mémoire et au transfert de cette instruction dans l'unité 1280 A titre d'exemple, on supposera qu'on se trouve en présence d'une acquisition d'une telle instruction vectorielle générique par l'unité 128. Un transfert est immédiatement effectué, en langage machine, pour transfé-35 rer les paramètres du fichier 125 au fichier 132. Les opérations alors en cours d'exécution dans les étages suivants 126a, 127a et 126, 127 de la CPU 10 sont en fait "canalisées". Plus particulièrement, au cours de l'intervalle pendant lequel l'unité arithmétique 101 effectue une opération donnée, les unités 40 126 et 127 préparent l'opération suivante en vue dé -son exécution 69 23316 22. 2012588 ■ par l'unité arithmétique 101. Pendant le même intervalle de temps, les unités 126a. et 127a préparent l'exécution de l'opération suivante par les unités 126 et 127. Toujours pendant ce même intervalle, l'unité d'extraction d'instruction 128 extrait l'instruction 5 suivante. Il s'agit de l'instruction qui doit être exécutée, trois opérations plus tard, par l'unité arithmétique 101. Ainsi, dans cette structure de canalisation effective, quatre instructions sont simultanément en cours de traitement, une à chacun des niveaux T1, T2, T^ et T^ (Fig. 7)„ 10 On remarquera que la combinaison du fichier de paramètres.vec toriels 125 et du fichier d'emmagasinage de commande de tampon de mémoire 132 assure la possibilité de spécifier des opérations vectorielles complexes au niveau langage machine, sous la commande du programme. 15 Le fonctionnement du fichier de paramètres 132 et du fichier d'emmagasinage de travail 133 sera mieux compris en tenant compte du fait que les légendes utilisées dans les fichiers 132 et 133 (Fig. 7), ont la signification indiquée dans le tableau XV ci-après . 20 TABLEAU IV. Fichier de paramètres 132. SA : Adresse initiale dans la mémoire centrale pour la lecture du vecteur A. SB : Adresse initiale dans la mémoire centrale pour la lecture 25 du vecteur B. SC : Adresse initiale dans la mémoire centrale pour l'emmagasinage du vecteur C. NV : Nombre d'éléments d'une opération vectorielle fondamentale. NI : Nombre de tours de la boucle intérieure. 30 N0 î Nombre de tours de la boucle extérieure. Al : Incrément d'adresse pour la boucle intérieure. î Adresse en incrément pour la boucle extérieure. Fichier de travail 133 pour les vecteurs A, B et C. AA : Adresse actuelle du vecteur A. 35 BB : Adresse actuelle du vecteur B. CC : Adresse actuelle du vecteur C. 69 23316 23. 2012588 Fichier de "travail 133 pour le compte d'index actuel relatif à la longueur du vecteur, boucle intérieure et boucle extérieure. 10 15 VC : Compte du vecteur. XC : Compte de la boucle intérieure. 0C z Compte de la boucle extérieure. Les paramètres sont chargés dans les registres à partir de la mémoire centrale antérieurement à l'exécution d'une instruction vectorielle. Les vecteurs sont transmis à travers l'unité arithmétique, en tenant compte de la description paramétrique ainsi établie dans la CPU 10. Un exemple de multiplication matricielle relative à l'équation précédemment indiquée va maintenant être décrit de façon plus détaillée, les emplacements de mémoire éteint tels qu'indiqué, dans le tableau V. emplacement TABLEAU V. emplacement % b. - emplacement rr. c.. k-r? k-rS kv7 k-^3 -- -j — "21 5 "22 ~23 -4- "32 "33 i-r? lyp 2,-7 £+3 >12 '55 -3 s* '12 'l'3 '21 '22 r- c~. La matrice A est supposée pré—emmagasinée aux emplacements k à k + 8 par rangées. La matrice B est supposée pré-emmagasinée aux emplacements JL à £> + 8 par colonnes. La matrice C doit être emma-20 gasinée aux emplacements m à m + 8 par rangées. Ces affectations sont présentées dans le tableau V. A 1 * origine on a : SA = k = 3 1A = 1 SB = M :!I = 3 = 3 SC = m Np = 3 BAD ORIGINAL 69 23316 24. 2012588 La séquence d'adresses et le procédé de calcul du vecteur A sont indiqués dans le tableau VI „ TABLEAU VI. A A phase opérations VC IC gC adresse 1 SA—>AA NV-1_>VC 2 2 2 k NI-1-?IC Njtf-1->0C 2 AA+1—>AA 1 2 2 k+1 VC-1 ->VC 3 AA+1—>AA 0 2 2 k+2 VC-1->VC 4 SA—>AA NV-1_>VC 2 12 k IC-1 -JCC 5 AA+1 _-,AA 1 1 ? k+1 VC-1->VC 6 AA+1 —>AA " 0 12 k+2 VC-1 —>VC 7 SA_tAA NV-1 _>VC 2 0 2 k IC-l-pIC 8 AA+1 —>AA 10 2 k+1 VC-1_^C 9 AA+1—>AA 0 0 2 k+2 VC-1_?VC 10 SA+40kftA,SA NV-l^VC 221 k+3 NI-l^EC j^C-l-^C 11 AA+1—?AA 1 2 1 k+4 VC-1*->VC 12 AA+1 —>AA 0 2 1 k+5 VC-1 __,VC 13 SA-v>AA NV-1 -->VC 2 11 k+3 IC-1 ->IC 14 AA+1—>AA 111 k+4 VC-1-?VC 15 AA+1~>AA 0 11 k+5 VC-1->VC 16 SA ->AA NV-1-J>VC 2 0 1 k+3 IC-l-^IC 17 AA+l-^AA 1 0 1 k+4 VC-1-?VC 18 AA+1 -?AA 0 0 1 k+5 VC-l^VC 19 SA+û -?AÂ,SA NV-1->VC 2 2 0 k+6 NI-l^EC $C-1-#C 20 AA+1 ->AA 12 0 k+7 VC-1'->VC 21 AA+1 -oAA 0 2 0 k+8 VC-1 _?VC BAD ORIG'NAi, 69 23316 25o 2012588 / A phase opérations VC IC «C adresse 22 SA ~>AA NV-1 ~>VC 2 1 O k+6 IC-1 ->IC 23 AA+1 ->AA 11 O k+7 VC-1->VC 24 AA+1 -?AA O 1 O k+8 VC-1->VC 25 SA ->AA NV-] >VC 2 0 0 k+6 IC-l^IC 26 AA+1 —>AA 1 0 O _ k+7 VC-1 ->VC 27 AA+1 ->AA 0 0 0 k+8 VC-1_->VC Un processus analogue est adopté pour les vecteurs B et Cc La séquence d'adresses du vecteur B est analogue à la séquence d'adresses du vecteur A à cela près que 1 est l'adresse initiale au lieu de k. La séquence du vecteur C est m, m + 1 , .. , m + 8 10 Après la description ci-dessus des dispositions adoptées dans l'ordinateur suivant l'invention pour fournir des données ordonnées à une cadence rapide, on comprendra qu'il est désirable de créer une unité arithmétique (AU) construite et agencée de manière à traiter les données aux cadences rendues possibles grâce au dispo-15 sitif de stabilisation par tampons décrits et représentés sur les Fig. 6 et 7. Le dispositif représenté sur la Fig. 8 est uneunité arithmé- 69 23316 26. 2012588 tique formée d'unités spécialisées et capable d'être sélectivement ; placée suivant différentes configurations de canalisation à l'intérieur de l'unité arithmétique 101. L'unité arithmétique 101 est subdivisée en plusieurs parties qui sont harmonieuses et compati— 5 bles avec les fonctions qu'elles exécutent, chaque unité fonctionnelle de la AU 101 étant munie de sa propre mémoire. Un multiplicateur inclus dans la AU 101 est d'un type qui permet d'obtenir un produit pour chaqué impulsion de rythme. Dans la AU 101, les retards que la multiplication implique généralement lorsqu'on utilise 10 des processus itératifs sont évités. La AU 101 comprend deux canalisations parallèles 300A et 300B. Ces canalisations sont disposées de part et d'autre d'une frontière centrale 300. Les conducteurs 300a, 300b, 300c^ et 300d représentent les canaux d'entrée d'opérande. 15 La canalisation d'unité arithmétique 300A comprend une unité de soustraction d'exposant 302 montée en série, par l'intermédiaire du conducteur 303, avec une unité d'alignement 304. L'unité d'alignement 304 est connectée, par l'intermédiaire du conducteur 305, à une unité d'addition 306 qui est à son tour connectée, par l'in-20 termédiaire du conducteur 307» à. une unité de normalisation 308. Un conducteur 309 connecte la sortie de l'unité de normalisation 308 à. une unité de sortie 310. Lés canaux d'opérande 300a et 300cï sont également connectés à une unité de prénormalisation 311- et, de là, à un multiplicateur 25 312, dont la sortie est connectée à l'une des entrées de l'unité d'addition 306, par l'intermédiaire du conducteur 313» Un accumulateur 314 est alimenté par un premier conducteur d'entrée 315 partant de la sortie de l'unité d'alignement 304, par un second conducteur d'entrée 316 partant d'une sortie de l'unité d'addition 30 306 et par un conducteur 317 partant de la section de canalisation 300B„ L'accumulateur 314 comporte un premier conducteur de sortie 318 aboutissant à l'une des entrées de l'unité de soustraction d'exposant 302. Un second conducteur de sortie 319 aboutit à l'unité de sortie 310. 35 L'unité de soustraction d'exposant 302 est connectée, par l' intermédiaire du conducteur 320, à l'entrée de l'unité de sortie 310. D'une manière analogue, les sorties de l'unité d'alignement 304 et de l'unité d'addition 306 sont connectées au conducteur 320. L'unité d'addition 306 est connectée, par l'intermédiaire du con-40 "ducteur 321, à une quatrième entrée dé l'unité de soustraction d' 69 23316 27. 2012588 exposant 302. En plus de l'entrée de l'unité d'addition 306 alimentée par l'unité d'alignement 304 et à partir du multiplicateur 312, une troisième entrée est alimentée, à partir de la section 300B, par l'intermédiaire du conducteur 322. 5 Un aspect important de la AU 101, réside en ce que les canaux d'opérande 300a et 300c^ sont connectés, par l'intermédiaire des conducteurs 323 et 324, à chacune des unités de la section de canalisation 300A, à l'exception de l'accumulateur 314. Plus précisément, les conducteurs 323 et 324 sont connectés à l'entrée du mul-10 tiplicateur 312 par l'intermédiaire de conducteurs 325« D'une manière analogue, les conducteurs 326 appliquent les opérandes à l'unité d'alignement 304. En outre, les opérandes apparaissant sur les canaux 300a et 300ç^ sont directement transmis à l'entrée de l'unité d'addition 306 par l'intermédiaire des conducteurs 327, et à l'en-15 trée de l'unité de normalisation 308 par l'intermédiaire de conducteurs 328. Les conducteurs 323 et 324 transmettent directement les opérandes à l'unité de sortie 310. Un traitement logique de commande sous le contrôle d'instructions de machine ou de programme sert à structurer les canalisations. 20 Dans la section 300B, les conducteurs 300b et 300d sont con nectés à une unité de soustraction d'exposant 330, elle-même connectée, par l'intermédiaire d'un conducteur 331, à l'entrée d'une unité d'alignement 332 à son tour connectée, par l'intermédiaire du conducteur 333» à l'entrée d'une unité d'addition 33k, La sortie de 25 l'unité d'addition 334 est connectée, par l'intermédiaire d'un conducteur 335, à une unité de normalisation 336, dont la sortie est connectée, par l'intermédiaire du conducteur 337» à. une unité de sortie 338. Les opérandes apparaissant sur les canaux 300b et 300d sont également transmis à l'entrée d'une unité de pré-normalisa-30 tion 340, dont la sortie est directement connectée à un multiplicateur 341. En outre, chacun des canaux 300b et 300d est connecté, par l'intermédiaire de conducteurs respectifs 342 et 343» à l'unité d'alignement 332, au multiplicateur 341, à l'unité d'addition 334, à l'unité de normalisation 336 et à l'unité de sortie 338. 35 La sortie de l'unité d'addition 334 est connectée, par l'in termédiaire d'un conducteur 344, à l'entrée d'une unité d'accumulation 345« En outre, la sortie de l'unité d'alignement 332 est connectée, par l'intermédiaire du conducteur 346, à l'une des entrées de l'unité d'accumulation 345» L'unité d'accumulation 345 comporte 40 une sortie connectée, par l'intermédiaire du conducteur 317, à 69 23316 28. 2012588 l'unité d'accumulation 314 disposée dans la section de canalisation 300A. En outre, la sortie de l'accumulateur 345 est connectée, par l'intermédiaire d'un conducteur 347» à l'unité de sortie 338. 5 Une troisième sortie de l'accumulateur 345 est connectée par l'intermédiaire d'un conducteur 348, à une autre entrée de l'unité de soustraction d'exposant 330* L'une des sorties de l'unité de soustraction d'exposant 330 est connectée, par l'intermédiaire d'un conducteur 350, à l'unité de soustraction d'exposant 302 disposée 10 dans la section de canalisation 300A. Le signal de sortie de l'unité de soustraction d'exposant 330 apparaissant sur le conducteur 331 est également appliqué, par l'intermédiaire d'un conducteur 351, à l'unité de sortie 338. D'une manière analogue, les signaux de sortie de l'unité d'alignement 332 15 et de l'unité d'addition 334 sont transmis, par l'intermédiaire du conducteur 351, à l'unité de sortie 338. Un signal de sortie de l'unité d'addition 334 est également transmis, par l'intermédiaire d'un conducteur 352, à l'une des entrées de l'unité de soustraction d'exposant 330. Un signal de sortie de l'unité multiplicatrice 341 20 est transmis, par l'intermédiaire d'un conducteur 353» à une seconde entrée de l'unité d'addition 334 ainsi qu'à une entrée de l'unité d'addition 306 située dans la section de canalisation 300A. L'unité de sortie 338 est connectée, par un conducteur 355, à l'unité de sortie 310 située dans la section de canalisation 300A. 25 La AU 101 suivant l'invention comprend donc une série d'unités spécialisées capables chacune d'effectuer une opération arithmétique différente sur des signaux d'entrée d'opérande. La AU 101 offre de larges possibilités en ce sens que des unités spécialisées choisies peuvent être connectées de manière à exécuter toute une varié-30 té de fonctions arithmétiques différentes en réponse à un programme d'instructions. Une fois que la configuration de connexion choisie à l'avance est réalisée, des signaux d'opérande sont transmis de façon séquentielle par l'intermédiaire des connexions établies de façon que les unités spécialisées choisies agissent simultanément 35 sur des signaux d'opérande différents pendant chaque période de rythme. Ce mode de fonctionnement dit ici "canalisation" assure des opérations rapides et efficaces sur des séries de données. En fonctionnement, et pour mettre en évidence l'opération la plus exigeante de la canalisation, on remarquera qu'il existe qua-40 tre phases fonctionnelles distinctes qui constituent line addition » 69 23316 29. .2012588 à virgule flottante s soustraction d'exposant, alignement de fraction» addition de fraction, post—normalisation. Ces phases sont représentées sur le tableau VIX. TABLEAU VII. *0 fcl 5 Soustraction d'exposant — ——, 11 Alignement de fraction Addition de fraction Post-normalisation Lors de l'addition de deux séries de nombres ou vecteurs, com-10 mençant à l'instant t^, chaque section de l'additionneur est vacante. A l'instant t^, la première paire de nombres, a^ et b^, subi la phase initiale de soustraction d'exposant. A l'instant t^, la seconde paire de nombres, a^ et b^, subit la soustraction d'exposant. La première paire de nombres a^ et b^ est maintenant arrivée à la 15 phase suivante, alignement de fraction. Ce processus se poursuit jusqu'à ce que lorsque la canalisation est pleine, à l'instant t^, chaque section traite une paire de nombres. On remarquera que l'unité arithmétique 101 est fondamentalement organisée en 6k bits. Les sous-unités de l'unité arithmétique 20 de la Fig. 8, autres que les unités de multiplication 312 et 3^1 assurent l'entrée et la sortie de 32 bits d'information, tandis que les unités de multiplication 312' et 3^-1 r assurent la sortie de 6k bits d'information. À l'exception de la multiplication et de la di— . vision, toutes les fonctions exigent le même temps pour des opéran-25 des de longueur double, que pour des opérandes de longueur simple. Des nombres à virgule fixe sont de préférence représentés avec la notation du complément à deux tandis que les nombres à virgule flottante sont représentés en signe et en grandeur avec un exposant représenté par un nombre supérieur à 6k, 30 Une caractéristique remarquable de l'unité arithmétique est la structure de canalisation qui permet un traitement efficace d'instructions vectorielles. Les subdivisions exclusives de la canalisation fournissent chacune un signal de sortie pour chaque impulsion de rythme. Chaque section peut assurer l'exécution de parties d'au-35 très instructions. Toutefois, les sections sont subdivisées comme représenté pour raccourcir la durée d'une addition à virgule flottante. Chaque étage de l'unité arithmétique 101, autre' que l'étage multiplicateur contient deux sections qui peuvent être combinées. Les sections 302 et 330 forment l'un de ces étages. Les sections H a3b3 a4b4 a2hP a,b3 aiV a2b2 - albl 69 23316 30. 2012588 peuvent fonctionner séparément ou être couplées pour former un étage de longueur double. L'étage d'alignement 304, 332 est utilisé pour effectuer des décalages vers la droite en plus de l'alignement de la virgule 5 flottante pour des opérations d'addition. L'étage de normalisation 308—336 est utilisé poUr toutes les opérations de normalisation nécessaires et assure en outre des décalages vers la gauche des opérandes à virgule fixe. L'étage d'addition 306—334 utilise de préférence des opérations de prévision de second niveau pour effectuer, 10 aussi bien des additions à virgule fixe qùe des additions à virgule flottante. Cette section est -également utilisée pour additionner la pseudo-somme et le report qui est une information de sortie de la section de multiplication. Lors du traitement de vecteurs, 1'addition à virgule flottante 15 est désirable pour permettre l'utilisation d'une large gamme dynamique. Bien que la ATI 101 soit capable d'effectuer aussi bien une addition à virgule fixe qu'une addition à virgule flottante, l'économie de temps et d'opération assurée par l'invention est mise en évidence d'une manière particulièrement frappante dans le cas de 20 l'addition à virgule flottante (tableau Vil). L'unité de multiplication 312 est capable d'effectuer une multiplication de 32 bits par 32 bits en une seule période de rythme. Les multiplicateurs 312 et 341 sont de préférence du type décrit par Wallace dans un article intitulé ; "A suggestion for a fast 25 multiplier» PGEC, Vol. EC-13, p. 14-17, Février 1964„ De tels multiplicateurs permettent l'exécution des multiplications en une u— nique impulsion de rythme et, par conséquent, l'unité est harmonisée avec le concept sur lequel la AU 101 est basée. Les multiplicateurs sont également les opérateurs de base 30 pour l'instruction de division. Des opérations de longueur double pour ces deux instructions exigent plusieurs itérations à travers l'unité de multiplication pour obtenir le résultat. Les multiplications à virgule fixe et les multiplications à virgule flottante de longueur simple sont disponibles après un seul passage seulement à 35 travers le multiplicateur. L'information de sortie de l'unité de multiplication 312 est formée de deux mots de 64 bits chacun, à savoir la pseudo-somme et le pseudo-report, dont des bits choisis sont additionnés dans la section d'addition 306 pour obtenir le produit. Lorsqu'une multiplication de longueur simple doit fournir 40 un produit de longueur double, le multiplicateur 3-41 produit une 69 23316 3). 2012588 pseudo-somme à 6k bits et un pseudo-report à 6k bits qui sont ensuite additionnés dans l'étage 306, 33^ pour assurer l'obtention du produit de longueur double. Une multiplication de longueur double peut être effectuée en canalisant les trois éléments suivants : 5 étage de multiplication 3^1, étage d'addition 306, 33^, et étage accumulateur 31^, 3^5» L'étage accumulateur 31^, 3k5 est analogue à l'unité d'addition et est utilisé pour des cas spéciaux qui nécessitent la formation d'un total fluctuant. La multiplication de longueur double exige un tel total fluc-10 tuant du fait que quatre multiplications séparées de 32 bits par 32 bits sont effectuées puis totalisées dans 1'accumulateur aux positions de bit appropriées. Une multiplication de longueur double exige en conséquente 8 impulsions de rythme pour fournir une information de sortie, tandis que la longueur simple n'en acigerait que 15 quatre. Une multiplication de longueur double signifie que deux nombres à virgule flottante de 6k bits (56 bits de fraction) sont multipliés l'un par l'autre pour fournir un résultat à 6k bits, les bits de plus petit poids étant éliminés après la post-normalisation. Une multiplication à virgule fixe implique une multiplication de 20 32 x 32 bits et fournit un résultat à 6k bits. La division est l'opération la plus complexe parmi celles qui peuvent .être effectuées par la AU 101. On tire avantage des possibilités de multiplication rapides et l'on utilise une itération qui, après un nombre déterminé de multiplications, forme le quo-25 tient avec la précision désirée. Cette opération ne fournit pas un reste à là. suite des multiplications antérieures et il est donc nécessaire d'utiliser à nouveau le montage existant pour former un reste. En supposant que x/y = Q soit la solution, le reste peut ê-tre formé en multipliant y par Z et en retranchant de X le produit 30 R = X — y.Q. Le reste est précis avec autant de bits exacts que le dividende X. Le temps nécessaire pour former le reste s'ajoute directement au temps nécessaire pour obtenir le quotient. Le temps de division, pour la longueur unique, croît de 12 à 16 impulsions de rythme lorsqu'on désire obtenir le reste. L'algorithme de division 35 exige que le diviseur soit normalisé, bit par bit, pour la virgule fixe ou que le chiffre hexadécimal de plus grand poids soit non nul, dans le cas de la virgule flottante. L'étage de sortie 320, 338 est utilisé pour rassembler les informations de sortie de toutes les autres sections et également ko pour effectuer des transferts simples, des opérations booléennes, 69 23316 32. 2012588 etc, qui n'exigent qu'une seule période de rythme pour leur exécution dans la AU 101. Un emmagasinage est assuré à chaque niveau de la canalisation pour établir une séparation positive entre les divers problèmes é-5 lémentaires qui peuvent être en cours de solution à un instant donné quelconque. L'ensemble de l'unité arithmétique a un fonctionnement synchrone du fait qu'elle utilise un rythmeur commun pour rythmer les circuits logiques. A cet effet, des registres d'emmagasinage tels que le registre 310a sont inclus dans chaque imité de 10 la canalisation. Après la description de la commutation de contexte faite ci-dessus en se référant aux Fig. 3 et 4 et après avoir décrit la CPU 10 en se référant aux Fig. 5 à 8, il est bon d'examiner maintenant la Fig. 9 où la coopération entre la CPU 10, la PPU 11 et la cora— 15 mande de mémoire 18 a été représentée de façon plus détaillée. La Fig. 9 peut être examinée conjointement à la Fig. 4. La Fig. 9 comprend une représentation plus détaillée du contenu de la CPU 10 et montre la relation avec les canaux 31 » 42 et 53 à 58 de la Fig. 4. Sur la Fig. 9» l'unité d'extraction d'instruction 128 est mu-20 nie d'un registre de sortie 128a. Ce registre, sous sa forme préférée, offre une possibilité d'emmagasinage de 32 bits. Il est subdivisé en une première section 128b de 8 bits qui représente le code d'opération. Il est en outre muni d'une section 128c^ qui représente un si-25 gne d'adresse de 4 bits. La section 128b est une section à 4 bits normalement utilisée lors du fonctionnement de l'unité arithmétique 101 pour désigner un registre qui n'est pas impliqué dans l'opération de commutation de contexte et qui ne sera pas décrit ici de façon plus détaillée. Enfin, il est prévu une imité d'information 30 d'adresse 128je de 16 bits. Lors du déroulement normal du fonctionnement de l'ordinateur, l'unité d'index 126a, qui comporte un registre de sortie 126b, exécute l'une des phases de la séquence temporelle T1-T4. Dans certaines opérations, elle produit, dans le registre de sortie 126b, un 35 mot représentatif de la somme du mot présent dans le champ d'adresse 128e^ et d'un mot provenant du registre d'index 124 et qui est désigné par le signe d'adresse présent dans la section 128c^ Ce code est alors utilisé par l'unité d'emmagasinage et d'extraction 126 pour commander le transfert d'opérandes vers la AU T01 et à 40 partir de celle-ci. t 69 23316 33. 2012588 Lorsque les codes de programme relatifs aux ordres SCW ou SCP apparaissent dans la section 128b, une séquence d'opérations différente est déclenchée. Tout d'abord, le mot de 8 bits présent dans la section 128e^ est appliqué à l'unité tampon 127a et apparaît dans 5 son registre de sortie 127b. Ce code de 8 bits est alors appliqué, par l'intermédiaire du canal 200, à l'unité de commande 127. A l'intérieur de l'unité de commande 127 est prévu un décodeur 201 qui fournit un signal de sortie sur le conducteur 202 si le code de 8 bits représente un ordre SCW. Ce décodeur fournit un signal 10 de sortie sur le conducteur 203 si le code de 8 bits représente un ordre SCP. De tels signaux, s'ils sont présents, apparaissent sur les conducteurs de sortie 41 et 42. Comme précédemment décrit, si la PPU 11 (Fig. 4), détecte la présence d'un signal sur l'un des conducteurs 41, 42, alors après 15 un intervalle de retard contrôlé, un signal est appliqué à l'unité 127 par le conducteur 58 et ce signal permet l'application, par l'intermédiaire du conducteur 204, d'un signal à la AU 101. Ce dernier signal agit alors pour transférer directement, à une adresse particulière de la mémoire, le code emmagasiné dans le registre 20 126d. Ce transfert s'effectue par 1'intermédiaire du canal 205 et du parcours 206 à l'intérieur de la AU 101, puis du cariai 207, pour aboutir au registre 126e^ et, de là, par l'intermédiaire du conducteur omnibus 104, à la mémoire. Le code provenant du registre 126e est emmagasiné dans la mé-25 moire à l'adresse emmagasinée dans un registre d'adresse 208„ Il s'agit ici d'une adresse affectée à cette fonction dans la mémoire et qui n'est pas autrement utilisée. Elle peut être câblée de façon permanente dans l'ordinateur. Ladite adresse est transmise en réponse à l'ouverture d'une porte 209 sous la commande du signal ap-30 paraissant sur le conducteur 204. La séquence d'opérations ci-dessus est tout d'abord soumise à un retard temporel introduit par l'action de l'unité à retard 210, pour contrôler la sortie de l'unité 127. Plus précisément, les conducteurs 202 et 203 aboutissent à une porte OU 211 et, de là, à 1'-35 unité à retard 210, de manière à appliquer un signal d'échantillonnage retardé au conducteur 54. Le conducteur 202 est connecté, par l'intermédiaire d'une porte ET 212, à une porte OU 213* Le conducteur 58 est également connecté à la porte ET 212 et à une porte ET 214, elle-même connectée 40 à la porte OU 213. Le conducteur 203 est connecté à la seconde en 69 23316 ■3k. 2012588 trée de la porte ET 214. L'état du conducteur 58 inhibe normalement toute tentative d'accès à la cellule-de mémoire particulière représentée par l'adresse présente dans le registre 208. Toutefois, comme précédemment dé-5 crit, :si la condition de l'ordinateur tel qu'il est représenté par les états des conducteurs 56, 57» 45» 58, 55, 53 est convenable, a-lors, mais alors seulement, le code présent dans le registre 126(5 est placé dans la cellule de mémoire particulière considérée. En conséquence, l'ensemble du fonctionnement de la CPU 10 peut être 10 interrompu» Selon une variante, il peut continuer cependant qu'un déclenchement ou d'autres opérations préparatoires sont amorcées dans des parties de l'ordinateur extérieures à la CPU 10. Le choix dépend de l'apparition, dans le registre 128a, d'une instruction de programme portant un code particulier, SCP ou SCW, dans la section 15 de code d'opération 128b du registre de sortie 128a. Le conducteur 53 (Fig. 4 et 9)» est excité ou commandé de manière à appliquer un signal à la PPU 11, lorsqu'une erreur a été détectée à l'intérieur de la CPU 10o Une porte OU 220 a été représentée comme ayant une entrée alimentée à partir de la AU 101, avec 20 des conducteurs 221 et 222 aboutissant à l'unité de commande 127. Un tel signal d'erreur pourrait apparaître lorsqu'une condition de dépassement de capacité se produit dans la AU 101. Une telle erreur pourrait également apparaître si un code indéterminé était présent dans l'unité de commande 127. Dans ces deux cas, ou en réponse à 25 d'autres signaux d'erreur susceptibles d'être engendrés et appliqués à la porte OU 220, par l'intermédiaire du conducteur 222, un signal apparaît sur le conducteur 53• Le signal apparaissant sur le conducteur 53 ou sur le conducteur 42 provoque une commutation de la CPU 10 d'un programme déterminé au programme suivant préparé par 30 la PPU 11. Un tel changement de programme se produit seulement si les états de la commande représentée sur la Fig. 4 le permettent. Lorsqu'un tel changement doit être effectué, comme précédemment décrit, l'état de la CPU 10 est alors emmagasiné dans la mémoire grâce au fonctionnement de l'unité de traitement logique 131 (Fig. 7)0 35 Ensuite, la CPU 10 est déclenchée pour amorcer un nouveau programme ou reprendre le programme qui avait été précédemment commuté dans la CPU 10. La description ci-dessus était relative à la PPU 11. D'après les opérations décrites ci-dessus, on admettra aisément que la PPU 40 11 joué un rôle vital en soutenant l'action de la ÇPU 10 de telle 69 23316 35. 2012588 façon que celle-ci puisse fonctionner de la manière précédemment décrite. Dans l'ordinateur suivant l'invention, la PPU 11 est capable de prévoir les besoins et les demandes en alimentation de la CPU 10 et d'autres organes de l'ordinateur en général, en utilisant 5 une forme particulière de commande pour le partage du temps, par exemple entre une série de dispositifs de traitement virtuel à l'intérieur de la PPU 11. Plus précisément, des programmes doivent être traités par un groupement de dispositifs de traitement virtuel à l'intérieur de la PPU 11. Dans le cas où les programmes varient 10 considérablement, il devient avantageux de s'écarter d'un partage de temps impartial entre les dispositifs de traitement virtuel. Dans le dispositif représenté sur la Fig. 10, certains dispositifs de traitement virtuel peuvent être considérablement favorisés en ce qui concerne l'allocation du temps de traitement à l'in-15 térieur de la PPU 11, par rapport à d'autres dispositifs de traitement virtuel. En outre, des dispositions sont adoptées pour permettre de modifier fréquemment et fortement l'allocation de temps, par exemple entre les dispositifs de traitement. La Fig. 10 indique que les dispositifs de traitement virtuel 20 Pq à P^ de la PPU 11 sont desservis par la AU kOO de la PPU 11. Le concept général de la coopération sur une base de partage du temps entre une unité arithmétique telle que l'unité kOO et des dispositifs de traitement virtuel tels que les dispositifs de traitement Pq à P^ est connu en soi. Toutefois, l'ordinateur suivant 25 l'invention et les moyens prévus pour sa commande n'ont jamais été réalisés jusqu'à présent. Les dispositifs de traitement P^ à P^ peuvent en général être du type représenté et décrit dans le brevet des Etats—Unis d'Amérique N° 3 337 85^- .où les dispositifs de traitement virtuel occupent des intervalles de temps fixes. La cons-30 truction de l'ordinateur suivant l'invention permet une commande variable des allocations de temps en fonction de la nature de la tache imposée à l'ensemble de l'ordinateur. Dans l'exemple considéré sur la Fig, 10, huit dispositifs de traitement virtuel Pq à P^ sont utilisés dans la PPU 11. La AU 400 35 de la PPU 11 doit être mise à la disposition de chaque dispositif de traitement virtuel à raison d'un à la fois. Plus précisément, un dispositif de traitement virtuel est connecté à la AU 400 à chaque impulsion de rythme. La sélection parmi les dispositifs de traitement virtuel est assurée par un programmateur représenté 40 schématiquement par un commutateur 401. L'effet d'une impulsion de 69 23316 3è. 2012588 rythme représentée par un changement de position du commutateur 40Î, est de coupler la AU 400 avec le dispositif de traitement virtuel représenté par un code choisi pour les fractions de temps O à 15. Un seul dispositif de traitement virtuel peut être utilisé à 5 l'exclusion de tous les autres, dans l'un des cas extrêmes. Dans l'autre cas extrême, les dispositifs de traitement virtuel peuvent se partager la fraction de temps en parties égales., Le dispositif permettant d'obtenir cette souplesse de fonctionnement est représenté sur les Fig. 11 à 13» 10 L'agencement de la PPU 11 est représenté sur la Fig. 11. La mémoire centrale 12 à 15 est couplée avec la commande de mémoire 18 et, de là, avec le canal 32. Les dispositifs de traitement virtuel Pq à P^ sont connectés à la AU 400 au moyen du conducteur omnibus 402, la AU 400 étant reliée avec les dispositifs de traitement vir-15 tuel Pq à P^ par l'intermédiaire du conducteur omnibus 403. Les dispositifs de traitement virtuel Pq à P^ communiquent avec le conducteur omnibus interne 408 de la PPU 11 par l'intermédiaire de canaux 410 à 417. Une unité tampon 419 comprenant huit registres tampons d'un seul mot 420 à 427 est prévue. Chaque registre est affec— 20 té exclusivement à l'un des dispositifs de traitement virtuel P^ à P7» Les dispositifs de traitement virtuel PQ à P^ sont munis d'une unité de commande de séquence 418 dans laquelle est disposée la réalisation matérielle du commutateur 401 de la Fig. 10. L'unité de commande 418 est excitée par des impulsions de rythme. L'unité tam— 25 pon 419 est commandée par une unité 428. Un canal 429 relie le conducteur omnibus interne 408 à la AU 400. Les dispositifs de traitement virtuel Pq à P^ sont munis d'une mémoire fixe 430 permettant exclusivement la lecture. Dans le mode de réalisation préféré de l'invention, la mémoire 430 est consti— 30 tuée par un ensemble pré-câblé de diodes permettant un accès rapide Un jeu de registres de communication 431 est prévu pour permettre une communication entre le conducteur omnibus 408, les dispositifs l/O et les canaux d'information. Dans ce mode de réalisation de l'ordinateur, 64 registres de communication sont prévus 35 dans l'unité 431. Les éléments soumis au partage dans le temps comprennent la AU 400, la mémoire permettant exclusivement la lecture (ROM) 430, le fichier de registres de communication (CR) 431, et le tampon d'un seul mot (SWB) 419 qui permet l'accès à la mémoire centrale (CM) 40 12 à 15. 69 23316 37. 2012588 La mémoire ROM 430 contient une série de programmes et n'est accessible que par référence à partir de compteurs de programme des dispositifs de traitement virtuel. Ladite' série comprend un programme d'exécution schématique et au moins un programme de commande 5 pour chaque dispositif l/O connecté à l'ordinateur. La mémoire ROM 430 a une durée d'accès de 20 nanosecondes et fournit des instructions à 32 bits aux unités P^ à P^,. L'espace total réservé au programme dans la mémoire ROM est de 1 024 mots» La mémoire est organisée en 256 modules de mots, de sorte que des parties des program-10 mes peuvent être modifiées sans reconstruction complète de la mémoire . Les programmes des dispositifs l/O peuvent comprendre des fonctions de commande pour les milieux d'emmagasinage des dispositifs, ainsi que des fonctions de transfert de données. Ainsi, le 15 mouvement de dispositifs mécaniques peut être commandé directement par le programme au lieu de l'être par des montages hautement spécialisés pour chaque type de dispositif. Des variantes d'un programme fondamental sont assurées par des paramètres appliqués par le programme d'exécution. De tels paramètres sont emmagasinés dans 20 la CM 12 à 15 ou dans les registres d'accumulateur du dispositif de traitement virtuel exécutant le programme. La source d'instructions alimentant les dispositifs de traitement virtuel peut être l'une quelconque des mémoires ROM 430 ou CM 12 à 15. La mémoire qui est adressée à partir du compteur de pro-25 gramme d'un dispositif de traitement virtuel est commandée par le mode d'adressage qui peut être modifié par les instructions de branchement ou par la remise générale à l'état initial de l'ordinateur. Chaque dispositif de traitement virtuel, lors de la remise de l'ordinateur à l'état initial est placé dans le mode ROM. L'obten-30 tion d'une séquence de programmes à partir de la mémoire centrale, est acquise par l'intermédiaire du tampon 419» Etant donné qu'il s'agit ici du même tampon que celui qui est utilisé pour les transferts de données vers la CM 12 à 15 ou à partir de celle-ci, et é-tant donné que l'accès de la mémoire centrale est plus lent que 1'-35 accès de la mémoire ROM, le temps d'exécution est plus favorable lorsqu'un programme est obtenu de la mémoire ROM 430. L'intervalle de temps zéro peut être affecté à l'un des huit dispositifs de traitement virtuel par un commutateur d'un panneau d'entretien. Cette affectation ne peut pas être commandée par le 40 programme. Les autres périodes de temps sont à l'origine non affec 69 23316 2012588 tées. En conséquence, seul le dispositif de traitement virtuel choisi par le commutateur du panneau d'entretien fonctionne au début.- En outre, étant donné que les compteurs de programme de chacun des dispositifs de traitement P^ à P^ sont à l'origine mis à 5 zéro, le dispositif de traitement virtuel choisi commence à exécuter un programme à partir de l'adresse O de la mémoire ROM 4-30 qui contient un programme de démarrage. Le commutateur de sélection du panneau d'entretien détermine également celui des huit bits du fichier 431 qui est établi par un signal d'ordres initiaux de pro-10 gramme déclenché par l'opérateur. Le tampon 419 assure aux dispositifs de traitement virtuel l'accès à la CM 12 à 15. Le tampon 419 comprend huit registres d'information à 32 bits, huit registres d'adresse à 24 bits et des commandes. Vu par uii unique dispositif de traitement, le tampon 15 419 semble ne représenter qu'un seul registre d'information de mémoire et un seul registre; d'adresse de mémoire. A un instant donné quelconque, le tampon 419 peut contenir jusqu'à huit demandes de mémoire, une pour chaque dispositif de traitement virtuel. Ces demandes sont de préférence traitées sur 20 une base combinée de priorité fixe et de priorité d'entrée et de sortie. De préférence, quatre niveaux de priorité sont établis et si deux ou plus de deux demandes de même: rang de priorité ne sont pas traitées à un moment donné quelconque, elles sont traitées en priorité d'entrée et de sortie. 25 Lorsqu'une demande parvient au tampon 419, elle reçoit auto matiquement une affectation de priorité déterminée par le fichier de priorité de la mémoire 12 à 15 maintenu dans l'un des registres 431. Ce fichier est agencé suivant les numéros des dispositifs de traitement virtuel et toutes les demandes provenant d'un disposi— 30 tif de traitement particulier reçoivent la priorité codée dans deux bits du fichier de priorité. Le contenu du fichier est programmé par le programme d'exécution et l'affectation d'un code de priorité à chaque dispositif de traitement virtuel est fonction du programme à exécuter. En plus de ces deux bits de priorité, un in-35 dex de temps peut être utilisé pour résoudre les cas d'égale priorité. Les registres 431 ont 32 bits chacun,, Chaque registre est a-dressable à partir des dispositifs de traitement virtuel et peut également être lu ou inscrit par le dispositif auquel il est con— 40 necté. Les registres 431 fournissent les liaisons de commande et 69 23316 39. 2012588 d'information avec tout l'équipement périphérique y compris le pupitre de l'ordinateur. Certains paramètres qui commandent le fonctionnement de l'ordinateur sont également emmagasinés dans les registres de communication 431 à partir desquels la commande est ex-5 ercée. Chaque emplacement du registre 431 comporte deux jeux d'entrées comme représenté sur la Fig. 12. L'un de ces jeux est connecté à la PPU 11 et l'autre est disponible en vue de son utilisation par le dispositif périphérique. Les données provenant de la PPU 11 10 sont toujours transférées à la cellule en synchronisme avec le rythmeur de l'ordinateur. Le signal d'autorisation d'inscription dans la cellule à partir du dispositif extérieur peut être engendré par l'interface du dispositif et non nécessairement en synchronisme avec le rythmeur de l'ordinateur. 15 La Fig. 13 représente un montage qui permet d'affecter par prépondérance le temps disponible à un ou plusieurs des dispositifs de traitement virtuel Pq à P^ plutôt qu'aux autres, ou encore d'affecter le même temps à tous les dispositifs de traitement. Le contrôle de la répartition des périodes de temps, par exem-20 pie entre les dispositifs de traitement Pq à P^, s'effectue au moyen de deux des registres de communication 431• Les registres 431n et 431m sont représentés sur la Fig. 13» Chaque registre à 32 bits est subdivisé en huit segments de quatre bits par segment. Par exemple, le segment 440 du registre 431n comporte quatre bits a à d 25 qui sont connectés aux portes ET 441 à 444, respectivement. Le segment 445 comporte quatre bits a à d connectés aux portes ET 446 à 449» respectivement. La première porte ET de tous les groupes de quatre (les portes associées à tous les bits "a"), à savoir les portes ET 44l et 446, etc, est connectée à l'une des entrées d'une 30 porte OU 450. Les portes des bits "b" de chaque groupe sont connectées à la porte OU 451, les troisièmes portes à la porte OU 452 et les quatrièmes, à la porte OU 453. Les sorties des portes OU 450 à 453 sont connectées à un registre 454, dont la sortie est reliée à un décodeur 455o Huit con-35 ducteurs de sortie partent du décodeur 455 pour contrôler les entrées et les sorties de chacun des dispositifs de traitement virtuel PQ à P^. L'unité de commande de séquence 418 est alimentée par des impulsions de rythme apparaissant sur le canal 460. La commande de 40 séquence 418 fonctionne comme un compteur en anneau à seize étages 69 23316 2012588 avec une sortie à partir de chaque étage. Dans l'exemple considéré, le premier conducteur de sortie 461 du premier étage est connecté à l'une des entrées de chacune des portes ET 441 à 444. D'une manière analogue, le conducteur de sortie 462 est connecté aux portes 5 ET 446 à 449. Les quatorze autres conducteurs de la commande de séquence ou programmateur 418 sont connectés aux groupes successifs de quatre portes ET. Trois des quatre bits 440, à savoir les bits b, je et d, spécifient l'un des dispositifs de traitement virtuel à P^, en éta-10 blissant une condition convenable sur tin conducteur à la sortie du décodeur 455• Le quatrième bit, à savoir le bit a, est utilisé pour permettre ou interdire un décodage quelconque pour un jeu donné en fonction de l'état du bit a de manière à permettre la non—affectation d'une période de temps donnée. 15 On remarquera que l'unité arithmétique 400 est couplée avec les registres 431n et 431m, par exemple par des canaux 470, moyennant quoi l'unité arithmétique 400, sous la commande du programme, assure les affectations désirées dans les registres 431n et 431m. En conséquence, en réponse aux impulsions de rythme apparaissant 20 sur le conducteur 460, le décodeur 451 peut progresser pas-à—pas, à chaque impulsion de rythme, d'un dispositif de traitement virtuel donné à un autre. Selon le contenu des registres 431n et 431m, la totalité du temps peut être affectée à l'un des dispositifs de traitement ou être partagée en parties égales ou en parties inéga— 25 les suivant la détermination assurée à cet égard par les codes présents dans les registres ;431n et 43 1m. En ce qui concerne les conducteurs de commande partant de la sortie du décodeur 4551 il doit être bien compris à ce stade que la logique reliant les registres 431n et 431m au décodeur a été repré-30 sentée au niveau des bits. Par contre, la logique reliant le décodeur 455 à la AU 400 pour la commande des dispositifs de traitement virtuel P^ à P^ est représentée, non pas au niveau des bits, mais au niveau de communication totale entre les dispositifs de traitement PQ à P^ et la AU 400. 35 Les conducteurs de code 460 à 467 relient le décodeur 455 aux unités Pq à P^., respectivement. La transmission des données des dispositifs de traitement sur les canaux 478 est autorisée ou interdite par les états des conducteurs 460 à 467» Plus précisément, le canal 460 aboutit à une porte 40 ET 490 qui est également alimentée par le canal 478. Une porte ET t 69 23316 2012588 500 est incorporée au canal de sortie de P^ et est ouverte par un état du conducteur 460. D'une mailière analogue, les portes 491 à 497 et les portes 501 à 507 commandent les dispositifs de traitement virtuel P^ à P^0 ' 5 Les portes 500 à 507 sont connectées, par l'intermédiaire de la porte OU 508, à la AU'400, pour la transmission de données à celle-ci. Par ce moyen, un seul des dispositifs de traitement P^ à P^ fonctionne à un instant donné quelconque et le temps est proportionné par le contenu des cellules 44o, 445, etc, suivant le rythme 10 déterminé par la commande de séquence 418. Dans le mode de réalisation particulier de l'ordinateur décrit, celui-ci fonctionne en synchronisme. La CPU 10 comporte un rythmeur produisant des impulsions à des intervalles de 50 canosecondes. Le rythmeur de la PPU 11 produit des impulsions de rythme à des inter-15 valles de 65 nanosecondes. Le tampon de mémoire et son fonctionnement sont décrits dans la demande de brevet français N° déposée le Le dispositif de canalisation représenté sur les Fig. 7 et 8 est décrit dans la demande de brevet français N° déposée le 69 23316 kz. .V '2012588 - REVENDICATIONS. - 1 - Dispositif de commutation automatique de contexte, dans un ordinateur numérique à programmation multiple et à dispositifs de traitement multiples, ce dispositif comprenant une unité de traite- 5 ment centrale (Fig. 4 à 1O) comportant une mémoire d'emmagasinage temporaire de mots de données et permettant d'utiliser un programme en cours pour agir sur ces mots de donnée, et étant caractérisé en ce qu'il comporte une unité de traitement périphérique (11) qui répond à l'état d'exécution dudit programme en cours en engendrant 10 une condition pour commander la sélection à partir de l'ensemble d'emmagasinage du programme suivant destiné à être utilisé par l'unité de traitement centrale, un montage (41) comprenant 1'uni t é de traitement centrales pour appliquer un premier signal à l'unité de traitement périphérique de manière à. indiquer que l'unité de trai— 15 tement centrale peut continuer- sans changer de programme, un montage (42) comprenant l'unité de traitement centrale, pour appliquer un second signal à l'unité de traitement périphérique en indiquant la nécessité d'un changement de programme, et un montage (43, 44, 45) capable8 en réponse à ce second signal et à la condition préci— 20 tée, d'établir un mode de fonctionnement de l'unité d® traitement centrale, commandé par ledit programme immédiatement suivant. 2 - Dispositif suivant la revendication 1, caractérisé en ce qu'un montage (18, 33» 55) est fonctionnellement associé à 1'unité de traitement centrale pour permettre à l'imité de traitement péri- 25 phérique de répondre au premier signal ou au second signal, mais seulement au bout d'un délai prédéterminé après leur génération. 3 - Dispositif suivant les revendications 1 ou 2, caractérisé en ce qu'il comprend un montage (53) comprenant l'unité de traitement centrale, pour appliquer un signal d'erreur à l'unité de trai- 30 tement périphérique, de manière à commuter l'unité de traitement centrale dudit programme en cours au programme suivant. 4 - Dispositif suivant la revendication 3» caractérisé en ce que le second signal et le signal d'erreur sont acheminés logiquement dans l'unité de traitement périphérique suivant le même par— 35 cours. 5 - Dispositif suivant l'une quelconque des revendications précédentes, dans lequel l'unité de traitement centrale est munie d'une uni t é arithmétique (Fig. 7 à 10) d'un registre d'emmagasinage d'instruction à travers lequel des instructions passent en transit 40 vers l'unité arithmétique, et un générateur d'adresse produisant BAD ORIGINAL 69 23316 2012588 normalement un code de commande pour commander 11 emmagasinage et l'extraction d'opérandes entre la mémoire et l'unité arithmétique, ce dispositif étant caractérisé en ce que la mémoire comporte une adresse d'emmagasinage réservée, le montage d'application d'un pre-5 mier signal (41 ) et le montage d'application d'un second signal (42) comprenant un mécanisme de décodage disposé dans l'unité de traitement centrale et comportant deux conducteurs de sortie (81, 82), couplés avec ledit registre de manière à répondre à un code particulier faisant partie des instructions, en produisant un si-10 gnal de sortie qui est, soit le premier signal sur un premier conducteur de sortie (81) lorsque ledit code représente un ordre d'appel et d'exécution de l'ordinateur, soit le second signal sur l'autre conducteur de sortie (82) lorsque ledit code représente un ordre d'appel et d'attente de l'ordinateur, une unité de commande de 15 mémoire (18) comprenant un canal sensible à la mémoire (33) aboutissant à l'unité de traitement centrale pour permettre l'application dudit signal de sortie à l'unité arithmétique si l'adresse d'emmagasinage réservée est disponible et un montage (60) capable, en réponse audit signal de sortie, de diriger vers cette adresse d'em-20 magasinage réservée le code de commande pour assurer une substitution des opérandes. 6 - Dispositif suivant la revendication 5, caractérisé en ce qu'un registre d'emmagasinage d'adresse fixe codée suivant l'adresse d'emmagasinage réservé est prévu dans l'unité de traitement ceri— 25 traie, tandis qu'une porte (43) sensible audit signal de sortie achemine ledit code de commande vers ladite mémoire, à ladite adresse particulière. 7 - Dispositif suivant les revendications 5 ou 6, caractérisé en ce que la logique d'interface de l'unité de traitement périphé- 30 rique comporte des connexions de parcours fixes avec l'unité de traitement centrale comprenant les conducteurs de sortie précités, un parcours pour appliquer au moins un signal d'autorisation provenant de l'unité de traitement centrale à l'unité de traitement périphérique, et des conducteurs fixes aboutissant à l'unité de com-35 mande de mémoire pour permettre l'application du signal de sortie précité à l'unité arithmétique. 8 - Procédé d'utilisation d'un dispositif de commutation automatique de contexte dans un ordinateur numérique à programmation multiple et à dispositifs de traitement multiples construit suivant 40 la revendication 1, ce procédé étant caractérisé en ce qu'il con 69 23316 44. 2012588 siste à introduire dans l'unité de traitement centrale une instruction de génération d'un signal de commande pour demander un changement de programme, à appliquer ce signal de commande à l'unité de traitement périphérique pour conformer qu'il y a bien lieu de pro-5 céder à ce changement, à réserver dans la mémoire une adresse prédéterminée pour emmagasiner ion ordre de changement de programme, à emmagasiner un code représentant ladite adresse dans l'imité de traitement centrale et, en réponse à la retransmission de ce signal de commande, de l'unité de traitement périphérique à l'unité de 10 traitement centrale, à acheminer ledit ordre vers la mémoire en fonction dudit code. 9 - Procédé suivant la revendication 8, caractérisé en ce qu'il consiste en outre à appliquer au moins une condition d'autorisation à l'unité de traitement périphérique à partir de l'unité de 15 traitement centrale, condition autre que le signal de commande, avant la retransmission de celui-ci. »