FR 2011671 A1 19700306 FR 6912350 A 19690429 69 12350 1 2011671 La présente invention concerne un dispositif permettant le traitement d'instructions dans un ordinateur digital électronique. Plus particulièrement, la présente invention concerne un dispositif ayant la possibilité de sauter ou d'inhiber le traitement d'une séquence d'instructions ou de certaines 5 instructions d'une séquence dans un ordinateur digital électronique. La complexité de la vie moderne a posé le problème du traitement électronique de grandes quantités de données. Ceci a conduit à la réalisation d'ordinateurs digitaux électroniques rapides à grande échelle qui traitent une grande quantité de données, en traitant des séquences d'instructions 10 à l'intérieur de l'ordinateur. Pour remplir les besoins toujours croissants du traitement des données, la vitesse de traitement des instructions est essentielle. Lorsque on traite une séquence d'instructions, il est souvent nécessaire que l'ordinateur digital saute ou inhibe le traitement d'une ou plusieurs 15 instructions dans la séquence. Autrement dit les instructions du programme peuvent être telles qu'il est nécessaire que le dispositif à l'intérieur de l'ordinateur digital après le traitement d'une première instruction passe à une instruction ultérieure qui n'est pas l'instruction qui. suit immédiatement dans la séquence. Ceci a été réalisé par le passé en utilisant 20 un dispositif pour réaliser une instruction de branchement pour passer de la première instruction à l'instruction ultérieure. Cependant, l'utilisation de l'instruction de branchement en général diminue la performance d'un ordinateur digital. C'est à dire, que, lorsque l'ordinateur atteint une instruction de branchement, l'unité de traitement centrale doit attendre 25 que l'instruction suivante dans le mode de branchement soit reçue de la mémoire. Par suite, on pert du temps en attendant les instructions nécessaires. En plus de la perte du temps de traitement, le dispositif de l'art antérieur utilisant une instruction de branchement a l'inconvénient de réaliser une optimisation de code médiocre. Les ordinateurs digitaux à 30 grande échelle présentent souvent la possibilité d'optimiser le code d'instructions écrit par le programmeur. Il est généralement vrai que les dispositifs d'optimisation peuvent réaliser un meilleur travail d'optimisation sur un long bloc de code que sur un bloc de code plus court. En particulier, l'utilisation d'une impulsion de branchement peut séparer un seul bloc 35 de code en deux ou en plusieurs blocs de code plus petits, et il en résulte une dégradation de l'optimisation de code. En conséquence, un objet de cette invention est de réaliser un dispositif qui permet au mécanisme de traitement d'uq. ordinateur digital de sauter d'une première instruction à une instruction ultériEure autre que l'instruction EtAD ORIGINAL 69 12350 2 2011671 qui h suit immédiatement dans la séquence sans utiliser d'instruction de branchement. Un autre objet de l'invention est de réaliser un dispositif dans un ordinateur digital pour réaliser le saut d'uns ou plusieurs instrucv 5 tions d'une séquence d'instructions avec un minimum de circuits at un minimum de temps. Un autre objet de cette invention est de réaliser un dispositif dans un ordinateur digital pour sauter une ou plusieurs instructions dans une séquence d"instructions, tout en restreignant la structure de la séquence 10 d'instruction à un seul bloc. L'invention permet de réaliser un dispositif pour qu'un ordinateur digital puisse sauter certaines instructions prédéterminées. Ceci est réalisé en utilisant un moyen pour détecter une instruction appelée "instruction de saut". Dans un ordinateur digital dans lequel on peut 15 utiliser la présente invention, il y a des instructions qui comprennent un champ de code opération pour désigner le type d'instructions et au moins un premier et un second champ désignés par la suite champ i et champ j respectivement et, aussi un bit qui sera appelé 'drapeau de saut" et qui, lorsqu'il est à 1, indique que l'instruction est à sauter en cas de 20 détection d'une instruction de saut antérieure et d'existence d'une condition machine donnée. En particulier, on définit plusieurs types d'instructions de saut, chaque type désignant une condition machine particulière. Au décodage d'un type particulier d'instruction de saut et à la détermination de l'exis-25 tence de la condition machine, chaque instruction dans la séquence suivant cette instruction de saut et ayant son drapeau de saut à 1 sera sautée. Le saut des instructions munies d'un drapeau continuera jusqu'à l'instruction de saut suivante n'ayant pas son drapeau de saut mis à 1, et à ce moment la seconde instruction de saut sera décodée et sa condition machine sera 3Q déterminée pour déterminer si oui ou non des instructions munies d'un drapeau après la seconde instruction de saut, seront sautées. Dans une réalisation de l'invention, on utilise un dispositif à décalage unidiractionnel. Ce dispositif comprend un premier groupe de mémoires intermédiaires à décalage et un second groupe de mémoires intermédiaires 35 à décalage . Des éléments du premier groupe de mémoire intermédiaire reçoivent les instructions provenant d'une source de séquence d'instructions et, certains éléments reçoivent aussi des instructions venant d'autres éléments du premier groupe qui ont été décalés dans le dispositif. Le second groupe de mémoires intermédiaires à décalage reçoit les instructions par décalage bad original 69 12350 3 2011671 d'éléments particuliers du premier groupe de mémoires intermédiaires ou par décalage vers le bas d'autres éléments du second groupe de mémoires intermédiaires. La dernière mémoire intermédiaire du second groupe fonctionne comme un registre d'instructions. Chaque instruction atteignant ce registre 5 est décodée : son champ de code opération est décodé dans un décodeur d'instructions et ses champs i et j sont décodés par un décodeur auxiliaire. Le décodeur d'instructions identifie le type d'instructions et envoie 1'information à divers organes de calcul de la machine pour traiter l'instruction donnée. Si l'instruction est une instruction du type saut, les signaux 10 indiquant que c'est une instruction de saut et la condition machine à déterminer sont envoyés à un générateur de fonction. Les décodeurs auxiliaires pour les champs i et j donnent une indication de l'information à tester pour déterminer la condition machine indiquée. Cette information est transmise au générateur de fonction. Le générateur de fonction réalise la détermination 15 de condition et émet l'une ou l'autre de deux indications. La première indication implique que l'instruction décodée est une Instruction du type saut et que la condition de la machine est réalisée, Ainsi, toutes les instructions ayant un drapeau, suivant cette instruction de saut et précédant une seconde instruction du type saut ayant son drapeau 20 de saut mis à zéro, doivent être sautées. Ceci est réalisé en utilisant un moyen sensible à cette première indication pour inhiber le traitement de cas instructions munies d'un drapeau. Une façon permettant de réaliser ceci est d'utiliser un circuit logique appelé par la suite, circuit logique de "non-opération" pour intriduire un bit dans certaines mémoires intermé-25 diaires à décalage vers le bas qui contient une instruction munie d'un drapeau. Ce bit appelé par la suite bit "de non-opération (ou, est abrégé "No-Op)" et contrôlera le saut dans la majorité des cas. □n utilise aussi un circuit logique de détermination des décalages et un circuit logique de commande des décalages . Le circuit logique de déter-30 mination des décalages répond au bit No-0p et fournit les signaux au circuit logique de commande des décalages pour décaler le contenu de mémoire intermédiaire déterminées vers les mémoires intermédiaires ayant,leur bit No-Op mis à 1 sans extraire préalablement le contenu de ces dernières. Ceci revient à écrire électroniquement pardessus les instructions qui sont à 35 sauter, ce qui équivant à les sauter. Un circuit de saut spécial comprenant un circuit logique d'inhibition de décodage d'instruction est inclus dans la dernière mémoire intermédiaire inférieure du dispositif à décalage pour tenir compte d'un saut particulier qui n'est pas commandé par la mise à 1 du bit No-Op . 69 12350 4 2011671 Le circuit logique de détermination des décalages fournit aussi des signaux pour introduire de nouvelles instructions provenant de la source des instructions séquentielles dans le premier groupe des mémoires intermédiai res à décalage vers le bas pour continuer le traitement. 5 On obtient de nombreux avantages en utilisant l'invention. Ces avantages sont l'élimination des points de branchement lorsque les instructions sont à sauter. Avant le dispositif de l'invention, pour sauter une ou plusieurs instructions, il était nécessaire de réaliser un branchement occasionnant le traitement d'une sortie de branchement. Le traitement 10 des sorties de branchement affecte de façon sérieuse la performance de l'unité de traitement centrale. Par exemple, on va considérer les étapes de programme suivantes. Si Ca) X = A x Y + B Z = X : C 15 Avant dtitxliser la présente invention, l'unité de traitement centrale exécuterait les étapes précédentes de la manière suivante: BRANCHEMENT Si pas (a) X = A x Y X = B + X 20 Z « Z : C Ainsi, avant l'invention, un branchement devait être réalisé que la condition (a) se produise ou non. Si la condition se produisait, le programme échouait et réalisait la multiplication de.A rt Y et l'addition de B au produit. Si la condition ne se produit pas, le programme se branchait 25 sur l'instruction de division. Dans l'un et l'autre cas, l'unité de mise en séquence était obligée de traiter la sortie, de branchement. Le traitement des sorties de branchement affecte de façon sérieuse la performance de l'ordinateur. Le traitement d'une sortie de branchement est éliminé en utilisant le dispositif de l'invention, ce qui fait que les étapes précédentes 30 du programme sont réalisées de la façon suivante: SAUT si pas Ca) *X - A x Y *X = X + B Z « X : C 35 Dans l'exemple précédent, les instructions portant un astérisque indiquent des instructions ayant leur drapeau de saut mis à 1 conformément à l'invention. Si la condition Ca) échoué, l'instruction de saut est alors considérée comme satisfaisante et les deux exemples portant des astérisques sont immédiatement sautés car ils sont ignorés et il n'y a plus besoin 69 12350 5 2011671 20 25 de traiter une sortie de branchement. Un second avantage de la présente invention est qu'elle donne la possibilité d'optimiser un code écrit. Comme on l'a mentionné précédemment il y à une probabilité plus élevée d'optimiser un seul bloc de code long que d'optimiser plusieurs blocs de code, courts. Par suite, un autre avantage de l'invention est représenté schématiquement dans le tableau ci-dessous: Avec branchement Avec saut Structure CODE Structure Code QP OP 10 Branchement à « Test SAUT OP * 0P OP 1 ■* 0P 0P *0P «OP 2 OP 15 OP OP OP OP Comme représenté dans la première colonne du tableau précédent, afin de faire un branchement à la suite d'un test résussi,'d'une première instruction vers une instruction désignée a il est nécessaire de traiter une sortie de branchement. La structure de code correspondante est de ce fait divisfie en segments 1 et 2. Cependant, en utilisant le dispositif de la présente invention, il est possible de sauter les trois instructions portant un astérisque sans traiter une instruction de branchement. Ainsi, la structure de code est un seul bloc long 1 au lieu d'être constituée de 2 blocs courts 1 et 2 ce qui donne une probabilité supérieure d'optimisation de code. D'autres objets, caractéristiques et avantages de la présente invention ressortiront mieux de l'exposé qui suit fait en référence aux dessins annexés à ce texte qui représentent un mode de réalisation préféré de celle-ci: 30 La figure 1 est une représentation des événements se produisant pendant diverses parties d'un cycle machine typique conformément à la présente invention. La figure 1A représente comment les figures 2 et 3 doivent être placées. La figure 2 représente la partie de l'invention comprenant le dispositif 35 à décalage le circuit logique No-Op, la circuit logique de détermination de décalage et le circuit logique de commande des décalages. La figure 3 représente la partie du dispositif de l'invention comprenant le décodeur d'instructions, les décodeurs auxiliaires, les registres de condition et le générateur de fonction. 69 12350 6 2011671 La figure 4 est un tableau montrant comment le dispositif à décalage est décalé sous comnande de la valeur des bits No-Op dans certains éléments du second groupe de mémoires intermédiaires à décalage. La figure 5 est une représentation détaillés du circuit logique ds g détermination des décalages représentés de façon générale dans la figure 2. La figure 6 est une représentation détaillée du circuit logique de commanda de décalage représenté de façon générale sur la figure 2. La figure 7 est une représentation détaillée du générateur de fonction 10 représenté de façon générale sur la figura 3. La figure S est uns représentation détaillée du registre de condition représenté d'une manière générale sur la figure 3. La figure 9A est una représentation de l'intervalle de saut utilisé dans l'Invention. 15 La figure SB est une représentation d'une structure d'instruction utilisable dans l'invention. Las figures 10A à 12B sont des représentations montrant des exemples du fonctionnement de l'invention. La structure d'une réalisation de l'invention est représentée d'une 20 manière générale sur las figures 2 et 3 placées l'une-à côté ds l'autre comme le montre la figure 1A. Avant de passer â la description des figures 2 et 3, 11 est bon de noter que la fonctionnement de cette réalisation décrit par la suite est réalisé à partir d'un cycle machine ayant 5 sous-périodes, à savoir A, B, C, 0 et E. Ceci est représenté schématiquement 25 sur la figure f. Les références ultérieures faites à une sous-période d'un cycle machine, par exemple, la période A indiquant une impulsion qui se produit pendant cette partie du cycle machine de la figure 1 indiquée instant A. Sur la figure 1, une source de séquence d'instructions non représentée 30 est connectés aux groupes de lignes 90, 92, 94 et 96 ds façon séquentielle. De tels groupes de lignes seront désignés par la suite sous le nom de "bus". La connexion est réalisés de façon que l'instruction la plus ancienne d'un groupe dans une sous-séqusnce d'instruction transmise sur ces bus soit transmise sur le bus 96, et l'instruction la plus récente sur le bus 90. 35 Un dispositif à décalage représenté de façon générale en 1 est utilisé. Ce dispositif comprend les registres intermédiaires 2, 4 14. Ces registres intermédiaires seront appelés par la suite rangée 0, rangée 1, rangée 6. Ces rangées sont constituées par des mémoires intermédiaires à décalage. Les rangées 3, 6 peuvent être caractériséas comme un premier 69 12350 7 2011671 groupe de mémoires intermédiaires et les rangées 0-2 peuvent être caractérisées comme un second groupe de mémoires intermédiaires. Chaque élément du premier groupe est connecté aux bus 90 .... 96 au moyen des bus 125, 127, 129, 131 par l*intermédiaire/p8rtes 98, 100, 102, 104. 5 On va se référer à la figure 9B pour décrire la configuration générale d'une instruction utilisée dans une machine du type décrit. En se référant à cette figure, on peut voir qu'une instruction qui peut être utilisée dans l'invention comprend au moins un champ de code opération et des premier et second champs qui seront appelés par la suite champ i et champ j. Chaque 10 instruction comprend aussi un bit qui peut être mis à 1 ou à 0 et qui sera appelé par la suite "drapeau de saut". Le code opération de l'instruction désigne l'opération que l'instruction détermine. Par exemple, si le code opération a huit bits, il y a 256 opérations que ce champ peut déterminer. Dans la présente invention, les instructions de saut constituent un sous-15 ensemble du groupe des configurations d'instructions possibles. L'action de saut est conditionnelle et elle est réalisée en fonction de deux bits d'un registre de conditions qui sera décrit par la suite, l'état de ce registre peut être considéré comme une condition machine. Pour déterminer un saut, deux paramètres sont nécessaires: C1) indication si le saut est à réaliser 20 ou non,(détermination de condition); et (2) le nombre d'instructions à sauter, c'est à dire, l'intervalle de saut. La détermination de condition indique si oui ou non le saut est à réaliser et elle est calculée en fonction de deux bits sélectionnés dans le registre de condition. Les champs i et j de l'instruction sélectionnent ces bits. La fonction qui est calculée 25 est déterminée par le code opération. Si la valeur de la fonction est "un", ' le saut est dit "réussi" et les instructions à l'intérieur de l'intervalle de saut seront ignorés. Si la valeur de la fonction est "zéro", le saut est dit "non résussi" et les instructions suivantes sont exécutées normalement. Huit fonctions peuvent être déterminées comme c'est représenté dans le 30 tableau 1. Ce tableau est donné simplement à titre illustratif et il est évident que l'on peut utiliser bien plus d'instructions saris sortir du cadre de linvention. TABLEAU 1 ci8tcj ci ouCj 35 Cj et C C. ou Cj ?i»tïï3 ?I 0UÏÏJ Ci"C3 Ci ' V 69 12350 8 2011671 Ainsi, par exemple, et en supposant un code opération de 6 bits, une configuration de bits particulière des 5 premiers bits d'ordre supérieur indiquera que l'instruction est une instruction de saut et les trois bits d'ordre inférieur de l'instruction indiquent laquelle parmi les huit fonctions 5 précédentes doit être calculée pour déterminer si l'on doit oui ou non réaliser le saut. Après cette explication de l'instruction utilisée dans le dispositif de l'invention, on se référera de nouveau à la figure 2 dans laquelle on peut voir que chaque bus de transmission 125.... 131 a un prolongement 10 117, 119, 121, 123 pour transférer les cinq bits d'ordre supérieur du code opération de l'instruction dans les décodeurs 108, 110, 112, 114. Chacun de ces décodeurs a la fonction de déterminer si oui ou non l'instruction est un saut. Si dans l'exemple considéré, les cinq bits d'ordre supérieur ont la configuration de bits particulière une instruction de saut, le 15 bit Si de la rangée respective est mis à 1. Si, cette configuration ne représente pas une instruction de saut, le bit S^ est mis à 0. Dans l'un et l'autre cas, le bit No Op est initialement mis à 0 par l'intermédiaire des portes OU 109, 111, 113, 115. On utilise un circuit logique de décalage pour chaque rangée. Le circuit qui sera décrit en détail par la suite 26 donne à chaque rangée la possibilité de décaler son contenu vers le bas. Par exemple, le circuit logique de décalage 55 est utilisé pour la rangée 6. Le bus 133 est commandé par le circuit logique de commande de décalage 55 de sorts que le contenu de la rangée 8 peut âtre décalé vers le bas d'une rangée par l'intermédiaire du bus 137, de deux rangées par l'intermédi-25 aire du bus 139, de trois rangées par l'intermédiaire du bus 141 ou de quatre rangées par l'intermédiaire du bus 143. On utilise un circuit logique de commande de décalage et des bus analogues pour chaque rangée mais on n' a représenté que les circuits pour la rangée 6 afin ds conserver au dessin sa clarté. Bien que les rangées 6, 5 et 4 aient la possibilité de réaliser 30 un décalage égal à un maximum de quatre rangées, on remarquera que, à cause des limitations de dimensions de la mémoire intermédiaire, la rangée 3 peut être décalée d'un maximum de trois rangées, la rangée 2 d'un maximum de deux rangées et la rangée 1 d'un maximum d'une rangée. En continuant à sa référer aux figuras 2 et 3, on peut voir que le 35 contenu de la partie de la rangée □ représentant le code opération d'une instruction particulière est connecté par l'intermédiaire d'une porte 118 au décodeur d'instruction 40 par le bus 170. De même, les bits de la rangée 0 représentent les champs i et j respectivement et sont connectés par l'intermédiaire des portes 120 et 122 aux décodeurs 44 et 46 par les bus 69 12350 S 2011671 172, 174 respectivement. Les portes 118, 120, 122 ont une ligne ds conditionnement 176 qui est excitée à l'instant □. Les décodeurs 40 , 44 et 46 sont des décodeurs classiques de code binaire en code 1 parmi N bien connus dans la technique et ne seront pas décrits. Le décodeur 46 est connecté 5 par le bus 200 aux registres de condition 56 qui sera décrit an détail par la suite. De môme, le décodeur 44 est connecté par le bus 202 aux registres de condition 56. Le générateur de fonction 62 sert à calculer la fonction des bits indiqués par les champs i et j. Le générateur de fonction 62 sera décrit par la suite. Les registres de condition 56 sont connectés 10 au génératour de fonction 62 par l'intermédiaire des lignes et Cj . C^, C^ représentent les valeurs exactes et complémentaires respectivement du bit du registre de condition déterminé par le champ i alors que Cj, Cj indiquent les valeurs exactes et complémentaires du bit du registre de condition déterminé par le champ J. Le décodeur d'instructions 40 a 15 des sorties indiquant le type d'instruction qui est décodé à partir de la rangée □. Par exemple, si l'instruction est une instruction de division, un signal sera transmis par l'intermédiaire de la ligne 177 au diviseur ds l'ordinateur digital non rspréssnté. 0s même, une instruction de multiplica--tion excitera la ligne 178 etc. Si l'instruction est une instruction de 20 saut, une des lignes 42 sera excitée. Les lignes de sortie 42 du décodeur d'instruction 40sont connectées au générateur de fonctions 62. Huit lignes de sortie sont représentées correspondant aux huit fonctions des bits du registre de condition sélectionnés par les champs i et j de l'instruction de saut conformément à l'exemple illustré. 25 On utilise aussi la bascule 124 d'état de saut. La ligne 157 est connectée à une borne de la bascule 124. Le générateur de fonction 62 est connecté par l'intermédiaire de la ligne 65 au côté 1 de la bascule 124 et au côté 0 ds la bascule 124 par 1'intermédiaire de la ligne 67• Comme cela deviendra évident par la suits, la ligne 65 indique que la 30 condition de l'instruction de saut décodée a été déterminée comme réussie et que le dispositif est dans le mode de saut, c'est à dire* que toutes les instructions ultérieures munies d'un drapeau sont sautées jusqu'à l'instruction de saut suivante n'ayant pas de drapeau. La ligne 67 indique que la condition a été déterminée comrne"non réussie*et que le dispositif 35 n'est pas dans le mode de saut. On utilise les circuits logiques de non-opération 145; 147, 149 pour mettre à 1 les bits No-Op pour les rangées 1, 2 et 3 respectivement, si le drapeau de saut de l'instruction respective dans ses rangées indique que l'instruction doit être sautée lorsqu'on est dans le mode de saut. 69 12350 10 2011671 Comme cala deviendra évident par la suite, ces bits No-Op contrôleront le saut des instructions dans les rangées 1, 2 et 3. Dans l'exemple considéré, chaque circuit logique No-Op peut être constitué comme une porte ET. Le circuit No-Op 145 de la rangée 1 est conditionné par la ligne 5 157 qui indique si oui ou non le dispositif est dans le mode de sautj par le côté 0 du bit de la rangée 0 par l'intermédiaire de la ligne 189 et par le sôtâ 1 du drapeau de saut de la rangée 1 par l'intermédiaire de la ligne 183. Le bit No-Qp de la rengée 1 ast mis à 1 par la ligne 146 à l'instant C d'un cycle donné et ce bit No-Qp commandera le saut 10 tie l'instruction dans la rangée 1 â l'instant A du cycle suivent comme cela deviendra évident par la suite. Puisque le décodage des instructions est réalisé à l'instant D„ il est nécessaire d'inhiber le réglage du bit No-Op de la rangé® 1 si l'instruction dans la rangés 0 est un saut à l'instant C puisque on ne sait pas encore que cette instruction de saut dans la 15 rangée 0 est réussie. Par conséquent, la ligna 189 sert d'entrée de condition-nement pour la circuit logique 145. La circuit logique No-Op 147 de la rangée 2 est conditionné par la ligne 157, par le côté 1 du drapeau da saut de la rasigâe 2, et par le eôté 0 du bit dans la rangée 0 par l'intermédiaire de la ligne 189 20 st par la côté Q du bit de la rangée 1 par l'intermédiaire de la ligne 137. Ces deux dernières lignes ont les mêmes fanatisas que l'entrée de conditionnement 189 au circuit logique No-Op de la rangée 1. Le circuit logique No-Op 148 ds la rangée 3 ast conditionné par la ligne 157, par le sfité 1 du drapeau de saut de la rangée 3 et par le côté 25 0 du bit Si de la rangée 0 Cligne 1393* de la rengês 1 Cligne 1873 «t de la rangés 2 (ligne 1813. Ces trois dernières lignes de conditionnement ont les mêmes fonctions que l'entrée de conditionnement 189 au circuit logique No-Op de la rangée 1. Dans un cas particulier dans lequel une instruction à sauter est 30 décalés directement à la rangés 0 sans qu 'elle soit présente dans une dss rangée 1, 2 ou 3 (et par suite qu'elle ne soit pas sautée sous commande' •;ia ces bits No-Op), on utilise la ligne d'inhibition 187. Cette ligna est constituée par la sortis de la porte ET 165c La porte ET 165 a somme entrés las lignes 159 et 161. Si la machine est dens la mode de saut (ligne 35 150) lorsque uns instruction à sauter est dans la rangée 0, (ligne 161), la ligne d'inhibition 167 inhibe alors le décodage de cette instruction. Ceci peut être réalisé par des moyens bien connus dans la technique, par exemple, en conditionnant chaque ligne de sortie du décodeur d'instructions 40 avec le complément de la ligne d'inhibition 187 et cette opération CAD ORIGINAL 69 12350 11 2011671 ne sera pas décrite ici. Comme cela deviendra évident par la suite, on utilise le circuit logique 144 de détermination des décalages pour déterminer de combien de rangées le contenu de chaque rangée est décalé. Les côtés 1 et 0 des bits 5 No-Op des rangées 1, 2 et 3 sont connectées au circuit logique 144 par les lignes 250, 252 .... 260 par la porte 142. La porte 142 a une ligne de conditionnement 262 qui est excitée au temps E. Le circuit logique 144 est constitué essentiellement d'un décodeur pour déterminer à partir de la valeur des bits No-Qp des rangées 1, 2 et 3 de combien de rangées le 10 contenu des diverses rangées du dispositif à décalage sera décalé pendant un cycle machine donné. Le circuit logique 144 est connecté par le bus 264 et la porte 66 au circuit logique de commande de décalage pour chaque rangée particulière.La porte 66 a une ligne de conditionnement 266 qui est excitée à l'instant A. Le bus 264 comprend plusieurs lignes. Les lignes 15 50, 52, 54, 64 sont connectées au circuit logique de commande de décalage 55 pour la rangée 6. Un signal sur la ligne 50 indique que la rangée 6 sera décalée vers la bas d'une rangée, un signal sur la ligne 52 indique que la rangée 6 sera décalée vers le bas de deux rangées, un signal sur la ligne 54 Indique que la rangée 6 sera décalée de trois rangées, st 20 un signal sur la ligne 64 indique que la rangée 6 sera décalée de 4 rangées. - Qe même, les lignas 34, 36, 38 et 48 sont connectées au circuit de commande du décalage pour la rangée 5. Les lignes 27, 28, 30 et 32 sont connectées au circuit logique de commande des décalages pour la rangée 4. Les lignes 22, 24, 26 sont connectées au circuit logique de commande des décalages 25 pour la rangée 3. Les lignes 18 et 20 sont connectées au circuit logique de commande des décalages pour la rangée 2 et la ligne 16 est connectée au circuit logique de commandes 'des décalages vers le bas pour la rangée 1. La circuit logique 144 est aussi connecté à une section de recherche d'instruction de l'unité de traitement central par l'intermédiaire des 30 lignes 82, 84, 86, 88. Ces lignes informent le système quant au nombre des instructions qui sont à fournir au dispositif à décalage 1. Si la ligne 82 est active, une seule instruction sera envoyée et elle apparaîtra sur le câble 90. Si la ligne 84 est active, deux instructions seront envoyées et elles apparaitront simultanément sur les câbles 92 et 90, respectivement. 35 Si la ligne 86 est active, trois instructions seront envoyées et elles apparaitront sur les câbles 94, 92 et 90 respectivement. Si la ligne 88 est active, quatre instructions seront envoyées et elles apparaîtront simultanément sur les câbles 96, 94, 92 et 90 respectivement. Les lignes 82 à 88 sont aussi connectées à la porte 106. La porte 106 a une ligne 69 12350 12 2011671 de conditionnement 107 qui est excitée à l'instant B. Les lignas 82 à 86 sont connectées par l'intermédiaire de la porte 106 et des lignes 3, 5, 7, 0 à la porte OU 97 pour conditionner la porte 98. Oe mime, les lignes 84 à 88 sont connectées par l'intermédiaire de la porte 106 et de lignes 5 11 , 13 et 15 à la porte OU 99 pour conditionner la porte 100. Les lignes 86 et 88 sont connectées par l'intermédiaire de la porte 106 et des lignes 17 et 19 à la porte OU 101 pour conditionner la porte 102 et la ligne 88 est connectée à la porte 106 par l'intermédiaire de la ligne 21 pour conditionner la porte 104. 10 La structure détaillée d'un mode réalisation du registre-de condition représentée en 56 sur la figure 3 va maintenant être décrite en se référant à la figure 8. Ce registre comprend plusieurs bascules, on en a représenté 32 et ces bascules portent les références C^, C^, C^» •••■ C^. Deux paires de lignes de sortie 58, 60 sont utilisées comme sorties du registre de 15 conditions. Les lignes de la paire 58 portent les références C^ et C^ indiquant respectivement les valeurs exacte et complémentaire du bit du registre de conditions désignées par le champ i de l'instruction dans la rangée 0 C.j elles indiquent respectivement les valeurs exacte et complémentaire J 20 du bit du registre de condition indiqué par le champ j de l'instruction dans la rangée 0. Chaque bascule dans le registre de condition est connectée aux lignes de sortie 58, 60 par l'intermédiaire d'un moyen de conditionnement approprié tel que 204, 205 représenté pour le bit CQ. On rappelera que le décodeur de champ i 44 et le décodeur de champ j 46 sont des décodeurs 25 classiques de code binaire en code 1 parmi N. Dans l'exemple considéré on peut supposer que N est égal à 32 lignes. Ainsi, le champ i et le champ j indiqueront 1 parmi les 32 bits du registre de condition sur lesquels une fonction sera calculée dans le générateur de fonctions 62 pour déterminer si oui ou non la condition désignée par une instruction de saut dans la 30 rangée 0 esfréussie" Le bus 300 est représenté sur la figure 8. Chaque conducteur indiquant le bit sélectionné par le champ j est référencé j-» j„» •••• et sert à transférer la valeur du bit sélectionné par 12 31 l'intermédiaire des portes 204, 206, 208... 212. 0e même, le bus 202 arrive au registre de condition 56 et chaque ligne du bus indique le bit particulier 35 du registre de condition sélectionné par le champ i. Ces bits sont désignés iQ, i^, i2«... i31 et servent à transférer la valeur du bit sélectionné par l'intermédiaire des portes 205, 207, 209.... 213. Ainsi, à la suite de l'excitation des portes 120 et 122 sur la ligne 176, à l'instant D, les décodeurs 44 et 46 décoderont la valeur des champs i et j respectivement 69 12350 13 2011671 qui désignent un bit particulier dans le registre de condition sur lequel sera calculée une fonction et qui sera testé pour déterminer si le saut dans la rangée 0 est réussi. Ainsi, par exemple, si le champ j désigne le bit D et le champ i le bit 31, la valeur du bit C^ soit 0, soit 1 sera 5 transférée à la ligne 60 par l'intermédiaire de la porte 204 et la valeur du bit C^ soit □, soit 1 sera transférée aux lignes 58 par l'intermédiaire de la porte 213. Les valeurs des bits CQ, .... dépendent de diverses conditions machine suivant les conditions du système et elles sont établies par des moyens qui ne font pas partie de la présente invention. 10 Le générateur de fonction représenté en 62 sur la figure 3 est représenté en détail sur la figure 7. On rappelera d'après la description des figures 2 et 3, que le décodeur d'instructions 40 décode le champ de code opération de l'instruction dans la rangée 0. Si on trouve que cette fonction lorsqu'elle est décodée est une instruction de saut, l'instruction du type saut est 15 indiquée par l'une des lignes de sortie 42. C'est à dire, la ligne particulière parmi les lignes 42 qui est excitée indiquera la fonction des deux bits du registre de condition déterminé par le champ i et le champ j qui est à calculer. Sur la figure 7, les lignes 42 comprenant les lignes 263, 264, 265 .... 270 forment les entrées de conditionnement au générateur 20 de fonction. Les deux couples de lignes 58, 60 provenant des registres de condition décrits précédemment constituent aussi des entrées au générateur de fonction. Les lignes 58 indiquent les valeurs exacte et complémentaire du bit particulier du registre de condition sélectionné par le champ i tandis que les lignes 60 indiquent les valeurs exacte complémentaire du 25 bit particulier du registre de condition sélectionné par le champ j. Le générateur de fonction 62 comprend aussi des lignes de sortie 65 qui indiquent que la fonction déterminée par les bits sélectionnés du registre de condition est égale à 1, c'est à dire que le saut esfréussi" pour fournir une première indication, à savoir un signal sur la ligne 157 provenant du côté 1 de 30 la bascule 124 de la figure 3 indiquant que les instructions munies d'un drapeau suivant l'instruction dans la rangée 0 doivent 8tre sautées jusqu'à ce que l'on décode dans la rangée 0, une instruction de saut n'ayant pas de drapeau de saut, à 1. On utilise la ligne 67 qui, lorsqu'elle est excitée indique que la fonction déterminée des deux bits sélectionnés dans les > 35 champs i et j est égale à zéro et par suite que le saut n'est pas réussi. Cette ligne fournira une seconde indication en réglant le côté 0 de la bascule 124 de la figure 3 ce qui désexcite la ligne 157 si elle était excitée et par suite inhibe le saut des instructions munies d'un drapeau suivant l'instruction dans la rangée 0 à cet instant. Le générateur 69 12350 14 2011671 de fonction de la figure 7 comprend aussi des portes 215, 217, 219 .... 229. La porte 215 a comme entrée les valeurs exactes des bits et Cj et elle est conditionnée par la ligne 263. La porte 217 a comme entrée la valeur exacte de et la valeur complémentaire de et elle est conditionnât 5 par la ligne 264. La porte 219 a comme valeur le complément de et le complément de et elle est conditionnée par la ligne 265. Les sorties des portes 215, 217, 219 sont connectées aux entrées de la porte ET 226. Ainsi, l'excitation de la ligne 263, 264 ou 265 indiquera sur la ligne 228 si la fonction ET des entrées déterminées est exacte et ainsi excitera la ligne 65 par l'intermédiaire de -la porte OU 247. Si la valeur de la fonction ET est nulle, la ligne 230 excitera la ligne 67 par l'intermédiaire de la porte 245. La porte 221 a comme entrée les valeurs exacte et complémentaire de et Cj et elle est conditionnée par la ligne 266. Au conditionnement par la ligne 266, les valeurs exactes de et Cj sont transmises à la porte ET 231 et les valeurs complémentaires de et sont transmises à la porte ET 233. La sortie de chacune de ces portes sert d'entrée à la porte 235 de sorte que si est égale à C^, à l'excitation de la ligne 266, la ligne 232 excitera la ligne 65 par l'intermédiaire de la porte 247. Si n'est pas égal à lorsque la ligne 266 est excitée, la ligne 234 excitera la ligne 67 par l'intermédiaire de la porte OU 245. La porte 223 a comme entrée les valeurs exactes de et Cj et elle est excitée par la ligne 267. De même, la porte 225 a comme entrée la valeur exacte de et le complément de la valeur de Cj et elle est conditionnée par la ligne 268. La porte 227 a comme entrée les valeurs complémentaires de et Cj et elle est conditionnée par la ligne 269. Les sorties des portes 223, 225 et 227 sont connectées aux entrées de la porte OU 236. Lorsqu'elle est excitée, par l'une des lignes 267, 268 ou 269, la porte QU 236 donnera la fonction OU des/IGxrportes respectives qui sont excitées et si la fonction est égale à 1, la ligne 240 excitera la ligne 165 par l'intermédiaire de la ligne 247 pour indiquer que le saut est réussi et que les instructions ultérieures munies d'un drapeau doivent être sautées. Si la fonction est égale à zéro la ligne 242 excitera la ligne 67 par l'intermédiaire de la porte 245 indiquant un saut non réussi. La porte 229 a comme entrée les valeurs exacte et complémentaire de Ci et et elle est conditionnée par la ligne 270. Lorsque elle est conditionnée par la ligne 270, la porte 229 transférera la valeur exacte de C.^ et la valeur complémentaire de C à la porte ET 237 et transférera la valeur J complémentaire de et la valeur exacte de à la porte ET 239. Les sorties des portes ET 237 et 239 sont connectées à l'entrée de la porte 69 12350 15 2011671 QU 241 de sorte qu'à l'apparition du signal ds sortie exact provenant des portes ET 237 ou 239, le circuit OU 241 aura une sortie indiquant que n'est pas égal à C^ et la ligne 244 excitera la ligne 165 par l'intermédiaire de la porte OU 247. De même, si à l'excitation de la ligne 270, n * ni la porte 237, ni la porte 239/a un signal ds sortie égal à 1, la ligne 246 excitera la ligne 67 par l'intermédiaire de la porte 245 indiquant que la détermination de condition n'est pas remplie et que le saut n'est pas réussi. Il est à noter que au plus, une ligne dans le groupe de lignes numérotées 42 peut être excitée à un instant donné quelconque et ceci sè produira à un instant quelconque pendant la période D puisque, pendant ce temps, la porte 118 a transféré la sortis de la rangée 0 dans le décodeur d'instructions 40 sur la figure 3. De même, à ce moment, les portes 120 et 122 ont transféré le champ i et le champ j aux décodeurs 44 et 46 pour sélectionner les bits corrects C^ et C^ provenant du registre de condition 56 de la figure 3. Par conséquent, le générateur de fonction reçoit la valeur sélectionnée des deux bits provenant du registre de condition et reçoit aussi une ligne de conditionnement provenant d'une des lignes 42 indiquant la condition machine sur laquelle un saut doit être réussi et calcule la fonction indiquant la condition. Si la fonction est égale à 1, la ligne 65 met la bascule 124 à son état 1, Si la fonction est égale à zéro, la ligne 67 met la bascule 124 de la figure 3 à son état 0. La fonction du circuit logique de désignation de décalage 144 représentée sur la figure 2 est d'indiquer de combien de rangées chaque rangée individuelle du dispositif à décalage est décalée pendant chaque période B du cycle de la machine. Une structure détaillée possible pour le circuit logique 144 est représentée sur la figure 5. Sur cette figura, les lignes 274 et 275 .... 279 viennent des bits No-Op des rangées 1, 2, 3. Comme cela deviendra évident par la suite, chaque fois qu'un bit No-Qp dans la rangée 1, dans la rangée 2 ou dans da rangée 3 est mis à son état 1, ceci indique que l'instruction présente dans cette rangée particulière doit être sautée en décalant une instruction venant d'une autre rangée dans cette rangée particulière ce qui saute l'instruction en écrivant de façon électronique par dessus elle. On peut voir ceci en se référant au tableau de la figure 4. La figure 4 est un tableau montrant le décalage de chaque rangée sous commande de la valeur des bits No-Op dans les rangées 1, 2 et 3. Par exemple, on peut voir d'après la colonne 1 du tableau que, lorsque chaque bit No-Qp pour la rangée 1, 2 et 3 est égal à 0, ceci indique qu'il n'y a pas de saut à réaliser. Par conséquent chaque rangée dans le dispositif à décalage dans le bas n'est décalée que d'une rangée. Ceci constitue- 69 12350 16 2011671 l'opération normale en l'absence de saut et dans cette opération chaque rangés reçoit une nouvelle instruction et en particulier la rangée D reçoit l'instruction pour la rangée 1 pour le décodage et le traitement. Un bit No-Op dans la rangée 1, 2 ou Q ne peut jamais être mis à 1 à moins.que 5 le système soit dans le mode de saut. Par suite, les colonnes 2 à B ayant au moins 1 bit No-Op à 1 dans la rangée 1, la rangée 2 ou la rangée 0, indique que la machine est dans le mode de saut. La colonne 5 indique par exemple que la rangée 3 a son bit No-Op à 1« Ceci signifie que l'instruction dans la rangée 3 doit être sautée, mais que toutes les autres instructions 10 dans le dispositif à décalage dans ce cycle particulier doivent être décalées. Par suite, l'instruction provenant de la rangée 1 est décalée vers le bas d'une rangée dans la rangée 0 à partir de laquelle elle est à traiter. L'instruction provenant de la rangée 2 est décalée vers le bas dans la rangée 1. L'instruction provenant de la rangée 3 a son bit No-Op à 1 et 15 elle doit être sautée. Par suite, elle n'est pas décalée. L'instruction provenant de la rangée 4 est décalée de deux rangées et amenée dans la rangée 2 pour prendre la place de l'instruction qui a été décalée dans la rangée 3. L'instruction provenant de la rangée 5 est décalée vers le bas de deux rangées dans la rangée 3. Ceci réalise le. saut. L'instruction 20 provenant de la rangée Sa été écrite sur l'instruction dans la rangée 3 qui doit être sautée. Finalement, l'instruction provenant de la rangée 6 est décalée vers le bas de deux rangées dans la rangée 4. A ce moment, les instructions sont encore dans la séquence dans laquelle elles étaient avant le décalage sauf que l'instruction dans la rangée 3 qui doit être 25 sautée a été annulée car on a écrit sur l'instruction qui était dans la rangée 5 a . Cependant, il n'y a plus actuellement d'instruction dans la rangée 5 ou la rangée 6. C'est aussi la fonction du circuit logique 144 d'indiquer combien de nouvelles instructions provenant de la source de séquence d'instruction sont à introduire au sommet du dispositif à 30 décalage. Dans l'exemple considéré, il y aura deux instructions indiquées par des signaux sur les lignes 82 et 84 de la figure 2. En se référant à la figure 5, on peut voir que le circuit logique 144 comprend des portes ET 152, 154 .... 166. Il comprend aussi des bascules 126, 128.... 140. Chaque bascule a une ligne d'entrée de conditionnement 35 qui est excitée à l'instant D d'un cycle donné pour vider le circuit logique qui est réglé pendant l'instant E de ce cycle. Les sorties des portes ET respectives servent d'entrées au côté 1 des bascules respectives dans la séquence 152 à 140, 154 à 138 .... 166 à 126. Le circuit logique de la figure 5 comprend des portes OU 280, 282 &AD ORIGINAL 69 12350 17 2011671 .... 290. Les lignes de sortie du côté 1 des bascules 128, 132, 136, 140 sont connectées aux entrées de la porte OU 260. Les lignes de sortie provenant du côté 1 des bascules 132, 140 sont connectées aux entrées de la porte OU 282, les sorties des bascules 130, 138 sont connectées aux entrées 5 de la porte OU 284, les sorties provenant du côté 1 des bascules 136, 138 sont connectées aux entrées de la porte OU 266. Les sorties en provenance du côté 1 des bascules 132, 136, 138 sont connectées aux entrées de la porte OU 2B8 et les sorties du côté 1 des bascules 128, 130, 134 sont connectées aux entrées de la porte OU 290. 10 Les lignes de sortie du circuit logique 144 viennent du circuit logique précédent par l'intermédiaire de la porte 66 de la façon suivante. La ligne de sortie 16 vient de la porte OU 280 et lorsqu'elle est excitée, indique que la rangée 1 doit être décalée vers le bas d'une rangée. La ligne de sortie 18 vient de la porte OU 282 et lorsqu'elle est excitée, 15 indique que la rangée 2 doit être décalée vers le bas d'une rangée. La ligne de sortie 20 vient de la porte OU 284 et lorsqu'elle est excitée indique que la rangée 2 doit être décalée vers le bas de deux rangées. La ligne de sortie 22 vient du côté 1 de la bascule 140 et lorsqu'elle est excitée, indique que la rangée 3 doit être décalée vers le bas d'une 20 rangée. La ligne de sortie 24 vient de la porte OU 286 et lorsqu'elle est excitée indique que la rangée doit être décalée vers le bas de deux rangées. La ligne de sortie vient du côté 1 de la bascule 134 et lorsqu'elle est excitée, Indique que la rangée 3 doit être décalée vers le bas de 3 rangées. La ligne de sortie 27 vient du côté 1 de la bascule 140 et lorsqu'elle 25 est excitée, indique que la rangée doit être décalée vers le bas d'une rangée. La ligne de sortie 28 vient de la porte OU 288 et lorsqu'elle est excitée, indique que la rangée 4 doit être décalée vers le bas de deux rangées. La ligne de sortie 30 vient de la porte OU 290 et lorsqu'elle est excitée, indique que la rangée 4 doit être décalée vers le bas de 30 3 rangées. La ligne de sortie 32 vient du côté 1 de la bascule 126 et lorsqu'elle est excitée indique que la rangée doit être décalée vers le bas de 4 rangées. La ligne de sortie 34 vient du côté 1 de la bascule 140 et indique que la rangée 5 doit être décalée vers le bas d'une rangée. La ligne de sortie 36 vient de la bascule 288 et lorsqu'elle est excitée 35 indique que la rangée 5 doit être décalée vers le bas de deux rangées. La ligne de sortie 38 vient de la porte OU 290 et lorsqu'elle est excitée indique que la rangée 5 doit être décalée vers le bas de trois rangées. La ligne de sortie 48 vient du côté 1 de la bascule 126 et lorsqu'elle est excitée indique que la rangée 5 doit être décalée vers le bas de 4 69 12350 18 2011671 rangées . La ligne de sortie 50 vient du côté 1 de la bascule 140 et lorsqu'elle est excitée, indique que la rangée 6 doit être décalée vers le bas d'une rangée. La ligne de sortie 52 vient de la porte OU 288 et lorsqu'elle est excitée, indique que la rangée 6 doit être décalée vers le bas de 5 deux rangées. La ligne de sortie 54 vient de la porte OU 290 et lorsqu'elle est excitée, indique que la rangée 6 doit être décalée vers le bas de trois rangées. La ligne de sortie 64 vient du côté 1 de la bascule 126 et lorsqu'elle est excitée indique que la rangée 6 doit être décalée vers le bas de 4 rangées. On notera que ces lignes de sortie constituent le 10 bus de sortie indiqué en 264 provenant du circuit logique 144 de la figure 2. Ainsi, ces lignes de sortie, mentionnées en dernier lieu, constituent les entrées aux portes 66 de la figure 2 et sont conditionnées à l'instant A pour indiquer aux circuits logiques individuels à décalage vers le bas, le nombre de rangées dont chaque rangée individuelle doit être décalée 15 à l'instant correct du cycle de la machine. Les lignes de sortie 82, 84, 86, 88 indiquent à source de séquence d'instructions combien d'instructions sont à fournir pendant un cycle donné pour remplacer les instructions décalées à partir des diverses rangées. Ces lignes fournissent aussi un signal de conditionnement pendant la période 20 B pour les portes 98, 100, 102 et 104 pour transférer le nombre demandé d'instructions dans des rangées libres, La ligne 82 vient du côté 1 de la bascule 140. La ligne 84 vient de la porte OU 288. La ligne 86 vient de la porte OU 290 et la ligne 88 vient du côté 1 de la bascule 126. Les lignes d'entrée au circuit logique de la figure 5 portent les 25 valeurs exacte: et complémentaire des bits No-Op individuels des rangées 1, 2 et 3. Ainsi les valeurs complémentaires des bits No-Op pour les rangées 1, 2 et 3 sont les entrées de la porte ET 152. La valeur exacte pour le bit No-Op de la rangée 1 et les valeurs complémentaires des bits No-Op pour les rangées 2 et 3 sont les entrées de la porte ET 154. La valeur 30 exacte du bit No-Op pour la rangée 2 et les valeurs complémentaires du bit No-Qp pour les rangées 1 et 3 forment les entrées de la porte ET 156. Les valeurs exactes des bits No-Op pour la rangée 1 et la rangée 2 et la valeur complémentaire des bits No-Qp pour la rangée 3 forment les entrées de la porte ET 158. Les valeurs complémentaires des bits No-Op pour les 35 rangées 1 et 2 et la valeur exacte du bit No-Qp pour la rangée 3 forment les entrées de la porte ET 160. La valeur exacte des bits No-Op pour les rangées 1 et 3 et la valeur complémentaire du bit No-Qp pour la rangée 2 forment les entrées de la porte ET 162. La valeur complémentaire du bit No-Op pour la rangée 1 et la valeur exacte des bits No-Op pour les 69 12350 19 2011671 rangées 2 et 3 forment les entrées de la porte ET 164. Les valeurs exactes des bits No-Qp des rangées 1, 2 et 3 forment les entrées de la porte ET 166. Ainsi on peut voir que le circuit logique 144 représenté en détail 5 sur la figure 5 comprend un décodeur qui décode la valeur des trois bits No-Qp et envoie un signal à chaque circuit logique de décalage vers le bas dans les rangées pour indiquer de combien de rangées le contenu de cette rangée est à décaler vers le bas, et fournit des signaux sur les lignes 82, 84, 86, 88 pour indiquer combien de nouvelles instructions sont à 10 fournir au dispositif à décalage vers le bas 1 de la figure 2. Qn peut voir ceci dans les exemples relatifs aux colonnes 1 et aux colonnes 5 du tableau de la figure 4. Qn rappelera d'après la description du tableau de la figure 4 que tous les bits No-Qp dans les rangées 1, 2, et 3 sont nuls pour la colonne 15 1 indiquant qu'il n'y a pas d'action de saut à réaliser en écrivant sur les instructions et par suite que toutes les rangées de la mémoire intermédiaire doivent itre décalées, il en résulte que l'instruction dans la rangée 1 est décalée dans la rangée 0 pour le décodage et le traitement ultérieur et toutes les autres instructions sont décalées de 1, et il en résulte 20 que la rangée 6 est vide et nécessite une nouvelle instruction en provenance du système. En appliquant ce principe à la figure 5, on peut voir que les lignes 275, 277 et 279 Cles valeurs complémentaires des bits No-Op des rangées 1, 2 et 3) seront excitées. Ainsi, il y aura une sertie en provenance de la porte ET 152, ce qui met la bascule 140 à son état 1. 25 Par conséquent, les lignes de sortie de la bascule 140 exciteront les lignes 16, 18, 22, 27, 34 et 50. Ces lignes, comme on l'a expliqué précédemment et comme c'est représenté sur la figure 2 indiquent au circuit logique à décalage de chaque rangée individuelle que le contenu de cette rangée particulière doit être décalé vers le bas d'une rangée comme c'est indiqué 30 dans la colonne 1 de la figure 4. Par suite, chaque rangée sera décalée vers le bas d'une rangée, laissant la rangée 6 vacante. La sortie venant du côté exact de la bascule 140 excite aussi la ligne 82 qui, comme c'est représenté sur la figure 2, arrive à la source de séquence d'instructions non représentée pour indiquer qu'une instruction doit être fournie au 35 dispositif à décalage . A l'instant B , la ligne 82 sera conditionnée par l'intermédiaire de la porte 106 et excitera le circuit OU 97 par l'intermédiaire de la ligne 3 pour conditionner la porte 97, ce qui permet à l'instruction demandée de passer du bus 90 au bus 125 pour qu'elle soit introduite dans la rangée 6, qui est la rangée vacante du dispositif 69 12350 20 2011671 à décalage 1. La partis de code opération de l'instruction ira aussi sur le bus 117 au décodeur 10B. Si, cette partie est décodée comme une instruction de saut, le bit sera mis à 1, et si elle est décodée comme une instruction qui nôst pas de saut, le bit S^ sera mis à 0. Dans tous les cas, la porte 5 OU 109 sera excitée pour mettre à 0 le bit No-Op pour la rangée particulière ici la rangée 6 dans laquelle est introduite une instruction provenant de la source de séquence d'instructions. Pour l'exemple de la colonne 5, dans laquelle le bit No-Qp de la rangée 3 est mis à 1, indiquant que la rangée 3 doit être sautée, en écrivant 10 par-dessus, ls circuit logique 144 fonctionne de la manière suivante. Sur la figure 5, les lignes 275, 277 et 278 sont actives. Par conséquent, la porte ET 160 aura une sortie qui met la bascule 132 à son état 1. La sertie du câté 1 de la bascule 132 excite la ligne 116 indiquant que la rangée 1 doit être décalée vers le bas d'une rangée et que par conséquent, 15 elle ne doit pas être sautée; excite la ligne 16 par l'intermédiaire de la porte OU 260 pour indiquer que la rangée 2 doit être décalée vers le bas et non sautée, et par l'intermédiaire de la porte OU 288 excite les lignes 28, 36, 52 et 84. On doit noter que aucune des lignes 22, 24, 26 n'est excitée pour le circuit logique- de décalage de la rangée 3. Ceci 20 indique que l'instruction dans la rangée 3 (qui doit être sautée) n'est pas décalée. Par suite l'excitation des lignes 16 décalera l'instruction de la rangée 1 vers le bas dans la rangée 0 pour un traitement ultérieur et l'excitation de la ligne 18 décalera l'instruction à la rangée 2 vers le bas d'une rangée dans la rangée 1 pour remplacer l'instruction dans 1 25 la rangée/qui a été décalée dans la rangée 0. L'instruction dansla rangée 3 n'est pas décalée. L'instruction dans la rangée 4, à la suite de l'excitation de la ligne 28 est décalée vers le bas de deux rangées dans la rangée 2 pour remplacer l'instruction décalée à partir de cette rangée dans la rangée 1. L'instruction provenant de la rangée 5, à cause de l'excitation 30 de la ligne 36 est décalée vers le bas de deux rangées dans la rangée 3. Ceci écrit sur l'instruction dans la rangée 3 qui doit être sautée et ainsi l'instruction est annulée. Par conséquent, l'instruction est sautée à ce point dans la chaîne d'instructionssans qu'il soit nécessaire que l'ordinateur traite d'une sortie de branchement. ûe même, l'instruction 35 dans la rangée 6, à cause de l'excitation de la ligne 52 est décalée vers le bas de deux rangées pour remplacer l'instruction dans la rangée 4 qui a été décalée dans la rangée 2. Qn notera que ceci laisse les rangées 5 et 6 vacantes. L'excitation des lignes 82 et 84 de la figure 5 signale à la source de séquence d'instructions d'envoyer les deux instructions 69 12350 21 2011671 suivantes dans la séquence. On peut voir ceci d'après la figure 2. Les lignes 62 et 84 sont reliées à la source de la séquence d'instruction. La source fournit les deux instructions sur les bus S2 et 90. A l'instant B, la porte 106 est excitée par l'intermédiaire de la ligne 107, de sorte 5 que le signal excitant les lignes 82 et 84 sera transmis aux portes OU 97 et 39 pour conditionner les portes 100 et 98 pour introduire les deux instructions suiavntes dans la séquence par l'intermédiaire des bus 127 et 125 aux rangées 5 et 6 respectivement. Le décodage préalable est accompli dans les décodeurs 110 et 106 et les bits et No - Op sont réglés comme 10 on l'a expliqué précédemment. Ainsi d'après l'exemple précédent, on peut voir que le circuit logique de désignation de décalage de la mémoire intermédiaire est constitué essentiel lamant d'un décodeur et excite certaines des lignes d'entrée au circuit logique de décalage vers le bas pour des rangées déterminées pour indiquer 15 de combien de rangées les instructions dans la rangée particulière doivent être décalées vers le bas. On notera que les lignes 82, 84, 86 et 88 qui ordonnent les nouvelles instructions dans la séquence pour les introduire dans les rangées du dispositif à décalage vers le bas qui deviennent vacantes, sont actives suivant le nombre des décalages dans les rangées 4, 5 et 20 6. C'est â dire si les rangées 4, 5 et 6 sont décalées vers le bas d'un seul espace, la rangée 6 deviendra vacante. Ensuite la ligne 82 sera active pour permettre à une instruction d'fitre introduite dans la rangée 6 de la mémoire intermédiaire. Si les rangées, 4, 5 et 6 sont décalées chacune de deux rangées, ceci libère les rangées 5 et 6. La ligne 84 est active 25 dans certaines conditions et sert à introduire deux nouvelles instructions, une dans la rangée 5 et l'autre dans la rangée 6. Si les rangées 4, 5 et 6 sont décalées chacune de trois rangées, les rangées 4, 5 et 6 deviendront vacantes et la ligne 86 devient active pour conditionner l'introduction de trois nouvelles instructions dans le dispositif à décalage vers le 30 bas, une dans chacune des rangées 4, 5 et 6. Dans le cas, où les rangées 4, 5 et 6 sont décalées vers le bas de 4 rangées, comme on peut le voir dans la colonne 8 de la figure 4,ceci signifie que les rangées 4, 5 et 6 deviennent vacantes. La rangée 3 dans ce cas n'a pas son bit No-Op mis à 1 indiquant que la rangée 3 doit être sautée. La rangée 3 est sauté 35 dans ce cas en introduisant une nouvelle instruction provenant de la source de séquence d'instructions dans la rangée 3, ce qui annule l'instruction à sauter dans la rangée 3. De plus, les nouvelles instructions doivent être introduites dans les rangées 4, 5 et 6. Un exemple d'une réalisation possible pour le circuit logique de commande 69 12350 22 2011671 des décalages utilisé dans chaque rangée est représenté sur la figure 6. Cet exemple particulier correspond au circuit logique de commande des décalages de la rangée 6 mais tous les circuits logiques de chaque rangée seront analogues. A partir de la rangée 6. il sera possible de réaliser 5 un décalage vers le bas de quatre rangées au maximum. Par suite, le circuit logique de commande des décalages de la rangée a quatre sorties. Puisqu'il est possible de réaliser un décalage de quatre rangées maximum depuis les rangées 4 et 5, le circuit logique de commande des décalages pour les rangées 4 et 5 aura aussi quatre sorties qui seront Identiques à celles ■10 du circuit logique à décalage vers le bas pour la rangée 6. Cependant, puisque chaque rangée 3 peut être décalée d'un maximum de trois rangées, le circuit logique de commande des décalages pour la rangée 3 sera analogue à celui pour les rangées 4, 5 et 6 mais n'aura que trois sorties à savoir, une pour la rangée 2, une pour la rangée 1 et une pour la rangée Q. De 15 même puisque la rangée 2 peut être décalée d'un maximum de deux rangées, le circuit logique de commande des décalages pour la rangée 2 n'aura que deux sorties une pour la rangée 1, une pour la rangée 0. Finalement, puisque la rangée 1 ne peut être décalée que d'une rangée, elle n'aura qu'une sortie à savoir, une pour la rangée 0. 20 Sur la figure 6, on peut voir une bascule 74 qui représente une bascule choisie parmi la série des bascules dans la rangée 6. On verra que le dispositif représenté sur la figure 6 est le circuit logique de commande des décalages pour une position de la rangée 6. Cependant, le circuit logique pour les autres positions de la rangée 6 sera analogue à celui représenté 25 pour la bascule 74. Le circuit logique de commande de décalages pour la rangée 6 comprend plusieurs portes 69, 71, 73, 75, une pour chaque rangée à laquelle peut être décalé le contenu de la rangée 6. Les sorties "exact" et "complémentaire" de la bascule 74 sont connectées comme entrées à chacune des portes. Chaque porte est connectée par l'intermédiaire d'un dispositif 30 à retard approprié à la position de bitd\ine des quatre rangées ultérieures correspondant à la position de bit de la bascule 74. Par exemple, la porte 75 est connectée par l'intermédiaire des circuits à retard 70 et 72 à la bascule 76 de la rangée 5 pour un décalage d'une rangée 1. De même, la porte 73 est connectée par l'intermédiaire des circuits â retard 35 appropriés à la bascule 78 de la rangée 4 pour un décalage de deux rangées. La porte 71 est connectée par l'intermédiaire d'un circuit à retard approprié à la bascule 79 de la rangée 3 pour un décalage de 3 rangées et la porte 69 est connectée par l'intermédiaire d'un circuit à retard approprié à la bascule 80 de la rangée 2 pour un décalage de 4 rangées. Les lignes 69 12350 23 2011671 50, 52, 54, 64 provenant du circuit logique 144 sont connectées sous forme de lignes de conditionnement au circuit logique à décalage de la rangée 6. La ligne 50 est connectée par la porte 75 pour permettre un décalage d'une rangée. La ligne 52 est connectée à la porte 73 pour permettre un 5 décalage de deux rangées. La ligne 54 est connectée à la porte 71 pour permettre un décalage de trois rangées. La ligne 64 est connectée à la porte 69 pour permettre un décalage de'4 rangées. Puisque le décalage, comme on l'expliquera par la suite, se produit simultanément dans toutes les rangées, pendant la période A, les dispositifs à retard représentés 10 sont nécessaires pour que l'on soit sûr que l'instruction d'une rangée ultérieure qui peut avoir été expulsés de cette rangée dans une rangée ultérieure, ait le temps d'être ««puisée avant que l'instruction provenant de la rangée 6 soit décalée vers le bas. Par exemple, il se peut que toutes les rangées dans un cas donné doivent être décalées vers le bas d'une 15 rangée. Par conséquent, la ligne 50 de la figure 6 sera excitée pour décaler la valeur de la bascule 74 par l'intermédiaire de la porte 75 et des circuits à retard 70, 72 dans la bascule correspondante 76 de la rangée 5. Cependant la rangée 5 doit aussi être décalée d'une rangée comme on l'a supposé. Par conséquent, pour empêcher les conditions qui peuvent provoquer l'annulation 20 involontaire de l'instruction dans la rangée 5, on utilise les circuits à retard 70, 72 pour donner le temps à l'instruction dans la rangée 5 d'être décalés dans la rangée 4 avant que l'instruction provenant de la rangée 6 soit décalée dans la rangée 5. De même, on utilise un circuit à retard approprié sur la figure 6 pour réaliser un décalage de 2, 3 et 25 4 rangées. La valeur du retard dépend du temps de décalage du système et peut être réglée au grè du constructeur. Par suite, pour un décalage d'une rangée pour la rangée 6, la ligne 50 sera excitée pour transférer le contenu de la bascule 74 par l'intermédiaire de la porte 75 dans la bascule 76 après le retard approprié donné par les circuits 70 et 72. 30 Un décalage de 2, 3 ou 4 rangées est fourni d'une façon analogue en excitant une des lignes 52, 54 , 64. La description du fonctionnement du dispositif de l'invention sera faite en se référant à un cycle machine. Dn donnera plusieurs exemples de saut. 35 En se référant à la figure 1, on peut voir un cycle machine typique pour le dispositif de l'invention. Le cyclB machine de la figure 1 est divisé en cinq périodes à savoir, période A, période B, période C, période D et période E. Avant de décrire en détail le cycle machine, on donnera un résumé général de l'opération réalisée. Dans le fonctionnement de 69 12350 24 2011671 l'ordinateur digital, un programmeur désire souvent que certaines instructions prédéterminées soient traitées en cas de résultat positif. Avant-l'invention, ceci était réalisé par l'instruction de branchement bien connue et 11 était nécessaire ds traiter le point de sortie du branchement, ce qui 5 faisait perdre du temps. Avec le dispositif de l'invention, il devient possible de sauter directement les Instructions prédéterminées sans traiter le point de sortie de branchement. Ce saut est indiqué en code, conformément à linvention en faisant précéder les instructions à sauter de "drapeaux" et en les incluant entre deux instructions de saut. Ceci est représenté 10 sur la figure SA. On rappelera qu'une instruction utilisée dans le dispositif ds la présente invention contient au moins un drapeau de saut, un code opération, un champ i et un champ j. Le drapeau de saut s'il est mis à 1 indique que l'instruction doit être sautée à la suite du test positif de la condition machine. La condition machine est une fonction de deux 15 bits, un bit étant désigné par le champ i et l'autre par le champ j. Le code opération de l'instruction désigne si c'est une instruction de saut et, en ce cas, 11 indique la fonction des deux bits déterminés par les champs 1 et j sur lesquels la détermination de condition est à réaliser. En général toutes les instructions ayant leurs drapeaux de saut à 1, et 20 placées entre deux instructions de saut successives, chaque instruction de saut n'ayant pas son drapeau de saut mis à 1, sont susceptibles d'être sautées. Elles ne seront sautées que si le dispositif est dans le mode de saut, ce qui est indiqué par le fait que la bascule SKST 124 qui est dans l'état 1. L'intervalle de saut est constitué par toutes les instructions 25 situées entre les deux instructions de saut successives n'ayant pas leur drapeau de saut mis à 1: toutes les instructions situées à l'intérieur de l'Intervalle ds saut et ayant leur drapeau de saut mis à 1 doivent être sautées. On peut voir ceci sur la figure 9A. Cette figure représente une partie d'une séquence de code. Toutes les instructions précédées d'un 30 astérisque indiquent que le drapeau de saut pour cette instruction est mis à 1. Sur la figure 9A, il y a deux instructions successives n'ayant pas leur drapeau de saut à un. Ainsi, l'intervalle de saut comprend les cinq instructions entre les deux instructions de saut. Si la condition exprimée par la fonction des deux bits indiquée dans la première instruction 35 de saut est remplie. Les instructions ayant leur drapeau de saut à 1 à l'intérieur de l'intervalle de saut doivent être sautées. Dans ce cas les instructions OP 2, OP 3, OP 4 doivent être sautées. Si la condition exprimée par la fonction des deux bits n'est pas rBmple, les instructions 0P 2, 0P 3, 0P 4 sont traitées en séquence. Dans tous les cas, Ibs 69 12350 25 2011671 instructions QP 1 et QP S sont traitées. Si la condition indiquée dans la première instruction de saut est remplie, le dispositif est dit être dans le mode de saut. Lorsque on atteint l'instruction de saut suivante, une nouvelle détermination de condition est réalisée pour les instructions 5 ultérieures ayant des astérisques suivant la seconde instruction de saut. Line description générale du fonctionnement peut être donnée en se référant aux figures 2 et 3. L'excitation de la ligne 157 sur 3 indique que le dispositif est dans le mode de saut. En supposant pour le moment que le dispositif n'est pas dans le mode de saut, chaque instruction dans 10 une séquence est introduite aux instants B successifs dans la rangée 6 du dispositif à décalage vers le bas 1 de la figure 2 et elle est décalée d'une rangée une fois dans chaque cycle. Finalement, chaque instruction atteindra la rangée 0 où à l'instant □ du cycle pendant lequel elle a été décalée dans la rangée 0, son code opération sera transféré par l'intermé-15 dialre de la porte 118 sur le bus 171 au décodeur d'instruction 40. Si l'Instruction n'est pas une instruction de saut, elle sera décodée et suivant son identitéj une des lignes partant vers la gauche, à partir du décodeur d'Instruction 40 sera excitée pour que le dispositif approprié de l'ordinateur puisse réaliser la fonction indiquée par l'instruction. 20 De même, à l'Instant 0, le champ i et le champ j sont transférés depuis la rangée 0 par l'intermédiaire des portes 120, 122 aux décodeurs auxiliaires 44, 46 afin de sélectionner deux bits du registre de condition. Si 1'instruc*. tion est une instruction de saut, une des 8 lignes appelées 42 partant du décodeur d'instruction et allant au générateur de fonction sera excitée. 25 Les deux bits du registre de condition désignés par les champs 1 et j seront aussi transmis au générateur de fonction. Si la fonction des deux bits est zéro, le saut est dit non réussi et la ligne 67 met la bascule d'état de saut à 0. Si la fonction des deux bits est un, le saut est dit réussi et la ligne 65 mettra la bascule 124 à son état 1, fournissant 30 ainsi un signal de sortie sur la ligne 157, indiquant que le dispositif est dans son mode de saut. Comme on l'a mentionné précédemment, le circuit logique No-Op 145, 147, 149 est, dans l'exemple considéré, constitué des portes ET. Lorsqu'il a été déterminé que le dispositif est dans le mode de saut, et que le 35 drapeau de saut d'une des rangées 1, 2, 3 est à 1, le circuit logique No-Op mettra, par l'intermédiaire des lignes 146, 148, 150, le bit No-Qp à 1 dans chaque rangée qui a son drapeau de saut mis à 1. Les valeurs exactes et complémentaires de chaque bit No-Qp dans les rangées 1, 2 et 3 sont envoyées par l'intermédiaire des lignes 250, 252, 260 à la porte 69 12350 26 2011671 142 où elles sont transférées par l'intermédiaire des lignes 274, 275.... 279 au circuit logique 144. Comme on l'a expliqué précédemment, le circuit logique 144 excite par Intermédiaire du bus 264, le circuit logique de commande des décalages 5 pour chaque rangée dans la "mémoire intermédiaire afin que l'on soit sur que chaque rangée ayant son bit No-Op égal à 1 indiquant que l'instruction qu'elle contient doit Stre sautée, n'est pas décalée et qu'une instruction est décalée vers cette rangée ayant son bit No-Op égal à 1, ce qui écrit électroniquement sur l'instruction qui doit être sautée. Ensuite, les 10 lignes 82, 84, 86, 88 ordonnent aux instructions provenant de la source de séquence d'instructions de remplir les places libres dans les rangées du dispositif à décalage 1, ces places étant rendues vacantes par le décalage précédent. On va maintenant donner des exemples particuliers en se référant 15 à la description détaillée du cycle machine de la figure 1. Sur la figure 1, on peut voir qu'au temps A chaque rangée de la mémoire Intermédiaire qui doit être décalée vers le bas, est décalée. Au temps B, les nouvelles instructions provenant de la source de séquence d'Instructions sont introduites dans les rangées de la mémoire intermédiaire qui sont libérées à l'instant 20 A précédent. De même, au temps B, le bit No-Op de chacune des rangées 3, 4, 5, 6 dans lesquelles est introduite une nouvelle instruction est mis à 0 et le code opération de l'instruction est décodé; les bits S^ sont mis à 1 si l'instruction est un saut et à 0 si l'instruction -n'est pas un saut. Au temps C du cycle, si le dispositif est-dans le mode de 25 saut résultant d'un cycle précédant, les bits No-Op des rangées 1, 2 et 3 sont mis è 1, si le drapeau de saut de cette rangée est à 1, et si la rangée particulière n'est pas précédée dans les signaux, par une seconde Instruction de saut non munie d'un drapeau. On notera que ces bits No-Qp sont mis à 1 au temps C mais que le mode de saut, déterminé par la 30 bascule 124, a été déterminé pendant le temps D d'un cycle machine précédent. Au temps D, l'instruction est décodée et si c'est un saut, la bascule d'état de saut est enclanchée pour indiquer que le dispositif est dans le mode de saut ou n'est pas dans le mode de saut suivant la détermination de la fonction des deux bits du registre de condition indiquée par le 35 champ i et le champ j. De même à cet instant, les bascules dans le circuit logique de désignation de décalage de la mémoire Intermédiaire sont toutes mises à 0 pour désexciter toutes les lignes du bus 264 dans la mesure où un décalage a déjà eu lieu â l'Instant A. Au temps E, les bascules dans le circuit logique de destination de décalage de la mémoire intermédiaire 69 12350 27 2011671 sont enclenchées sous commande de la valeur des bits No-Op dans les rangées, 1, 2 et 3 de la mémoire intermédiaire afin d'exciter les lignes correctes du bus 264. Au temps A du cycle suivant, les lignes excitées du bus 264 sont reliées au circuit logique de commande des décalages de chaque rangée 5 pour effectuer un décalage de chaque rangée dans la mémoire intermédiaire suivant le réglage des bascules dans le circuit logique de désignation de décalage de la mémoire intermédiaire. On va donner différents exemples du fonctionnement du dispositif de l'invention. En se référant à la figure 10A, on peut voir une séquence 10 d'instructions telle qu'elle peut être écrite par le programmeur de l'ordinateur. En tout, on a représenté 14 instructions comprenant une première et seconde instructions de saut qui ne sont pas munies ds drapeau désignées par SAUT 1 et SAUT 2, qui définissant un intervalle de saut. L'astérisque qui précède l'Instruction indique que l'instruction est munie d'un drapeau 15 afin d'être sautée. Par conséquent, les instructions OP 3, OP 4 et QP 5 à liintérleur de l'intervalle de saut entre les instructions SAUT 1 et SAUT 2 doivent itre sautées si la fonction des deux bits du registre de condition telle qu'elle est désignée par les champs I et j de l'instruction SAUT 1 est égale à 1. De même, si l'instruction SAUT 2 est"réussie? l'instruc-2Q tlon OP 8 et toutes les autres instructions munies d'un drapeau entre les instructions SAUT 2 et une instruction de saut ultérieure ( non représentée] seront sautées. En supposant comme condition initiale que toutes les rangées du dispositif à décalage 1 soient vacantes, et que toutes les bascules dans le circuit logique 144 soient initialement mises à 0, au temps E 25 du premier cycle, la valeur des bits No-Qp des rangées 1, 2 et 3 sera alors transmise par l'intermédiaire de la porte 142 au circuit logique 144 représenté en détail sur la figure 5. Puisque la valeur de chaque bit No-Qp est zéro étant donné que l'on a supposé que la mémoire intermédiaire est initialement libre, la porte ET 152 sera excitée pour mettre la bascule 30 140 à son état 1 pour exciter les lignes 16, 18, 22, 27, 34 et 50 afin d* Indiquer au circuit logique de commande des décalages que le contenu des rangées 1 à 6 doit être décalé vers le bas d'une rangée en temps A du second cycle. Puisque le contenu de toutes les rangées est initialement nul, ainsi qu'on l'a supposé, des 0 seront décalés vers le bas d'une rangée 35 pendant ce temps A. De même puisque le cSté exact, de la bascule 140 excite la ldtgne 82, la source de séquence d'instruction devra transmettre une instruction 0P 1 de l'exemple considéré sur le bus 90. Au temps B, la ligne 107 excitera la porte 106 et la ligne 82 excitera la porte OU 97 par l'intermédiaire de la ligne 3, ce qui conditionne la porte 98 pour 69 12350 28 2011671 transférer l'instruction OP 1 au bus 125 et de ce fait dans la rangée 6 qui a été libérée à l'instant A. Le code opération de l'instruction sera aussi transféré sur le bus 117 au décodeur 108. L'instruction est prédécodée j ce n'est pas une instruction de saut et le bit dans la rangée 6 sera 5 mis à 0. Le bit No-Op dans la rangée 0 sera mis à 0. A l'instant C du second cycle, la ligne 151 conditionnera la porte 116 pour transmettre l'état des lignes 146, 148, 150 pour régler à 1 les bits No-Op dans les rangées 1, 2 et 3. Cependant- puisque il n'y a que des 0 dans les mémoires intermédiaires, le décodeur d'instruction 40 n'aurpas décodé d'instruction 10 de saut (en supposant dans cet exemple, qu'une instruction de saut n'est pas représentée par un ensemble de 0) et par suite, la bascule d'état de saut 124 sera dans la condition 0, ce qui fait que la ligne 157 n'est pas excitée. Puisque la ligne 157 conditionne tout le circuit logique No-Op, aucune des lignes 146, 148, 150 ne sera excitée et les bits No-15 Op des rangées 1, 2 et 3 restent à l'état 0. A l'instant 0 du second cycle, le code opération de l'instruction qui vient d'être décalé de la rangée 1 à la rangée 0 sera transféré par l'intermédiaire de la porte 118 au décodeur d'instruction. La configuration de bit est encore une configuration ne comprenant que des 0 comme on l'a supposé et ainsi, aucune des lignes 20 42 sera excitée pour calculer une fonction quelconque des bits du registre de condition. Par suite, la bascule d'état de saut 124, restera dans la condition 0. Au temps E du second cycle, les bascules dans le circuit logique 144 seront enclenchées sous commande de la valeur des bits No-Qp qui vient juste d'être établie au temps C par l'intermédiaire de la 25 porte 116. Puisque ces bits sont de nouveau égaux à 0, conformément à l'exemple considéré, le circuit ET 152 de la figure 5 sera excité et de nouveau au temps A du troisième cycle les lignes 16, 18 , 22 , 27, 34 et 50 seront excitées pour décaler chaque rangée de 1■ Qe même, la ligne 82 sera excitée pour ordonner une instruction de plus pour la mémoire 30 intermédiaire, cette instruction étant l'instruction SAUT 1 oie l'exemple de la figure 1GA. Cette action continue, en décalant chaque instruction vers le bas et en ordonnant une instruction de plus jusqu'au moment où l'instruction SAUT 1 est décalée dans la rangée 0, ce qui se produit au temps A du neuvième cycle conformément à l'exemple considéré. A ce moment, les 35 instructions dans les rangées 0 à 5 sont, comme représentées sur la figure 10 B, qui est dérivée de la figure 10A. La rangée 6 est vacante car l'instruction QP 6 vient d'être décalée au temps A de la rangée 6 dans la rangée 5. A ce moment, la ligne 82 qui est excitée pendant le temps E du cycle précédent (puisque tous les bits No-Op sont nécessairement nuls dans les rangées 69 12350 29 2011671 1> 2 it 3i dans la mesure où il n'y a pas eu d'instruction de saut précédente, qui pourrait avoir excité la ligne 157) ordonne une autre instruction Isolée qui est l'instruction SAUT 2 et provoque le transfert de cette instruction au temps B dans la rangée 6 de la mémoire intermédiaire. Cette 5 instruction est aussi décodée au préalable comme on l'a expliqué pour les autres instructions précédemment. Au temps C de ce neuvième cycle. les bits No-Op des rangées 1, 2 et 3 doivent être mis à leur valeur sous commande du circuit logique No-Qp. Cependant, ces bits seront mis à 0 puisque la ligne 157 n'est pas excitée. Il est à noter que, même si une 10 instruction de saut (à savoir SMJT 1) est maintenant dans la rangée 0, elle n'est Pas décodée avant l'Instant D du cycle dans lequel elle est décalés dans la rangée 0 tandis que les bits No-Qp sont établis au temps C et dépendent par conséquent de la condition de la ligne 157 qui dépend de l'instruction dans la rangée 0 pendant le cycle précédent ( huitième 15 cycle). Au temps □ du cycle présent (neuvième) la ligne 176 transfère le code opération de l'instruction SAUT 1 de la rangée 0 dans le décodeur d'instruction 40 et transfère les champs 1 et j dans les décodeurs 44 et 46. En se référant à la figure 7, on peut supposer pour ce cycle que l'instruction de saut est décodée, comme une instruction qui indique qu'un 20 saut doit être réalisé à la suite du calcul "réussi" de la fonction ET des bits C^ et C^ désignés par les champs i et j respectivement. Par conséquent, la ligne 263 de la figure 7 sera excitée. Les bits C^ et C^ seront transmis à la porte ET 215. La porte 215 sera conditionnée par la ligne 263 pour envoyer les valeurs des bits C^ et C^ à la porte ET 226. 25 En supposant que C^, et C^ sont égaux à 1 dans l'exemple considéré, la ligne 228 sur la figure 7 sera excitée, ce qui excitera la ligne 65 (qui est la ligne déterminant la condition réussie) par 1'intermédiaire de la porte OU 247 pour mettre la bascule 124 à son état 1 et par conséquent, exciter la ligne 157 de la figure 3. Tout ceci se produit pendant la période 30 D du neuvième cycle. Qe même pendant la période 0 les bascules dans le circuit logique 144 sont remises à zéro avant d'être enclenchée au temps E suivant. Au temps E du cycle S, les bits No-PQp des rangées 1, 2 et 3 sont transférés au circuit logique 144. Ces bits No-Op ont été établis au temps C du cycle 9 et par conséquent ne sont pas mis à zéro dans la mesure où 35 la ligne 157 de la figure 3 n'est pas excitée avant le temps 0 du cycle 9 considéré. Par conséquent, le circuit logique 144 indiquera que toutes les rangées doivent être décalées vers le bas d'une rangée au temps A suivant (cycle 10) et qu'une instruction de plus doit être transférée à la rangée 6 libérée. Ensuite, au temps A, toutes les rangées dans la 69 12350 30 2011671 mémoire intermédiaire sont décalées de 1 vers le bas. Au temps B du cycle 10, une nouvelle instruction est transférée à la rangée 6. Cette nouvelle instruction est l'instruction QP 7 de contenu des rangées est maintenant celui représenté sur la figure 10 C. Sur cette figure, l'instruction OP 5 2a été décalée de la rangée 1 à la rangée Q. De m§me, toutes les autres instructions ont été décalées vers le bas d'une rangée. Comme on peut le voir, les instructions DP 3, QP 4 et OP 5 sont dans les rangées 1, 2 et 3 respectivement. Maintenant, à l'instant C; les bits No-Qp des rangées 1, 2 et 3 doivent être réglés sous commande du circuit No-Qp 145, 147, 10 149. Puisque au temps D précédent (cycle 9) la ligne 157 était excitée et puisque les instructions dans les rangées 1, 2 et 3 étalent munies d'un drapeau, et puisque les bits Si des rangées 0, 1 et 2 sont nulles, (ce qui indique qu'il n'y a pas d'instruction de saut entre les instructions munies d'un drapeau dans les rangées 1, 2 et 3 et 1'instruction de saut 15 précédente qui vient d'être explusée de la rangée 0 ) les lignes 146, 146, 150 seront excitées au temps C pour mettre les bits No-Op des rangées 1, 2 et 3 à l'état 1. Ceci est représenté sur la figure 10C en mettant les lettres N-0 après les Instructions dans la rangée 1, la rangée 2 et la rangée 3 indiquant qu'au temps C du dixième cycle leurs bits No-Op 20 sont mis à 1. Au temps D de ce cycle, l'instruction dans la rangée 0 qui est l'instruction QP-2 est décodée. Puisque ce n'est pas une Instruction de saut elle n'aura pas d'effet sur la bascule 124 et la ligne 157 restera excitée. De plus, au temps D, les bascules dans le circuit logique 144 sont remises à 0. Au temps E, les bascules dans le circuit logique 144 25 sont remises à zéro. Au temps A, les bascules dans le circuit logique 144 seront réglées suivant la valeur des bits No-Op des rangées 1, 2 et 3 qui viennent juste d'être mises à 1 indiquant que chaque instruction dans chacune de ces rangées doit être sautée. Les bits sont transférés par l'intermédiaire de la porte 142. Ceci a le résultat suivant. En se 30 référant à la figure 5, on peut voir que puisque tous les bits No-Op sont égaux à 1, la sortie de la porte ET 166 sera active. Ceci mettra la bascule 126 à son état 1. En se référant aussi à la figure 4, colonne 8, on peut noter que lorsque les bits No-Op des rangées 1, 2 et 3 sont égaux à 1, le saut des instructions dans chacune de ces rangées est effectué en décalant 35 vers le bas chacune des rangées 4, 5 et 6 de 4 espaces. Ceci signifie que l'instruction dans la rangée 4, sera décalée dans la rangée 0 à traiter pendant le cycle suivant. L'instruction dans la rangée 5 sera décalée dans la rangée 1, ce qui annule l'instruction dans la rangée 1 qui doit être sautée. L'instruction dans la rangée 6 est décalée de 4 rangées 69 12350 31 2011671 et amenée dans la rangée 2, ce qui annule l'instruction dans la rangée 2 qui doit être sautée et finalement, quatre nouvelles instructions sont transférées dans les rangées 3, 4, 5 et 6 de la mémoire intermédiaire L'instruction qui est transférée dans la rangée 3 annulant l'instruction 5 dans cette rangée qui doit être sautée. Ainsi, on voit combien d'instructions sont sautées en écrivant par-dessus. Ceci est représenté en détail sur la figure 5. Le côté "exact" de la bascule 126 provoque l'excitation des lignes 32, 48 et 64 qui indiquent respectivement que les rangées 4, 5 et 6 doivent êtrs décalées de 4 rangées à l'instant A suivant. De même la ligne 88 est excitée et cette ligne en se référant à la figure 2 est renvoyée à la source de séquence d'Instructions pour ordonner quatre nouvelles instructions. A l'instant A du cycle suivant, (cycle 11) les lignes 32, 48 et 64 sont reliées pour décaler les rangées 4, 5 et 6 de 4 rangées, comme on l'a expliqué précédemment, la ligne 88 indique à la source de 15 séquences d'instruction d'envoyer quatre nouvelles instructions et à l'instant B les lignes S, 15, 19 et 21 effectuent le conditionnement des portes 98, 100, 102, 104 pour transférer les quatre nouvelles instructions dans les rangées 3, 4, 5 et 6 de la mémoire intermédiaire comme on l'a expliqué en se référant à la figure 4. Les instructions dans la mémoire intermédiaire 20 sont maintenant telles que c'est représenté sur la figure 10D. On remarquera que l'instruction OP 8 qui est susceptible d'être sautée et qui, par conséquent, a son bit de drapeau de saut mis à 1, est maintenant dans la rangée 3. Au temps C du cycle 11 les bits No-Qp des rangées 1, 2 et 3 seront réglés suivant la condition des lignes 146, 148, 150 qui sont les lignes 25 de sortie du circuit logique No-Op 145, 147, 149. A cet instant C, la ligne 157 sera excitée comme entrée aux circuits logique No-Op. De même, le drapeau de saut de la rangée 3 sera excité comme entrée de conditionnement au circuit logique 149 No-Op de la rangée 3. Cependant, il est à noter que l'instruction SAUT 2 qui n'a pas de drapeau est dans la rangée 1. 30 Cette instruction de saut précède l'instruction dans la rangée 3 qui doit être sautée et ainsi elle suit l'instruction SAUT 1 qui provoquait l'excitation de la ligne 157. Cependant, conformément aux règles de base du dispositif, l'instruction OP 8 est dans l'intervalle de saut de SAUT 2 et son saut dépend par conséquent de la détermination réussie de la condition machine 35 indiquée par SAUT 2 et ne dépend pas ds la condition machine réussie indiquée par SAUT 1 qui existait la ligne 157. Par conséquent, le Sj^ dans la rangée 1 qui est une ligne de conditionnement pour le circuit logique No-Op de la rangée 3 par l'intermédiaire de la ligne 187 n'est pas actif puisque le bit S.^ a été mis à 1 précédemment par le décodeur associé à la rangée 69 12350 32 2011671 dans laquelle l'instruction SAUT 2 était initialement introduite. Par suite, la ligne 150 ainsi que les lignes 146 et 146 ne seront pas actives et les bits No-Op des rangées 1, 2 et 3 resteront à 0. Ainsi, au temps A suivant C du cycle 12 ) toutes les instructions seront décalées d'une 5 rangée et l'instruction SAUT 2 sera dans la rangée 0. Une nouvelle instruction est introduite dans la rangée 6 à l'instant B. Le contenu des mémoires intermédiaires est celui représenté sur la figure 10E. Si la condition machine indiquée par SAUT 2 est réussie, la bascule d'état de saut 124 recevra à l'instant D du cycle 12 un signal sur la ligne 65 grâce auquel 10 la ligne 157 restera active. L'instruction OP 8 sera sautée deux cycles plus tard dîne manière analogue à celle expliquée pour l'instruction QP 3, 0P 4 et QP 5 de l'exemple considéré. L'exemple précédent est aussi représenté graphiquement sur la figure 10F, chaque instruction 0P étant remplacée par son numéro et chaque saut étant désigné par S. L'exemple 15 précédent est donné étape par étape en supposant que le dispositif à décalage 1 est initialement vide. L'homme de l'art verra immédiatement que on peut utiliser des moyens pour détecter un code opération ne contenant que des zéros dans les rangée 0, 1 et 2 pour amorcer l'introduction de 4 instructions, une dans chacune des rangées 3, 4, 5 et 6 pour donner une possibilité 20 de démarrage rapide. Ceci donnera un cas tel que le cas de la colonne 8 de la figure 4, tel que l'instruction SAUT 1 atteindra la rangée 0 dans le second cycle au lieu de l'atteindre dans le neuvième pour l'exemple précédent. Qn va maintenant donner un autre exemple pour représenter un cas 25 particulier dans lequel le saut est réalisé en Inhibant le décodage d'une instruction quelconque dans la rangée 0 au lieu d'écrire par-dessus l'instruction . Ce cas particulier se produit lorsque l'instruction qui doit être sautée est décalée dans la rangée 0 une fois que son instruction de saut précédente a été trouvée pour indiquer une condition machine qui est déterminée 30 de façon satisfaisante. Ce cas particulier peut se produire de deux façons. La première façon est que l'instruction qui doit être sautée est l'instruction suivant irrmédiatement une Instruction de saut réussie. On peut voir ceci par le fait que dans ce cas, l'instruction de saut sera dans la rangée 0 lorsque l'instruction à sauter est dans la rangée 1. Puisque les bits 35 No Qp de la rangée 1 (ainsi que ceux des rangées 2 et 3 ) sont mis à l'état 1 au temps C et que l'Instruction dans la rangée 0 (l'instruction de saut dans cet exemple) n'est pas décodée avant le temps □, il sera impossible, dans la réalisation de l'invention, de régler le bit No Qp de la rangée 1 sous commande du décodage et de la résolution de condition de l'instruction 69 12350 33 2011671 de saut dans la rangée □. Là seconde façon suivant laquelle ce cas particulier peut se produire se présente lorsque l'instruction dans la rangée 4 est une Instruction susceptible d'être sautée t drapeau de saut à 1) dans un cas où la rangée 4 est à décaler de 4 rangées vers la rangée 0 (correspon-5 dant à la colonne 8 de la figure 43. Dans ce cas, l'instruction munie d'un drapeau va de nouveau dans la rangée 0 sans passer dans les rangées 1, 2 ou 3. Par suite# le bit No Qp pour cette instruction n'est pas mis à 1. A ce point, la porte ET 165 entre en jeu. Ce cas est représenté sur 10 la figure 11 A. Dans cette figure, est représentée une suite de codes, telle qu'elle peut être écrite par le programmeur. Des instructions OP 2 et DP 3 doivent être sautées à la suite de la réalisation de la condition machine indiquée par SAUT 1. Puisque dans l'exemple précédent, on a donné les détails montrant 15 comment le circuit logique de la présente invention fonctionne, l'exemple présent n'est pas en contradiction avec les détails donnés mais expliquera fonctionnellement ce qui se passe. On suppose que l'Instruction SAUT 1 vient d'être décalée dans la rangée 0 à l'instant A du cycle 1 de cet exemple. Par conséquent, la rangée 6 est vide et au temps B, une nouvelle Instruction 20 sera Intraduite dans la rangée 6 et sera décodée et le bit S^ aura la valeur appropriée. Le bit No - Op sera mis à zéro. Le contenu de chaque rangée de la mémoire intermédiaire à décalage est maintenant celui représenté dans la figure 11B. A l'instant C du premier cycle de cet exemple, la porte 116 sera conditionnée pour régler les bits No Op des rangées 1, 25 2 et 3. On suppose qu'à l'origine le contenu de la mémoire intermédiaire à décalage est égal à zéro. A l'instant C, de ce premier cycle machine de l'exemple considéré maintenant, tous les bits No-Op resteront nuls dans les rangées 1, 2 et 3. A l'instant D, l'instruction SAUT 1 sera décodés dans le décodeur d'Instruction 40 . Les bits appropriés provenant 30 du registre de condition seront tranférés au générateur de fonction après avoir été décodés par les décodeurs 44 et 46. Puisque l'instruction est une Instruction de saut, une des lignes 42 sera excitée. En supposant que la fonction calculée des deux bits du registre de condition soit égale à 1, la ligne 65 provenant du générateur de fonction 62 mettra la bascule 35 124 à son état 1, ce qui excite la ligne 157. A ce moment, les bascules dans le circuit logique 144 seront remises à 0. Au temps E, les bits No-Op seront transférés au circuit logique 144. Puisque tous les bits sont nuls, comme on l'a expliqué précédemment, au temps A du second cycle, les lignes appropriées provenant du bus 264 décaleront chaque Instruction 69 12350 34 2011671 vers le bas d'une rangée dans la mémoire intermédiaire. Au temps B du second cycle, une nouvelle Instruction sera transférée dans la rangée 6 puisque cette rangée est maintenant libre. A la fin du temps B, la mémoire intermédiaire à décalage aura le contenu représenté sur la figure 11C. 5 Qn notera que le bit No-Qp de la rangée 2 et de la rangée 3 n'est pas 1 mis à l'état 1 à l'instant C du cycle 1, puisque l'instruction SAUT/n'est pas décodée et n'est pas déterminée comme "réussie" avant le temps D du premier cycle. Par conséquent, l'instruction Qp 2 qui doit être sautée a été décalée vers le bas dans la rangée 0 et ne peut être sautée en écrivant 10 par-dessus elle. Au temps Ç, la porte 116 est conditionnée pour mettre à l'état 1 les bits No-Qp dans les rangées 1, 2 et 3. Puisque l'instruction QP 3 est dans la rangée 1 et qu'elle doit être sautée, son drapeau de saut est mis à 1 et la ligne 183 allant au circuit logique No-Qp de la rangée 1 est excitée. De même, la ligne 187 est excitée. De plus, puisque 15 l'instruction qui est actuellement dans la rangée 0 n'est pas une Instruction de saut, la ligne 18S est excitée. 11 en résulte que la ligne 146 met le bit No-Qp dans la rangée 1 à 1. Au temps Q, la porte 118 est excitée afin de tenter le décodage et ensuite le traitement de l'instruction dans la rangée Q. Cependant, cette instruction doit être sautée. Par conséquent, 20 son bit de drapeau de saut est à 1 de sorte que la ligne 161 est excitée. De même, puisque l'instruction précédemment traitée était un saut réussi, la ligne 159 est excitée. Par conséquent, la ligne 167 provenant de la porte ET 165 sert d'inhibition au décodeur d'instruction 40 au temps D et aucune instruction n'est traitée et de ce fait l'instruction dans la 25 rangée D est sautée. Au temps E du second cycle de l'exemple considéré , la valeur des bits No-Op des rangées 1, 2 et 3 doit être transférée au circuit logique 144. Le bit No-Qp de la rangée 1 est un 1 et les bits No-Op des rangées 2 et 3 sont nuls. Par conséquent, et ainsi qu'on peut le voir dans la colonne 2 de la figure 4, les rangées 2 à 6 sont décalées 30 vers le bas de deux rangées au temps A du troisième cycle de l'exemple considéré et 11 en résulte que l'on écrit sur l'instruction dans la rangée 1 et que, de ce fait, elle est sautée. Le contenu de la mémoire intermédiaire 1 est celui représenté sur la figure 110. Ensuite, c'est à dire pendant le 4ème cycle de l'exemple considéré, l'instruction SAUT 2 sera décalée 35 dans la rangée 0 où elle sera décodée. Si elle est réussie, l'instruction 0P 8 sera sautée pendant un des cycles suivants. Si elle n'est pas réussie, la ligne 157 sera désexcitée à la suite de l'action du générateur de fonction 62 et le saut de l'instruction 0P 8 sera inhibé. Cet exemple est représenté sur la figure 11 E. 69 12350 35 2011671 Un dernier exemple est représenté sur les figures 12A et 12B. Sur la figure 12A, une séquence de code comprenant une première impulsion de saut (SAUT 1) est représentée. On peut supposer que la seconde impulsion de saut dans la séquence suit immédiatement mais qu'elle n'est pas représentée. Comme c'est 5 représenté sur la figure 12B, on considère l'exemple dans lequel l'instruction SAUT 1 est déjà dans la rangée 0. Qn suppose que la détermination de fonction est réussie. Pendant le cycle 1, le contenu de chaque rangée se déplace vers le bas d'une rangée pour la même raison que dans l'exemple précédent. Les bits No-Op des rangées 1, 2 et 3 sont réglés à l'instant C du cycle 1. A l'instant 10 D, l'instruction OP 1 est sautée à la suit» de l'action de la ligne d'inhibitin 167. A l'instant A du cycle 2, les rangées 4» 5 et 6 sont décalées chacune de 4 rangées (colonne 6 figure 4) et les instructions OP 2, QP 3 et OP 4 seront sautées en écrivant par-dessus elles. Le bit No-Op de l'instruction OP 5 qui est maintenant dans la rangée D n'est pas à l'état 1 puisque l'instruction QP 5 15 ne passe jamais dans les rangées 1, 2 ou 3 mais est décalée directement dans la rangée 0 depuis la rangée 4. Par conséquent l'instruction OP 5 est sautée au temps D du cycle 2 grâce à la ligne d'inhibition 167. L'instruction QP 6 sera sautée en écrivant par-dessus elle à l'instant A du cycle 3. Il est aussi évident que dans le dispositif de l'invention, une instructicn 20 ob saut peut elle-même être sautée si le programmeur le désire. Ceci est évident étant donné que le drapeau de saut de l'instruction de saut qui doit elle-même être sautée sera mis à 1 et provoquera le saut de cette instruction, comme si c'était le drapeau de saut d'une autre instruction. Bien que l'on ait décrit dans ce qui précède et représenté sur le dessin 25 les caractéristiques essentielles de l'invention appliquées à un mode de réalisation préféré de celle-ci, il est évident que l'homme de l'art peut y apporter toutes modifications de forme ou de détail qu'il juge utiles sans pour autant sortir du cadre de ladite invention. 69 12350 2011671 REVENDICATIONS 1.- Dispositif utilisable dans une machine de traitement da données com-commandée par une séquence d instructions et comportant des moyens pour analy- 5 ser ces instructions, es dispositif étant caractérise par la combinaison des éléments suivants: a) des moyens de reconnaissance d'instruction de saut, permettant ds détecter le fait qu'une instruction appartient à une certaine catégorie ("instruction de saut");une telle instruction indiquant que certaines instructions 10 prédéterminées situées après ladite "instruction de saut"doivent être sautées si une certains condition concernant l'état des informations présentes dans la machine est réalisée. b) des moyens ds reconnaissance de condition pour détecter que ladite condition est réalisée et pour enregistrer un signal (signal de "mode de saut") 15 si, les moyens de reconnaissance d'instruction de saut ayant détecté une instruction de saut, les moyens de reconnaissance de condition détectent la réalisation de ladite condition. c) des moyens de commande de saut, permettant de commander la suppression de l'exécution des dites instructions prédéterminées si ledit signal de "mode 20 de saut" a été enregistré. 2.- Dispositif conforme à la revendication 1, caractérisé en outre en ce que, les instructions de saut comportant un champ de code opération et au moins un champ additionnel et les moyens pour analyser les instructions comportant 25 des décodeurs capables d'analyser les contenus de ces champs, jes moyens de reconnaissance de condition comport'Gfit: - des moyens pour extraire des informations placées dans certains emplacements de la machine définis par les contenus des champs additionnels - un générateur de fonction pour effectuer, sur ces informations, une 30 opération définie par le contenu du champ de code opération si l'instruction définie par ce contenu appartient à la catégorie des instructions de saut, le résultat de cette opération commandant l'enregistrement du signal de "mode de saut" - un élément de mémoire pour enregistrer ledit signal 35 3.- Dispositif conforme à la revendication 1 ou 2, caractérisé en outre en ce que les moyens de commande de saut comportent: - une série de registres - des moyens de commande de décalage associés à chaque registre autre 40 que le dernier de la série et permettant de transférer le contenu de ce BAD ORIGINAL 69 12350 37 2011671 registre au registre suivant ou, si ledit registre suivant n'est pas le dernier de la série, à un registre sélectionnable dans l'ensemble des registres suivants ou dans une partie de cet ensemble, ce contenu remplaçant celui du registre vers lequel l'information est ainsi transférée 5 - des moyens pour connecter les positions du dernier registre de la série aux moyens d'analyse des instructions - des moyens d'entrée pour introduire dans un certain nombre de registres placés en tête de la série un certain nombre d'instructions provenant de la machine de traitement de données, une instruction étant introduite dans chacun 1Q de ces registres, celle des instructions qui doit être traitée la dernière étant introduite dans le premier registre de la série et les autres instructions étant introduites dans les registres suivants selon l'inverse de l'ordre de traitement - des moyens de marquage associés à un certain nombre de registres formant 15 une sous-série continue pour introduire dans ces registres un signal indiquant que l'instruction contenue dans ce registre doit être sautée (signal de :,non opération") - des circuits logiques éornmandés par les signaux "non-opération" et commandant les moyens de commande de décalage de manière que le contenu des re- 20 gistres contenant un signal de "non-opération" ne soit pas transféré et que le contenu des autres registres munis de moyens de commande de décalage soit décalé de manière à remplacer le contenu du dernier registre de la série et celui de tous les registres non transférés, sans changer l'ordre des instructions - un ensemble de circuits commandant les moyens d'entrée de manière à 25 introduire, dans les premiers registres de la série, des instructions remplaçant celles qui sont transférées hors de ces registres par le décalage commandé par ledit circuit logique. 4. - Dispositif conforme à la revendication 3, caractérisé en outre sn ce 3q que, les instructions comportant un bit indiquant que cette instruction appartient à la catégorie prédéterminée des instructions susceptibles d'être sautées ( bit dit " drapeau de saut"), ce bit est introduit sans modification dans les registres. 35 5.- Dispositif conforme à la revendication 3 ou 4, caractérisé en outre en ce que un circuit de décodage partiel est associé à chacun des registres susceptibles de recevoir une instruction provenant de la machine de traitement de données, ce circuit fournissant un signal indiquant si l'instruction appartient ou non à la catégorie des instructions de saut, et enregistrant ce signal 40 dans un bit déterminé du registre. 69 12350 3B 2011671 6.- Dispositif conforme à l'une des revendications 3, 4 ou 5, caractérisé en outre en ce que les moyens de marquage associés à un registre de la sous-série des registres susceptibles de recevoir un signal de "non opération" sont 5 commandés par le signal de "mode de saut", par la partie du registre" contenant l'information indiquant si l'instruction conforme dans ce registre est susceptible d'être sautée, et par les parties de tous les registres de la série situés après ce registre contenant l'information indiquant si les instructions contenues dans ces registres sont des instructions de saut, de manière à intro-10 duire le signal de non-opération si l'instruction contenue dans le registre appartient à la catégorie des instructions susceptibles d être sautées, à condition que le signal de "mode de saut" soit présent et qu'aucun des registres suivants de la série ne contienne une instruction de saut. 7. - Dispositif conforme à l'une des revendications 3 à 6, caractérisé en outre en ce qu'il comporte un circuit logique commandé par le signal de "mode de saut" et par la partie du dernier registre de la série contenant l'information indiquant si l'instruction contenue dans ce registre sst susceptible d'être sautée, la sortie de ce circuit logique interdisant le décodage du champ "code 20 opération" de ladite instruction si, la condition de "mode de saut" étant présente, ladite instruction appartient à la catégorie des instructions susceptibles d'être sautées, 8. - Dispositif placé dans une machine de traitement de données digitale 25 pour effectuer le saut de certaines instructions prédéterminées dans une séquence d'instructions et pour empêcher le saut de certaines autres instructions prédéterminées dans ladite séquence d'instructions, où les dites instructions comportent une partie "code" désignant le type d'instruction, ainsi qu'une première et une seconde parties additionnelles qui, pour un certain type d'instruc 30 -tlon particulier, désignent les paramètres de la machine à partir desquels une détermination de condition doit être effectuée, et comportent aussi un "drapeau de saut" indiquant que l'instruction doit être sautée en cas de réussite d'un test de détermination de condition, ce dispositif étant caractérisé par la combinaison des éléments suivants : 35 une source d'instructions un premier groupe de registres pour recevoir au moins une partie de la succession d'instructions fournie par cette source un deuxième groupe de registres un troisième dispositif de mémoire 40 des moyens pour transférer les instructions de certains registres du BAD ORIGINAL 69 12350 39 2011671 premier groupe vers d'autres registres du premier groupe et vers certains registres du second groupe, ces moyens de transport étant également capables de transférer des instructions de certains registres du second groupe vers d'autrœ registres du second groupe 5 des moyens pour décoder la partie "code" de l'instruction contenue dans un registre donné du second groupe et pour envoyer des signaux à la machine de traitement de données pour exécuter l'instruction décodée, ces moyens fournissant d'autres signaux comme résultat du décodage du type d'instruction particulier susmentionné, ces autres signaux indiquant que le test de détermination 10 de condition doit être effectué des moyens de décodage pour décoder la première et la seconde parties additionnelles de l'instruction contenue dans ledit registre donné du second groupe et fournissant des signaux au troisième dispositif de mémoire,ces signaux déterminant les paramètres de la machine à partir desquels le test de détermi-15 nation de condition doit être effectué.; ledit troisième dispositif de mémoire fournissant des sorties représentant ces paramètres un générateur de fonction, commandé par ledit signal indiquant qu'un test de détermination de condition doit être effectué et par les dites sorties du troisième dispositif de mémoire et fournissant une première indication en cas 20 de test positif et une deuxième indication en cas de test négatif un premier ensemble de moyens logiques commandé par la coïncidence de ladite première indication et de la présence du "drapeau de saut" dans l'instruction contenue dans ledit registre donné du second groupe, pour sauter ladite instruction en empêchant le décodage de cette instruction 25 un deuxième ensemble de moyens logiques commandé par ladite première indi cation et par la présence du "drapeau de saut" dans certains registres déterminés du premier et du second groupes pour introduire un bit déterminé (bit de "non opération") dans ceux de ces registres qui contiennent des instructions à sauter 30 un troisième ensemble de moyens logiques commandé par les dits bits de "non-opération " pour introduire par décalage d'autres instructions de la séquence dans ceux desdits registres déterminés qui contiennent des instructions à sauter.