FR 2012735 A1 19700320 FR 6923318 A 19690709 69 23318 1. 501273S La présente invention se rapporte à un ordinateur numérique/ dans lequel des instructions emmagasinées concernant des opérations vectorielles complexes sont spécifiées au niveau du langage machine. Plus particulièrement, la commande d'une unité de trai-5 tement centrale est assurée.par.le transfert de paramètres vectoriels en langage machine emmagasinés dans l'unité de traitement ' centrale, à ùn fichier de registres d'emmagasinage de paramètres et de travail dans ladite unité, pour commander une série de canaux tampons qui.desservent l'unité de traitement central. 10 La vitesse à laquelle un ordinateur peut effectuer ses opéra tions s'est progressivement accrue depuis l'avènement des calculatrices numériques électroniques telles que la calculatrice Eniac de l'Université de Pennsylvanie, qui esc décrite dans le brevet des Etats—Unis d'Amérique N° 3 120 606. 15 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 conducteurs 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 type et certaines opérations arithmétiques dans les ordinateurs plus perfectionnés a été réduit à moins de 100 nanosecondes environ. 25 Les, progrè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 nees 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 35qu' impliquent de nombreuses opérations et qui porte sur tout oû"7par~ 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étiqiie est utilisée. 40 L'invention prévoit l'utilisation d'un dispositif de traite ment conçu et construit de manière à comprendre, dans ses possibi— 69 2331-8 2 2012735 lités, la spécification d'opérations vectorielles complexes au niveau de la machine. L'invention vise un nouvel ordinateur offrant la souplesse nécessaire pour assurer des types.classiques d'opérations de trai-5 tement de données et, en particulier," adaptable au traitement à-grande vitesse de grands ensembles de- données ordonnées. L'ordinateur est un appareil scientifique perfectionné capable d'utili- ~ de traitement ser l'unité arithmétique avec un haut rendement lors d1 opérations/ de données qui exigeait jusqu'à présent un échange relativement 10 complexe entre une unité de traitement centrale et le dispositif de mémoire. L'invention implique l'utilisation d'un dispositif de traitement capable de spécifier des opérations vectorielles complexes au niveau de la machine. 15 L'ordinateur comprend une unité de traitement centrale contenant une unité arithmétique accessible à partir de la mémoire par l'intermédiaire de deux canaux intermédiaires, et accessibles à la mémoire par un unique canal intermédiaire auquel est associé un fichier â registres adressables.par un programme, capable d'em-20 magasiner 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é de manière à commander le fonctionnement de l'unité arithmétique. On prévoit en outre des moyens sensibles à une instruction 25 de programme pour charger des paramètres vectoriels en langage machine à partir du fichier de registres dans les registres d'em-masinage tampons, moyennant quoi de grands ensembles de données peuvent être traités directement et continuellement en réponse à la spécification occasionnelle, au niveau de la machine, des opé-30 rations vectorielles complexes. Dans le cadre défini ci-dessus, une unité arithmétique à grande vitesse et un dispositif de traitement d'instructions à grande vitesse sont prévus, suivant l'invention, pour permettre la transmission des données à la cadence rendue possible par "la 35 commande et la stabilisation au moyen d'éléments tampons prévus dans l'ordinateur. 2uiva.nt- l'invention, il est prévu une unité arithmétique comportant une série de sous-unités spécialisées effectuant chacune une opération spécifique sur des opérandes d'en-: :tréê;.v'"Des moyens sont prévus pour connecter sélectivement l'une 40 quelconque de ces sous-unités en vue de la réception d'opérandes bad original 69 23318 3 3012735 d'entrée destinés 3 l'unité arithmétique et pour combiner les sous-unités suivant une configuration sérielle choisie quelconque. Des. moyens de commande sont prévus pour 1 ' alimentation synchrone en opérandes à travers la série choisie de sous-sections arithmë— 5 tiques en vue de l'exécution simultanée de différentes phases ou opérations élémentaires sur différents opérandes,- à l'intérieur de l'unité arithraôtique. Suivant un autre aspect de l'inventon, l'unité arithmétique constitue l'un des éléments d'une canalisation d'instructions dans 10 laquelle des unités de traitement d'instructions agissent simultanément sur différentes instructions arrivant dans l'unité arithmétique . Sous un aspect plus particulier de l'invention, il est prévu des moyens d'emmagasinage de mots d'information dans ces groupes 15 pouvant être retrouvés simultanément de N mots par cycle d'accès a la mémoire. Une unité arithmétique est en outre prévue pour traiter les mots d'information dans ûn intervalle de temps plus court que la période d'un cycle d'accès de la mémoire. Un premier registre tampon est prévu pour recevoir de la mémoire des groupes de 20 II mots à la fois, tandis qu'un second registre tampon est prévu pour recevoir du premier registre tampon des groupes de N mots à la fois. Des moyens sont également prévus pour transférer des mots, du second registre tampon à l'unité arithmétique en série et à des intervalles plus courts que la période du cycle de 25 mémoire. Ce tx-ansfert de mots s'effectue en réponse S des moyens commandés en fonction de l'état d"exécution d'une instruction dans l'unité arithmétique et qui contrôlent la sélection de groupes successifs de N mots d'information â transférer de .la mémoire au premier registre tampon. 30 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 Fie. 1 repx-ôsente un agencement préféré des sous-ensembles de l'ordinateur; 35 - la Fig. 2 est un schéma symbolique de 1'ordinateur de la Fie. 1} - la Fie» 3 un schéma symbolique qui montre une commutation de contexte entre l'unité de traitement centrale et l'unité de traitement périphérique des Fie» 1 2; bad original 69 23318 *• 2012735 - la Fig. 4 est un schéma plus détaillé du dispositif de commutation de la Fig. 3; - 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 do l'unité do 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; - 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 coin— « itiunication 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 Fig„ 1, 1'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 dos 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. BAD ORIGINAL 69'23318 5. 2012735 Outre les modules d1 emmagasinage 12 à 15, il est prévu des modules 16 et 17 d'emmagasinage sur disque à accès x'apide dant le temps d'accès est en moyenne d'environ 16 millisecondes. Une unité de commande do mémoire 18 est également prévue pour 5 commander lo fonctionnement de la mémoire, l'accès à cellc-ci et 11 emmagasinage. U11 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 l'emmagasinage. Une imprimante par lignes 27 10 est également prévue pour le service de sortie sous la commande de la PPU 11o 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 ion 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 o^i 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 proparer 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 parti culier 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 do contexte dans un ordinateur à dispositifs de traitement 69 23318 6: 2012735 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'unité 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'unité 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. Eh outre, la commande de mémoire 18 assure le traitement logique, l'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 unité d'information, un seul mot à la fois est transmis entre l'unité considérée et l'unité de canal 40 d'information 30. Les données provenant des modules de mémoires 12 69 23318 7 2012735 à 15 sont transmises au canal d'information 30 do la commande de memoire 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'imité 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 11 o Cette dernière commande tous J_es dispositifs entrée/sortie I/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, jjar l'intermédiaire de la commande de mémoire 18, en blocs de huit mots. Après trne 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 i/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 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 10o 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 do 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 |8„ 69 23318 8. 2012735 Comme décrit pl.us loin, la CPU 10 est capable d'effectuer des opérations vectorielles composées directement, spécifiées au niveau do 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'unité arithmétique contenue dans la CPU 10 et autour de cette unité. Un conducteur omnibus 3^ 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 3k étant desservis ensuite et dans cet ordre. Les connecteurs entre les dispositifs de traite-mont et les conducteurs omnibus externes sont identiques, ce qui permet de placer les dispositifs dé 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 10„ 35 En fonctionnement, la CPU 10 exécute les programmes de l'uti lisateur sur la base de programmes multipleso La PPU 11 satisfait à dos demandes des programmes en cours d'exécution par la CPU 10, de services d'entrée et de sortio. 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 23318 2012735 tés à l'intérieur de la CPU 20 exigent un service l/O de la PPU 11, soit par un ordre (SCP) "appel et exécution" de l'ordinateur, soit par un ordre (SCW) "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 do 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 i/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 l/O voulu soit assuré par la PPU 11. Cet ordre est émis par l'intermédiaire du conducteur 42 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 aiatomatiquement 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 11 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 do 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 SCW se trouve encore dans le dispositif de traitement d'utilisateur mais il est 40 dans un état inactif dans l'attente de là commutation de contexte. 69 23318 10 2012735 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 foctuer 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édiiit 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 41 « 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 5^> 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 CPÙ 10, dans la mémoire par 69 23318 2012735 1'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 un code dans une cellule réservée de la mémoire centrale 12 à 15 (Fig. 1 pour la durée do l'intervalle, nécessaire à la PPU 11 pour interro-5 ger cette cellule puis exéctiter 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 on vue do 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 bZ, 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, co 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 bZ 20 ou d'un signal d'erreur sur le conducteur 53» La PPU 11 déclenche line 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 un 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» 3-a PPU 11 30 est conditionnée de manière à permettre une réponse au signal suivant des conducteurs 41 , bZ ou 53» Comme on le verra plus loin, la PPU 11 contrôle alors l'état apparaissant sur le conducteur 57 e^> en Épouse à 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 bZ et 53j respectivement, Le conducteur b5, 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 cellule 69 23318 r2- 2012735 de mémoire réservée et sélecfcéo 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 des préparer le changement d'état suivant de la CPU. Le signal du conducteur 60 est lë 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 lo 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 6l. La sortie de la porte ET 61 est connectée à la borne d' actionnenient de l'unité 71° La sortie 0 de l'unité 71 est connectée à une seconde entrée de la porte ET 6l 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é 72. 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'actionnenient de l'unité 73» La sortie de l'unité 7 3 est connectée à l'une des entrées de chacune des pox-tes ET 61 à 63» La fonction -des unités 50, 51 » 61 à 63 et 71 à 73 est de permettre l'établissement d'un code sur un 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 1e conducteur 81 que si les 40 états antérieurs de l'unité C71 et de l'unité SJ2 sont des états 69 23318 13. 2012735 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 unité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 74, 75» 44, 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'unité 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 84e^ 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 do la porte ET 67<> L'une des entrées de la porte ET 67 est alimentée par la sortie 0 de l'unité 77° 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 23318 'i. 2012735 diaire du conducteur 92. La fonction des unités kk 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 à 1'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 X 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 denumde de la CPU peut être classée comme étant : (l) une demande de commutation "de contexte exigée par une erreur; . (2) tui ordre SCP, ou • (3) un ordre SCW; 30 (b) une seule demande de la CPU est traitée à la fois 5 (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 à l'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 marcho/attente de la CPU est prévue; kO (g) une interruption du fonctionnement de la PPU est prévue lorsque 69 23318 15> 2012735 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 conimunication ^31 (Fig. 1 1 ) 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 I„' C Emmagasinage de demande d' "appel" de contrôleur (signal de demande c') 10 S Emmagasinage de demande de commutation de contexte (signal de demande s 1) 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 s' ( du traitement de la demande 15 Actionnement L = l1 Rétablissement L = C S L AS Affichage de commutation automatique de contexte Actionnement AS : 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 do marche de la CPU Actionnement R : par la PPU lorsqu'on désire que la CPU fonctionne 30 Rétablissement R = AS S + AC C CC Emmagasinage d'exécution d'appel (signal d'exécution cc') Actionnement CC = cc1 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 : PSC JSignal d'exécution de la MCU : 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 23318 16. 2012735 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. 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". 5 Actionnement PC = AC * C TABLEAU XI. Commutation automatique de contexte et traitement automatique d'appel, fonctionnement continu de la CPU i-- Temps AC AS PC PS R LC ii-- iii— 1100 1000 01 iv— 1101 1000 01 11 00110000 V— 11 00100010 1 1,0 0 1000 11 11 1010001 0 1111 1030.11 11. 10101010 11111010 11 vi— 1101 1001 01 1111 1011 11 15 où, temps i—- attente de demande du CPU, ii-~ signal d'échantillonnage de la CPU reçue, iii— code de demande chargée, 20 iv— processus de début, v— exécution d'appel terminée, et vi—■ exécution de commutation terminée 69 23318 17. 2012735 TADLEAU III. Commutation automatique de contexte et traitement automatique d'appel inhibés, la CPU fonctionne jusqu'à ce qu'une commutation de contexte soit effectuée. Temps i— ii— iii- iv- v— vi— 'U^ 1000 1000 01 PPU Not^]ft)0]L 0000 01 1001 0001 01 ACASPCPS. R.LOTSC C S .Basculeur (FIGURE 4) 10 0 0 1000 00 1000 1100 00 1 0 0 0 1 0 0 0 1.0 1-.0 0 0 1 O 0 0 1 l/ frètes 1010 1000 1 0 lOllOOOOllX 1010 1010 10 1011001011 . ... . 10110 01111 > 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 .dé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 iii 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 : BAD ORIGINAL 69 23318 18 2012735 n C ~ . Q, » 1} . i = 1 xi L'idée fondamentale d'une instruction MULTIPLICATION peut être développée de manière à inclure la multiplication matricielle. Soient deux matrices A et B. La multiplication est : all al? al3 bll bl? bl3 Gll C1P. C13 a?l a2? a?3 0 b?l b?p b?3 c?i a3! a3? *33, b31 b3? b33 c3l c3? °33 A B c '11 y i=l (al,i) ' ^bi,l) ou G11 = Call al? ;a13l où, plus généralement, 11 3?1 33i '1? '13 i=l 3_, (alJi) (al,i) (bij?) ~ allbll + al?b?l + al3b51 ij' P aiAj où p est l'ordre des matrices. La génération de l'élément c^ peut être décrite comme le résultat de la multiplication de la première rangée (rangée 1) de la matrice A par la première colonne (colonne l).de la matrice B. L'élément c1? peut être engendré en multipliant la rangée 1 de la matrice A par la colonne 2 de la matrice B. L'élément cpeut être engendré en multipliant la rangée 1 de la matrice A par la colonne 3 de" la matrice B. 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 J, 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 ORIGINAL 69 23318 19. 2012735 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 doux boucles pour effectuer la multiplication matricielle 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 optimal!— 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 scliéinatiquernent 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, 100_a, 100b et 100_c 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'unité 101. Le conducteur IOOjc sert à z*envoyer le résiiltat des opérations 35 effectuées dans l'unité 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 manière fonctionnelle, la nature de l'unité tampon de mémoire utili-ko séc pour les communications à grande vitesse vers l'unité arithmé 69 23318 20. 2012735 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 memoire à une unité l8ci 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 tampon 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 do registres adressables comprenant des registres de base 120, 121, des registres généraux 122, 123 et un registre d'index \Zk 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 23318 2012735 re du conducteur omnibus 104 et do 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 qxx'elle soit sensible au fonctionnement d'une unité tampon d'instruction 127fu 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 des parcours pour la transmission d'instructions, de 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 qui, en réponse à un ordre SCW apparaissant sur le conducteur k2 ou à un signal d'erreur apparaissant sur le conducteur 53 (Fig. 4) provoque le transfex-t 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 13^ èt du conducteur omnibus 104, au fichier de paramètres vectoriels 125» Le contenu du fichier de paramètres vectoriels est alors transféré dans le fichier d'emmagasinage de commande de tampon de mémoire 132 en réponse à 1'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 jjendant lequel l'unité arithmétique 101 effectue une opération donnée, les unités ko 126 et 127 préparent l'opération suivante en vue do son exécution 69 23318 22. 2012735 par l'unité arithmétique 101. Pendant le môme intervalle de temps, les unités 126a. et 127^ 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 T.j , 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 d1 emmagasinage dè 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 . TABLEAU IV. Fichier de paramètres 1320 Adresse initiale dans la mémoire centrale pour la lecture du vecteur A. Adresse initiale dans la mémoire centrale pour la lecture du vecteur B. Adresse initiale dans la mémoire centrale pour l'emmagasinage du vecteur C. Nombre d'éléments d'une opération vectorielle fondamentale. Nombre de tours de la boucle intérieure. Nombre de tours de la boucle extérieure. 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. Adresse actuelle du vecteur A. Adresse actuelle du vecteur B. Adresse actuelle du vecteur C. 20 SA : SB : 25 SC : NV : NI : 30 N0 : Al : Û0 • AA : 35 BB : CC : 69 23318 23. 2012735 10 15 Fichier de travail 133 pour le compte d1index "actuel relatif à la longueur du vecteur, boucle intérieure et boucle extérieure. VG : Compte du vecteur. IC : Compto de la boucle intérieure. 0C : 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 étant tels qu'indique dans le tableau V. TABLEAU V„ emplc. cernent emplacement emplacement ci- _ £ k-r2 — ^ • ù a21 Ci "22 kvp £23 • » /* • £ ^ ^ » ( 1 • •"* ' kvo ■32 e. a î-rl b„-^ ♦ rr |t| n °12 l-r2 b3i ■ • r.-r2 s\ "l'3 b12 T:v3 °2I .? -u J* •v » t "22 tLiL A* 5 - b_„ tr.v5 /» IfS Si3 ..';tû •" X.-.-7 °23 m-:-7 " • co ^ -e J - 1+3 b33 Itlv O pré- ■ e mmagas iné e aux emplacements k 10 à k + 8 par rangées. La matrice B est supposée pré-emmagasinée aux emplacements 1 à i + 8 par colonnes. La matrice C doit être emmagasinée aux emplacements m à m + 8 par rangées. Ces affectations sont présentées dans le tableau V. A l'origine on a : SA = k = 3 TA = 1 SE NI = 3^=3 SC = in = 3 BAD ORIGINAL 69 23318 24. 2012735 La scquonce cl'adresses ofc le procède) de calcul du vecteur A sont indiqués dans lo tableau VI» TABLEAU VI. x A phase opérations VC IC /ÎC adresse 1 SA—> A A ÎÎ7-1_>VC 2 2 2 k NI-1—>IC 2 AA+1~>AA 1 2 2 k+1 VC-1-»VC 3 AA+l—>AA 0 2 2 k+2 VC-1 —>VC 4 SA—>AA ÎP/-1_>VC 2 1 ? k ic-i -gcc 5 AA+l _5AA 112 k+1 VC-1~>VC 6 AA+l —>AA 0 12 k+2 VC-1~?VC 7 SA_^AA NV-1-.>VC 2 0 2 k IC-l-^IC 8 AA+l—>AA 10 2 k+1 VC-1_^C 9 AA+1->AA 0 0 2 . k+2 VC-l^VC 10 SA+A^AA^SA NV-l^VC 2 2 1 k+3 NI-l^EC êC-l-yfiC 11 AA+l-o A A 12 1 k+4 VC-1->VC 12 AA+l —>AA 0 2 1 k+5 VC-1 __,VC 15 ■ SA-5AA NV-l-oVC 2 * 1 1 k+3 IC-1 ->IC 14 AA+l—>AA 1 11' k+4 . VC-l-oVC - 15 AA+l^-> AA 0 11 k+5 VC-1->VC 16 SA^AA W-1-7VC 2 0 1 k+3 IC-l^IC 17 AA+lA A 1 0 1 k+4 VC-l^VC 13 AA+l -?AA 0 0 1 ■ k+5 VC-l^VC 19 SA+M*AA,SA NV-1-^C 2 2 0. k+6 NI-1_>CC P0 AA+l ->AA 1 2 0 k+7 VC-1->VC 21 AA+1-pAA 0 2 0 k+8 VC-1_;>VC . BAD ORIGINAL 69 23318 25o 2012735 / A phase opérations VC IC fiC adresse 22 SA ->AA ÎF/-1~>VC 2 10 k+6 IC-1->IC 23 AA+l ->AA 110 k+7 VC-1->VC 24 AA+l -;> A A 0 10 k+8 VC-1->VC 25 SA ->AA NV-l^VC 2 0 0 k+6 IC-l^IC 26 AA+l —>AA 10 0 k+7 VC-1 -;>VC 27 AA+l ->AA 0 0 0 k+8 VC-1_^VC Un processus analogue est adopté pour les vecteurs B et C, 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 le. La séquence du vecteur C est m, m + 1, m + 8« 5 La manière dont la séquence est établie est dictée par .l'ins truction vectorielle particulière en cours d'exécution. L'exemple donné est relatif à l'instruction MULTIPLICATION. Le code de vecteur est présenté à l'unité tampon de mémoire en vue d'être utilis pour cette détermination. 10 Après la description ci-dessus des dispositions adoptées dans 1 ' ordinateur suivant; l'invention pour fournir des données ordonnée à 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 une unité arithméSAD ORIGINAL 69 23318 as- 2012735 tique formée cl'unités- spécialisées et capable d'être sélectivement placee 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 et1compati— 5 bles avec les fonctions qu'elles exécutent, chaque unité fonctionnelle de la AU 10i é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 chaque impulsion de rytiune. 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, 300_b, 300_c 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 30.8 à une unité de sortie 310. Les canaux d'opérande 300a et 300(3 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 11 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'entx'ée 316 partant d'une sortie de l'unité d'addition 30 306 et par un conducteur 317 partant de la section de canalisation 300Bo 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é do sortie 310. 35 L'unité do 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 de l'unité de soustraction d1 — BAD 0FW3WÂL .69 23318 27. 2012735 exposant 302. ICn 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 do la AU 101, réside en ce que les canaux d'opérande 300a ot 300j3 sont connectés, par l'intermédiaire des conducteurs 323 et 32k-, à chacune des'unités de la section de canalisation 300A, à l'exception de l'accumulateur 3îk. Plus précisément, les conducteurs 323 et 324 sont connectés à 1'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_c 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'imité 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 3001^ et 300d sont con nectés à une unité de soustraction d'exposant 330, elle-même connectée, par 3. ' 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 334. 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 sox-tie 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é, pax* l'intermédiaire de conducteurs respectifs 342 et 343, à l'unité d'alignement 332, au multiplicateur 3^1» à- l'unité d'addition 334, à l'unité de normalisation 336 et à l'unité do sortie 338. 35 La sortie de l'unité d'addition 334 est connectée, par 1'in termédiaire d'un conducteur 344, à l'entréo 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 soi'tie connectée, par l'intermédiaire du conducteur 317> à 69 23318 za. 2012735 l'unité d'accumulation 31 4 disposée dans la section de canalisation 300A. En outre, la sortie do l'accumulateur 3^5 est connectée, par l'intermédiaire d'un conducteur 3^7» à l'unité de sortie 338. 5 Une troisième sortie de l'accumulateur 3^5 est connectée par l'intermédiaire d'un conducteur 3^8, à 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 30QA. 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 33^ sont transmis, par l'intermédiaire du conducteur 351» à l'unité de soi'tie 338. Un signal de sortie de l'unité d'addition 33^ 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 3^1 20 est transmis, par l'intermédiaire d'un conducteur 353» à une seconde entrée de l'unité d'addition 33^ 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 355t à 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éi'ations rapides et efficaces sur des séries de données. En f011cfcioniiomont, et pour mettre en évidence l'opération la plus exigeante de la canalisation, on remarquera qu'il existe qua— 40 tro phases fonctionnelles distinctes qui constituent une addition 69 23318 29. 2012735 à virgule flottante ; soustraction d'exposant, alignement de fraction, addition de fraction, post-normalisation. Ces phases sont représentées sur le tableau VII. Soustraction d'exposant Alignement de fraction Addition de fraction Post-normalisation TABLEAU VII. !o h, 5. H al^l a4'34 a1b1 a2b? albl a9h2 albl Lors de l'addition de doux séries do nombres ou vecteurs, corn-10 mençant à l'instant t^, chaque section de l'additionneur est vacante. A l'instant t1, la première paire de nombres, a et b., subi la 1 11 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 64 bits. Les sous-unités de l'unité arithmétique, 20 de la Fig. 8, autres que les unités de multiplication 312 et 341 assurent l'entrée et la sortie de 32 bits d'information, tandis que les unités de multiplication 312' et 3^1' assurent la sortie de 64 bits d'information. A l'exception de la multiplication et de la division, toutes les fonctions exigent le môme temps pour des opéran-25 des de longueur double, que poitr des opérandes de longueur simple. Des nombres à virgule fixe sont de préférence représentés avec la notation du complément à doux 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 à 64. 30 Une caractéristique remarquable de l'unité arithmétique est la structure de ctuialisation 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, 1ns 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 otages. Les sections 69 23318 »> 15 #», f 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 on outre des décalages vers la gaucho 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 que des additions à virgule flottante. Cette section est également utilisée pour additionner la pseudo-sorrane et le report qui est une information de sortie de la section de multiplication. - - Lors du traitement de vecteurs, l'addition à virgule flottante 15 est désirable pour permettre l'utilisation d'une- large gamme dynamique. Bien que la AU 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 VXl). 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 3^1 sont de préférence du type décrit par Vallace 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 1'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 10 1 est basée. Les multiplicateurs sont également les opérateurs de base 30 pour l'instruction de division. Des opérations de longueur dotible 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 lo 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, lo multiplicateur 3^1 produit une BAD ORIGINAL 69 23318 2012735 pseudo-somme à 6k bits et un pseudo-roport à 6k bits qui sont ensuite additionnés dans l'otage 306, 33^ pour assurer 1'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, 33k, et étage accumulateur 314, 3^5» L'étage aocurailateur 31'1-» 3^5 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 11 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 ccigerait que 15 quatre. Une multiplication de longueur doublo 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 1'opération la plus complexe parmi celles qui peuvent être effectuées par la AU 10 1. 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 reti'ancliant 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 resta s'ajoxito directement au temps nécessaire pour obtenir lo quotient. Le temps de division, pour la longueixr unique, croît do 12 à 16 Impulsions de rytlune lorsqu'on désire obtenir lo reste» L'algorithme do division 35 exige que le diviseur soit normalisé, bit l>ar bit, pour la virgule fixe ou que le chiffre hexadécimal de tjIus grand poids soit non nul, dans lo 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 dos transferts simples, des opérations booléennes, BAD ORIGINAL 69 23318 32. 2012735 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énieritaires 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 utilisé un rythmeur commun pour rythmer les circuits logiques. A cet effet, des registres d'emmagasinage tels que le registre 310a. sont inclus dans chaque unité 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éi'ant aux Fig. 5 à. 8, il est bon d'examiner maintenant la Fig. 9 °ù la coopération entre la CPU 10, la PPU 11 et la com™ 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. XI est en outre muni d'une section 128c^ qui représente un si— 25 gne d'adresse do 4 bits. La section 128]d 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 do façon plus détaillée. Enfin, il est prévu une unité d'information 30 d'adresse 128e^ de 16 bits. Lors du déroulement normal du fonctioimement 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 temijorolle 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 Î01 et à 40 partir de celle-ci,. BAD ORIGINAL 69 23318 33. 2012735 Lorsque les codes cle programme relatifs aux ordres SCW ou SCP apparaissent dans la section 128J3, 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 128je est appliqué à l'unité tampon 127'a et apparaît dans 5 son registre de sortie 127_b. 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 soz'tie 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 l'intermédiaire du canal 205 et du parcours 206 à l'intérieur de la AU 101, puis du canal 207» pour aboutir au registre 1 26j3 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 208o II 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 ost transmise en réponse à l'ouverture d'une porte 209 sous la commando 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, do là, à 1'— 35 unité à retard 210, do manière à appliquer un signal d'échantillonnage retardé axi conducteur 54. Le conducteur 202 est connecté, par l'intermédiaire d'une porte ET 212, à urio porte OU 213. Le conducteur 58 est également connecté à la pox'te ET 212 et à une porte ET 214, elle-même connectée ko à la porte OU 213. Le conductour 203 est connecté à la seconde en 69 233.18 2012735 trée de la porte ET 214. L'état du conducteur 5S 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 j comme précédemment dé-5 crit, si la condition do l'ordinateur tel qu'il est représenté par les états des conducteurs 56, 57» ^5, 58, 55» 53 est convenable, a-lors, mais alors seulement, le code présent dans 1e registre 126_e est placé dans la cellule de mémoire particulière considérée. En conséquences l'ensemble du fonctionnement de la CPU 10 peut être 10 interrompuo 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 k 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. k 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 10. 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 kZ 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éclerfchéo 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 ko 11 joue un rôle vital en soutenant l'action de la CPU 10 de telle 69 23318 35. 2012735 façon quo 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 do la CPU 10 et d'autres organes de l'ordinateur on général, en utilisant 5 une forme particulière de commande pour le partage du temps, par exemple entre une 3erie 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 do 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 400 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é 400 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 Pq à Pj 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 do temps fixes. La cons-30 tï-uction de 3. ' ordinateur suivant l'invention permet une commande variable des allocations de temps en fonction de la nature de la tache imjjosé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 4-00 35 de la PPU 11 doit être mise à la disposition de chaque dispositif do traitement virtuel à raison d'un à la fois. Plus précisément, un dispositif de traitement virtuel est coimecté à la AU kOO à chaque impulsion de rythme. La sélection parmi les dispositifs de traitement virtuel est assurée par un programmateur représenté 'f0 scliématiquomont par un commutateur '(0!. L'effet d'une impulsion de 69 23318 2012735 rythme représentée par un changement do position du commutateur 40î, est do coupler la AU 400 avec le dispositif1 de traitement virtuel représenté par un code choisi pour les .fractions de temps 0 à 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 1' 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é sux- 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 4o8 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 Pq à P^o 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é .tara— 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 poux" permettre une communication entre le conducteur omnibus 408, les dispositifs I/O et -les canaux d' inf ormation. Dans ce mode de réalisation de 1 ' ox-dinateur, 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 registx^es de communication (CR) 431» et le tampon d'un seul mot (SVB) 419 qui permet l'accès à la mémoire centrale (CM) 40 12 à 15. 69-23318 37. 2012735 La mémoire ROM 4-30 contient une série de programmes et n'est accessible que par référence à partir de compteurs de programme dos 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 pro- ■ gramme dans la mémoire ROM est do 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 i/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 êtz°e commandé directement par le programme au lieu'de l'être par dos montages hautement spécialisés pour chaque type de disijositif. 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'insbructions 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 à paï-tir 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 4l9« 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 Gelle-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 do la mémoire ROM 430. L'intervalle do temps zéro peut être affecté à l'un des huit dispositifs de traitement virtuel par un commutateur d'un panneau d'entretien. Cette affectation no peut pas être commandée par le 40 programme. Les autres périodes de temps sont à 1'origine non affèc— 69 23318 2012735 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 à f f i 5 zéro, le dispositif de traitement virtuel choisi commence à exécuter un programme à partir de l'adresse O de la mémoire ROM 430 qui contient un programme de démarrage. Lè commutateur de sélection du panneau d'entretien détermine également celui des huit bits du fi-» chier 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 un unique dispositif de traitement, le tampon i 5 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 dé 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 progx'amme à 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 chacune 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 nocté. Les registres 431 fournissent les liaisons de commande et 69 23318 39. 2012735 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 commando 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 do l'ordinateur. Le signal d'autorisation d'inscription dans la cellule à partir du dispositif extérieur peut être engendra 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 43 In comporte quatre bits a à d 25 qui sont connectés aux portes ET 44l à 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 441 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 455» 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'imité de commande de séquence 418 est alimentée par des impulsions de rythme apparaissant sur lo canal 460. La commande de 40 séquence 418 fonctionne comme un compteur en anneau à seize étages 69 23318 2012735 avoc une sortie à partir do 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 » Los 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- 0 / 10 blissant une condition convenable sur un conducteur à la sortie du décodeur 455» Le quatrième bit, à savoir le bi b a, es-t utilisé pour permettre ou interdire un décodage quelconque pour un jeu donné en fonction de l'état du bit a. de meuliè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 43In 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 431m. 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 Pq à P^'est représenbée, non pas au niveau dés bits, mais au niveau de communication totale entre les dispositifs de traitement Pq à P^, et la AU 400. 35 Les conducteux's do code 460 à 467 relient le décodeur 455 aux unités Pq à P^, respectivement. La transmission dos données des dispositifs de traitement sur les canaux 478 est autorisée ou interdite par les états des conduc-beurs 460 à 467. Plus précisément, lo canal 4b0 aboutit à une porte 40 ET 490 qui est également alimentée par le canal 478. Une porte ET 69 23318 41*. 2012735 500 est incorporée au canal de sortie de PQ et est ouverte par un état du conducteur 460. D1 une manière analogue, les portos 491 à 497 et les portos 501 à 507 commandent les dispositifs de traitement virtuel à P^o 5 Les portes 500 à 507 sont connectées, par 11intoirnédiaire de la porte OU 508, à la AU 400, pour la transmission de données à celle-ci. Par co moyen, un seul des dispositifs de traitement P^ à P^ fonctionne à un instant donné quelconque et le temps est proportionné par le contenu des cellules 440, 445s 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 GPU 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 BAD ORIGINAL 69 23318 RE7EHDICAÏ.™ 2012735 1. Dispositif de traitement de données pour ordinateur numérique comportant une unité de traitement centrale (10) pour traiter des blocs importants de données ordonnées à une cadence de fonctionnement rapide, dans lequel l'unité de traitement centrale 5 est munie d'une unité arithmétique (101) et d'une mémoire (12 à 17s ?1 à 26) pour emmagasiner des ensembles de données ordonnées à traiter dans l'unité arithmétique, ledit dispositif étant caractérisé en ce que l'unité arithmétique a la capacité de fonctionner à une vitesse notablement supérieure à la cadence à laquelle peu-10 vent s'accomplir l'emmagasinage d'information dans la mémoire et la recherche et l'extraction d'information dans celle-ci,et en ce qu'il comporte : une unité tampon de- mémoire (100) comprenant au moins un canal (100 a) d'information par l'intermédiaire duquel des mots de données d'opérande sont transmis de la mémoire à 15 l'unité arithmétique, un canal d'information (100c) par l'intermédiaire duquel des mots d'information traités sont transmis à partir de l'unité arithmétique et un fichier d'emmagasinage de commande (1J2, 155) pour lesdits canaux d'information ; un fichier (120-125) de registres adressables par un programme comprenant PO un fichier de paramètres vectoriels (125), et un parcours (104, lj5^) pour le transfert du contenu de ce fichier de paramètres vectoriels, directement au fichier d'emmagasinage de commande de manière à assurer une commande par les paramètres vectoriels de la transmission de mots d'information vers l'unité arithmétique et 25 à partir de celle-ci. 2. Dispositif suivant la revendication 1, caractérisé en ce que le fichier d'emmagasinage de commande comprend les registres suivants : i (SA) - adresse initiale dans la mémoire centrale pour la 30 lecture du vecteur A, ii (SB) - adresse initiale dans la mémoire centrale pour la lecture du vecteur B, iii (SC) - adresse initiale dans la mémoire centrale pour l'emmagasinage du vecteur C, 355 iv (NV) - nombre d'éléments d'une opération vectorielle fon damentale, v (Ni) - nombre de tours de la boucle intérieure, BAD ORIGINAL 69 23318 *3 2012735 vi (N^) - nombre de tours de la boucle extérieure, vii (Ai) - incrément d'adresse pour la boucle intérieure, et viii (A^/) - adresse en incréments pour la boucle extérieure. 5 3« Dispositif suivant l'une des revendications 1 ou ?, caracté risé en ce que le fichier d'emmagasinage de commande comprend un fichier de registres d'emmagasinage de travail (133) pour suivre et enregistrer les progrès de l'unité arithmétique sous la commande précitée par les paramètres vectoriels de la transmission de mots 10 d'information, vers l'unité arithmétique et à partir de celle-ci. 4. Dispositif suivant la revendication 3» caractérisé en ce que le fichier de registres d'emmagasinage de travail comprend les registres suivant : i (AA) - adresse actuelle du vecteur A, 15 ii (BB) - adresse actuelle du vecteur B, iii (CC) - adresse actuelle du vecteur C, iv (VC) - compte de vecteur, v (IC) - compte de la boucle intérieure, et 20 vi (/C) - compte de la boucle extérieure. 5. Dispositif suivant l'une quelconque des revendications précédentes, caractérisé en c^nqu'il comprend une unité d'extraction d'instruction (l?3), et/que le transfert du contenu du fichier de paramètres vectoriels, le long du parcours précité (104, 134) 25 directement jusqu'audit fichier d'emmagasinage de commande pour assurer la commande par les paramètres vectoriels de la transmission de mots d'information vers l'unité arithmétique et à partir de celle-ci, est sensible à l'extraction d'une instruction de programme de la mémoire et à son transfert, dans l'unité d'extraction 30 d'instruction. 6. Dispositif suivant l'une quelconque des revendications précédentes, caractérisé en ce que la mémoire est équipée en vue d'assurer l'emmagasinage de mots d'information en groupes de n mots par cycle d'accès, pouvant être retrouvés simultanément 35 l'unité arithmétique étant capable de traiter un mot d'information en un intervalle de temps inférieur à la période d'un cycle d'accès de la mémoire, le canal de données (100a) comportant des premier et second registres tampons (10?, 103)^ le premier registre tampon (10?) étant capable de recevoir les mots en groupes de n à la fois BAD ORIGINAL 69 23318 44 2012735 à partir de cette mémoire, le second registre tampon (103) étant capable de recevoir ces groupes de rj mots à la fois à partir du premier registre tampon, et le canal d'information étant capable de transférer des mots du second registre tampon à l'unité arith-5 métique en série et à des intervalles inférieurs à la période d'un cycle d'accès à la mémoire. 7. Dispositif suivant la revendication 6, caractérisé en ce qu'il comprend une unité de traitement logique d'emmagasinage et de recherche d'état (131), fonctionnellement connectée à la mémoire, 10 à l'unité arithmétique (101) et à l'unité tampon de mémoire (100), ladite unité de traitement logique étant commandée en fonction de l'état d'exécution d'une instruction dans l'unité arithmétique et commandant à son tour la sélection du groupe suivant de n mots d'information en vue de leur transfert de la mémoire au pre-15 mier registre tampon (102). 8. Procédé d'utilisation d'un dispositif de traitement de données construit suivant la revendication 1, caractérisé en ce qu'il consiste -à transférer des paramètres vectoriels en langage machine, de la mémoire au fichier de registres adressables par le 20 programme, dans l'unité de traitement centrale, en vue de leur emmagasinage temporaire, et à charger ces paramètres vectoriels en langage machine, à partir du fichier de registres adressables par le programme dans le fichier d'emmagasinage de commande des canaux d'information , en réponse à une instruction de programme, 25 en vue d'assurer une commande par les paramètres vectoriels de la transmission de mots d'information vers l'unité arithmétique et à partir de celle-ci. 9. Procédé suivant la revendication 3, caractérisé en ce que les transferts : 30 i - adresse initiale dans la mémoire centrale pour la lecture du vecteur A, ii - adresse initiale dans la mémoire centrale pour la lecture du vecteur B, iii - adresse initiale dans la mémoire centrale pour l'emma-35 gasinage du vecteur C, iv - nombre d'éléments d'une opération vectorielle fondamentale, v - nombre de tours de la boucle intérieure, vi - nombre de tours de la boucle extérieure, BAD ORIGINAL •2012735 vii - incrément d'adresse de la boucle intérieure, et viii - adresse en incréments pour la boucle extérieure, établissent un diagramme de transmission prédéterminé de données vectorielles à l'unité arithmétique. 10. Procédé suivant l'une des revendications 3 ou 9* caractérisé par l'établissement des paramètres de travail suivants : i - adresse actuelle du vecteur A, ii - adresse actuelle du vecteur B, iii - adresse actuelle du vecteur C, iv - compte du vecteur, v - compte de la boucle intérieure, et vi - compte de la boucle extérieure dans le fichier d'emmagasinage dé commande de l'unité de traitement centrale, et par l'emmagasinage, dans celle-ci, desdits paramètres de travail. BAD ORIGINAL