FR 2483656 A1 19811204 FR 8110707 A 19810529 La présente invention concerne un ordinateur qui est conçu de façon à traiter des données sous l'effet- d'instructions qui y sont enregistrées, l'ordinateur com- prenant des moyens permettant d'exécuter chaque instruc- tion dans un intervalle d'instruction. Il existe dans l'art antérieur un micro-ordi- nateur conçu de façon à accomplir des manipulations de bits, telles que la mise à zéro d'un bit sélectionné ou la mise à un d'un bit sélectionné dans un mot. De plus, à titre d'exemple, un bit peut être déplacé depuis n'im- porte quelle position de bit dans un mot de source vers n'importe quelle position de bit dans un mot de destina- tion. Pendant l'opération de déplacement d'un bit, l'unité arithmétique et logique accomplit un test sur le bit sélectionné dans le mot de source. Cette procé- dure de test comprend la génération d'un masque de test avant l'accomplissement du test. En fonction du résultat du test, une position de bit sélectionnée dans le mot de destination est mise àa zéro ou mise à un. Les autres bits du mot de destination demeurent inchangés. Cette opéra- tion de déplacement d'un bit nécessite deux instructions, ou plus, et donc deux intervalles d'instruction, ou plus, pour déplacer un seul bit. Ainsi, lorsqu'un programmeur désire déplacer un bit en un seul intervalle d'instruction, un problème apparaît du fait de l'utilisation de plusieurs instruc- tions pour réaliser entièrement le déplacement. Le déplacement d'un bit en un seul intervalle d'instruction est une caractéristique intéressante pour un micro-ordi- nateur appartenant à une structure de commande qui accom- plit de nombreuses opérations de manipulation de bits. Conformément à l'invention, le problème est résolu par le fait que l'ordinateur comprend des moyens destinés à effectuer une opération de déplacement d'un bit sous l'effet d'une instruction correspondante, l'opé- ration de déplacement d'un bit étant exécutée en une durée qui correspond à un seul intervalle d'instruction. L'invention sera mieux comprise à la lecture de la description plus détaillée qui va suivre d'un mode de réalisation et en se référant aux dessins annexés sur lesquels La figure 1 est un schéma synoptique d'une struc- ture d'ordinateur; Les figures 2, 3 et 4, disposées conformément à la figure 5 qui se trouve sur la même planche que la figure 2, forment un schéma logique d'une unité arithmé- tique et logique; La figure 6 est un diagramme séquentiel La figure 7 est un schéma logique d'un circuit de commande de déplacement de bit, d'un multiplexeur et d'un circuit de sélection; ét La figure 8 représente des tables logiques pour le circuit de commande de déplacement de bit, On va maintenant considérer la figure 1 qui montre l'architecture d'un microordinateur comprenant une unité arithmétique et logique (UAL) 20 conçue de façon à recevoir des signaux d'entrée provenant de plu- sieurs circuits. Les données qui sont prélevées dans une mémoire vive 22 ou dans une mémoire morte 24, ou qui proviennent d'autres sources, par l'intermédiaire d'un bus de données et de commande 25, sont conservées temporairement dans des registres de données TA et TB, en tant que données d'entrée de l'UAL. Les signaux de commande décodés qui proviennent de la mémoire morte 24 sont transférés aux entrées de l'UAL par l'intermédiaire du bus 25, d'un registre TAB et de registres- décodeurs commandés G et H. Les registres de données TA et TB et les registres-décodeurs commandés G et H enregistrent tous des mots de 4 bits qui sont appliqués à l'UAL. Les signaux de sortie des registres TA et TB et du registre- décodeur commandé G sont tous appliqués à un niveau de portes ET dans 1'UAL 20, comme le montrent les figures 2, 3 et 4. Les signaux de sortie du registre-décodeur commandé H sont appliqués à un niveau de portes OU dans 1'UAL, comme le montrent également les figures 2, 3 et 4. Lorsque les signaux d'entrée destinés à 1'UAL sont enregis- trés dans les registres respectifs et lorsque l'UAL est mise en fonction pour générer un ensemble de signaux de sortie, cet ensemble de signaux de sortie dépend des mots d'entrée présents dans les registres TA et TB, ainsi que des signaux de commande qui sont appliqués à partir d'un circuit de commande 30 et des registres-décodeurs comman- dés G et H. L'UAL 20 est par ailleurs similaire à d'autres configurations de circuit d'UAL connues. Comme le montre la figure 1, les registres- décodeurs commandés G et H reçoivent respectivement des signaux de commande GC et HC. Ces signaux de commande GC et HC sont des fonctions d'un ensemble de signaux de zone de commande SB, OB,.et MB, qui détermine si l'unité arithmétique et logique doit accomplir une opération normale, une opération de mise à un d'un bit, une opéra- tion de mise à zéro d'un bit, ou une opération de dépla- cement d'un bit. Les signaux SB, CB, et MB sont générés par le circuit de commande 30 sous l'effet d'instruc- tions enregistrées dans un registre d'instruction (RI) 32 et d'autres signaux. Le signal de commande HC est éga- lement fonction d'un signal inversé de bit sélectionné BS qui représente la valeur binaire du bit sélectionné qui doit être déplacé pendant une opération de déplace- ment d'un bit. Le signal ES est généré par un circuit de sélection de bit 34 à la suite du test du bit à dépla- cer. Lorsque le bit sélectionné est un "1", le signal BS est un "zéro", et inversement. Pour toute opération de déplacement d'un bit, quatre bits sont placés dans le registre TAB pour défi- nir une position de bit dans le mot de destination et une position de bit dans le mot de source. Deux bits, ou signaux, désignés par Ni et NO, définissent la position de bit affectée dans le mot de destination. Les deux autres bits, désignés par Si et SO, définissent la posi- tion du bit à déplacer à partir du mot de source. Pour toute opération de mise à un d'un bit ou de mise à zéro d'un bit, les deux bits Ni et NO sont pla- cés dans le registre TAB pour définir une position de bit dans le mot de destination. Aucune information relative au mot de source n'est nécessaire. Pendant les opérations normales de l'UAL) c'est- à-dire lorsque l'UAL n'effectue pas une opération de mise à un d'un bit, de mise à zéro d'un bit ou de déplacement d'un bit, les signaux de sortie des registres-décodeurs commandés G et H n'ont aucun effet sur le signal de sortie de l'UAL. Fonctionnement normal de l'UAL On va maintenant considérer la figure 6 sur laquelle le diagramme séquentiel, ou diagramme d'états, montre les états qui apparaissent pendant le fonction- nement de l'unité arithmétique et logique 20 de la figure 1 ainsi que des circuits associés du micro-ordinateur. Bien que plusieurs états apparaissent sur la figure 6, le diagramme ne représente qu'une partie d'un diagramme d'états plus grand. La partie représentée comprend une région qui illustre le fonctionnement du microordinateur et de l'UAL sous l'effet de certaines instructions nor- males ainsi que des instructions de mise à zéro d'un bit, de mise à un d'un bit et de déplacement d'un bit. Chaque instruction comprend une séquence d'états commençant au sommet du diagramme et progressant vers le bas, un état à la fois, en passant par les états succes- sifs pour atteindre la partie inférieure du diagramme. En ce qui concerne les états, un numéro d'identification associé à chacun d'eux est situé dans le coin supérieur gauche du rectangle représentant l'état. Sur la figure 6, l'état supérieur 0-3 est l'état initial ou de départ pour toutes les instructions. L'état 0-1 au bas du diagramme est l'état final ou dernier état à partir duquel la séquence d'états retourne à l'état initial 0-3. Pendant l'état 0-3, un code d'opération uni- que à quatre bits est prélevé dans la mémoire morte 24 par l'intermédiaire du bus 25 et il est enregistré dans le registre d'instruction 32, pouvant fournir jusqu'à seize instructions différentes. Ceci est représenté sur le dia- : gramme d'états par un symbole A RI. Les instructions normales sont représentées par les chiffres 0 à 8, en hexa- décimal. Une fois que le code d'opération a été prélevé et placé dans le registre d'instruction et qu'une adresse contenue dans les parties esclaves des bascules d'adresse 33 a été incrémentée dans une unité arithmétique d'adresse , la nouvelle adresse est enregistrée dans un compteur d'instruction, qui n'est pas représenté, et dans les par- ties maîtres des bascules d'adresse. Le circuit de com- mande 30 passe à l'état 0-4. Dans l'état 0-4, un second mot de l'instruction est prélevé dans la mémoire morte 24 et placé dans un registre D/S, comme l'indique l'expression -> DdSs. A nouveau, l'adresse contenue dans les parties esclaves des bascules d'adresse 33 est incrémentée dans l'unité arith- métique d'adresse et elle est enregistrée dans le comp- teur d'instruction et dans les parties maîtres des bas- cules d'adresse 33. L'état courant devient ensuite l'état 1-5. La séquence est.forcée à l'état 1-5 du fait que le premier mot de code d'opération représentant une opé- ration normale de l'UAL est compris dans les limites définies par les chiffres 0 et C en hexadécimal. Pendant l'état 1-5, un mot de données est prélevé dans la mémoire 22 ou 24, par l'intermédiaire du bus de données et de commande 25, et il est placé dans.le registre TAB. Cette opération est représentée sur le diagramme d'états par un symbole - TAB. La machine passe ensuite à l'état 1-E/F. Dans l'état 1-E/F, le micro-ordinateur forme les adresses permettant d'accéder à la destination et à la source. Bien que plusieurs états puissent être nécessai- res pour former les adresses, on considère que l'état 1-E/F est représentatif de l'ensemble du processus de for- mation d'adresse. La séquence d'états passe ensuite à l'état 3-9. Pendant l'état 3-9, un mot de source est prélevé dans la mémoire 22 ou 24 et il est placé dans le registre TB. Ceci4est représenté par le symbole --A TB. L'enre- gistrement du mot de source dans le registre TB a pour effet d'appliquer directement ce mot, par un bus 36 représenté sur la figure 1, aux entrées BO, BI, B2 et B3 de l'UAL et aux entrées désignées de façon similaire du circuit de sélection de bit 34. Les détails du circuit de sélection de bit 34 sont représentés sur la figure 7. Pen- dant les opérations normales de l'UAL, les entrées BO-B3 de l'UAL peuvent être utilisées, mais les entrées corres- pondantes du circuit de sélection de bit 34 ne sont pas utilisées. La séquence passe à l'état 2-4. Dans l'état 2-4, un mot de destination est pré- levé en mémoire et placé dans le registre TA. Ceci est représenté sur la figure 6 par le symbole -- TA. L'enre- gistrement du mot de destination dans le registre TA a pour effet d'appliquer directement le mot de destination aux entrées AO, AI, A2 et A3 de l'UAL, par un bus 37 représenté sur la figure 1. Des signaux de commande sont élaborés et sont appliqués à un circuit de commande de déplacement de bit, , représenté sur les figures 1 et 7. Comme le montre la figure 7, le registre-décodeur commandé G consiste en une combinaison de portes NON-ET qui est conçue de façon à ne produire que des uns lorsque le signal GC est à zéro, et un zéro et un seul, lorsque le signal GC est à un. Le registre-décodeur commandé consiste en une combinaison de portes NON-OU qui est conçue de façon à ne produire que des zéros lorsque le signal HC est à un et à ne produire qu'un seul un lorsque le signal HC est à zéro. Comme on le voit sur la figure 8,- les états des registres-décodeurs commandés G et H et des signaux de commande GC et HC pour toutes les opérations normales de l'UAL sont définis dans les lignes supérieures des tableaux I, II et III. Pour toute opération normale de 1'UAL, le signal de commande GC est un zéro et tous les signaux de sortie du registredécodeur commandé G sont des uns. Du fait que ces signaux de sortie, constituant ce qu'on appelle un groupe de signaux de mise à zéro d'un bit, GO, Gl, G2 et G3, sont des uns et sont appliqués directemenet, par des conducteurs désignés de façon similaire d'un bus 38, à des entrées particulières du niveau de portes ET 40 dans l'UAL 20 des figures 2, 3 et 4, les signaux de sortie du registre-décodeur commandé G n'affectent pas les signaux de sortie de ces portes ET. Il en est ainsi du fait que les autres signaux d'entrée de ces portes ET, comme les signaux AO, AI, A2 et A3, déterminent les signaux de sor- tie des portes. Ces signaux de sortie sont appliqués sous la forme d'un ensemble de signaux d'entrée à chacune des- quatre portes du niveau de portes OU 42 dans l'UAL 20 des figures 2, 3 et 4, pour les opérations normales de l'UAL. De plus, pour une opération normale de l'U1L, le signal de commande HC est à un et tous les signaux de sortie du registre-décodeur H sont à zéro. Du fait que ces signaux, HO, Hi, H2 et H3, qu'on appelle un groupe de signaux de mise à un d'un bit, sont tous égaux à zéro et sont appliqués directement à d'autres entrées du niveau de portes OU 42 dans l'UAL 20 des figures 2 et-3, par des conducteurs désignés de façon similaire, les signaux de sortie du registre-décodeur H n'affectent pas les signaux de sortie de ces portes OU. Des signaux d'entrée supplé- mentaires des portes OU 42, comme les signaux d'entrée reçus à partir du niveau de portes ET 40, déterminent les signaux de sortie du niveau de portes OU 42 pour les opé- rations normales de l'UAL. Le micro-ordinateur est maintenant préparé pour mettre en fonction l'UAL, et la séquence passe à l'état 2-0 de la figure 6. Pendant l'état 2-0, l'unité arithmé- tique et logique 20 est mise en fonction pour accomplir l'opération normale qui est demandée pour l'UAL. Une fois que cette opération est terminée, l'UAL produit un mot de destination qui est transmis par le bus de données et de commande 25 vers la destination dans la mémoire vive 22, o il est écrit. La séquence passe à l'état 0-1 dans lequel l'adresse enregistrée dans le compteur d'instruc- tion est transférée vers les parties maîtres des bascules d'adresse 33 de la figure 1, comme l'indique le symbole PC >1 M. De ce fait, la séquence passe a l'état 0-3 qui est l'état initial pour l'instruction suivante. Opération de mise à un d'un bit (registre-décodeur H) On va maintenant considérer l'accomplissement d'une opération de mise à un- d'un bit, au lieu d'une opé- ration normale de 1'UAL. Pour l'opération de mise à un d'un bit, le code d'opération approprié, représenté par le chiffre 9 en hexadécimal, est prélevé dans la mémoire morte 24 par l'intermédiaire du bus 25 pendant l'état 0-3 et il est enregistré dans le registre d'instruction 32. Le circuit de commande 30 passe de l'état 0-3 aux états C-4 et 1-5 en pladant un mot de données dans le re- gistre D/S et un autre dans le registre TAB. Le mot de données enregistrédans le registre TAB comprend une zone de rang constituée par les bits Ni et NO définissant le rang du bit à mettre à un dans le mot de destination. Ensuite, dans l'état 1-E/F, une adresse pour la destina- tion est formée à partir de l'information de mode d'adres- se qui est enregistrée dans le registre D/S au moment considéré. La machine progresse en passant par l'état 3-9, puis le mot de destination est prélevé et enregistré dans le registre TA pendant l'état 2-4. - Le microprocesseur est maintenant préparé à l'accomplissement de l'opération de mise à un d'un bit, et l'unité arithmétique et logique 20 est mise en fonc- tion. Le mot de destination contenu dans le registre TA est positionné de façon qu'un bit situé à la position défi- nie par la zone de rang formée par les bits NI et NO, soit mis à un s'il n'est pas déjà à un. Par conséquent, des signaux de commande sont éla- borés et sont appliqués au circuit de commande de dép!aQe- ment d'un bit, 45, des figures 1 et 7. Les signaux de com- mande pour l'opération de mise à un d'un bit sont présentés à la seconde ligne du tableau I sur la figure 8. Pendant l'opération de mise à un d'un bit, le signal de commande de mise à un d'un bit, SB, est à un, ce qui fait en sorte que le signal de commande HC, produit par une porte NOI"-OU 01, soit à zéro. Le signal inversé de commande de m àe a zéro d'un bit, CB, et le signal inversé de déplacement d'un bit, MB, sont à un, si bien que le signal de commande GC pro- duit par une porte NON-ET 92 est à zéro. Par conséquent, pour l'opération de mise à un d'un bit, les deux signaux de commande HC et GC sont à zéro. Du fait que le signal de commande GC est à zéro pour l'opération de mise à un d'un bit, tous les signaux du groupe de signaux de mise à zéro d'un bit, GO, Gi, G2 et G3, provenant des portes NON-ET du registre-décodeur commandé G sont à un, indépendamment du bit qui est sélectionné, comme il est indiqué à la ligne supérieure du tableau III de la figure 8.. Du fait que le groupe de signaux de mise à zéro d'un bit présente une configura- tion similaire à celle qui correspond aux opérations nor- males de l'UAL, ces signaux n'ont aucun effet sur le signal de sortie du niveau de portes ET 40 dans l'UAL. On notera que du fait que son signal de sortie n'a aucun effet sur les opérations de mise à un d'un bit, le registre-décodeur commandé G n'est pas nécessaire pour un ordinateur qui effectue uniquement des opérations de mise à un d'un bit, un tel ordinateur n'effectuant aucune opération de mise à zéro d'un bit ou de déplacement d'un bit. Du fait que le signal de commande HC est égal à zéro pour l'opération de mise à un d'un bit, la valeur binaire de la zone de rang constituée par les bits Ni et NO définit le bit qui doit être mis à un dans le mot de destination. Cette relation est représentée aux quatre lignes inférieures du tableau II de la figure 8. Les por- tes NON-OU du registre-décodeur commandé H convertissent la valeur binaire appliquée en un code du type "un parmi quatre" dans le groupe de signaux de mise à un d'un bit, HO, Hi, H2 et H3. Dans ce code, l'un des quatre signaux HO, Hi, H2 et H3, et un seul, est à un, et les trois autres sont à zéro pour chacune des valeurs binaires. Le bit à mettre à un, défini par le code binaire dans la zone de rang formée par les bits Ni et NO,est celui qui corres- pond au un. Comme le montrent les figures 2, 3 et 4, plusieurs portes 61, 62, 63 et 64 du niveau de portes ET 40 dans l'UAL 20 réagissent au mot enregistré dans le registre TA et au groupe de signaux de mise à zéro d'un bit du regis- tre-décodeur G. Pour l'opération de mise à un d'un bit, le contenu du registre TB n'affecte pas le signal de sortie de l'UAL. De plus, du fait que le groupe de signaux de mise à zéro d'un bit ne comprend que des uns, les portes 61, 62, 63 et 64 du niveau de portes ET 40 produisent des signaux de sortie qui sont déterminés par les signaux d'entrée de ces portes provenant du registre TA. Du fait que les signaux du groupe de signaux de mise à un d'un bit, provenant du registre-décodeur H, sont appliqués par le bus 39 au niveau de portes OU 42 (chacune de ces portes est représentée par une porte NONOU suivie par un inverseur et on l'appellera ci-après une porte OU) dans l'unité arithmétique et logique, comme le montrent les figures 2 et 3, en compagnie du contenu du registre TA, reproduit par les portes 61, 62, 63 et 64 dans le niveau de portes ET 40, le un unique dans le groupe de signaux de mise à un d'un bit fait en sorte que la porte OU à laquelle ce un est appliqué donne un "un" en sortie. Ceci exerce une action prioritaire sur tout signal d'entrée appliqué à partir de la porte ET associée 61, 62, 63 ou 64. Les trois zéros dans le grou- pe de signaux de mise à un d'un bit qui sont appliqués à partir du registre-décodeur H n'affectent pas le si- gnal de sortie des portes OU respectives. D'autres por- tes ET dont les signaux de sortie sont appliqués aux portes OU 4? sont destinées aux opérations normales de l'UAL et produisent à ce moment des signaux de sortie égaux à zéro. Ainsi, le signal de sortie du niveau de portes OU 42 constitue le mot de destination provenant du registre TA, à l'exception du fait que le bit sélectionné est à un aussi bien dans le cas o ce bit était à un que dans le cas o il était à zéro lorsqu'il a été enregis- tré initialement dans le registre TA. Les signaux de sortie des portes du niveau de 1l portes OU 42 sont appliqués sous la forme de signaux d'en- trée Xi, en désignant par i un nombre compris entre O et 3, à un autre niveau -de portes ET 44, en compagnie des si- gnaux d'entrée Yi provenant d'un niveau de portes NON-OU 46. Pour l'opération de mise à un d'un bit, ces signaux d'entrée Yi sont tous des uns, ce qui fait que des portes ET 44 produisent des signaux de sortie qui sont tous iden- tiques aux signaux d'entrée Xi. Les signaux de sortie de ces portes ET 44 sont appliqués en tant que signaux d'en- trée à des portes OU-EXCLUSIF 48, chacune d'elles étant représentée par une porte NON-OU EXCLUSIF suivie par un inverseur, cette combinaison étant appelée ci-après porte OU-EXCLUSIF. Le bit à mettre à un est un "1" qui est appliqué à la porte OU-EXCLUSIF qui lui est associée. L'autre signal d'entrée appliqué à cette porte OU-EXCLUSIF est un zéro, du fait que tous les signaux AL, YO, Yi, Y2- et CIO, sont à un. Avec un signal d'entrée à un et un signal d'entrée à zéro, la porte OU-EXCLUSIF du bit à mettre à un dans la destination produit un signal de sor- tie à un sur son conducteur respectif DBO, DB1, DB2 ou DB3 dans le bus de données et de commande 25. Ceci fait en sorte que le bit qui se trouve à la position de bit sélectionnée du mot de destination soit mis à un indé- pendamment de son état lorsque l'opération de mise à un d'un bit a commencé. Les lignes restantes du bus de données auront le même état que les bits enregistrés dans le registre TA. Simultanément, l'adresse de la des- tination et un signal d'écriture sont appliqués à la mémoire 22 de la figure 1 pour écrire à la destination sélectionnée le mot de destination qui a maintenant été modifié. 1 Le circuit de commande 30 passe ensuite à l'état 0-1, c'est-à-dire l'état final pour l'exécution de l'ins- truction de mise à un'd'un bit. La machine passe ensuite à l'état 0-3 pour commencer l'exécution d'une autre ins- truction. Opération de mise à zéro d'un bit (registre-décodeur G) Pour l'opération de mise à zéro d'un bit, le code d'opération numérique approprié, représenté par le chiffre A en hexadécimal, est prélevé dans la mémoire morte.24 par le bus 21 et il est enregistré dans le registre d'instruc- tion 32, pendant l'.état 0-3. Le circuit de commande 30 passe de l'état 03 aux états 0-4 et 1-5 en prélevant l'in- formation de mode d'adresse et les bits de zone de rang Ni, NO, pour les enregistrer respectivement dans les registres D/S et TAB. Ensuite, l'adresse de destination est formée dans l'état 1-E/F. La machine passe ensuite par l'état 3-9, après quoi le mot de destination est pré- levé et enregistré dans le registre TA au cours de l'état 2-4. Le microprocesseur est maintenant prêt pour l'opération de mise à zéro d'un bit. Le mot de destina- tion présent dans le registre TA est positionné de façon qu'un bit se trouvant à la position définie par la zone de rang formée par les bits Ni et NO, soit mis à zéro, s'il n'était pas déjà à zéro. Par conséquent, des signaux de commande sont élaborés et appliqués au circuit de commande de déplace- ment d'un bit 45, des figures 1 et 7. Les sighaux de commande pour l'opération de mise à zéro d'un bit sont représentés à la troisième ligne du tableau I sur la figure 8. Pendant l'opération de mise à zéro d'un bit, le signal inversé de commande-de mise à zéro d'un bit, CB est à zéro, si bien que le signal de commande GC pro- - duit par la porte NON-ET 92 est à un. De plus,.le signal de commande de mise à un d'un bit SB, est à zéro, ce qui fait que le signal de commande HC produit par la porte NON-OU 91 est à un. Dé ce fait, les deux signaux de com- mande HC et GC sont à un pour l'opération de mise à zéro d'un bit. Du fait que le signal de commande HC est à un pour l'opération de mise à zéro d'un bit, tous les signaux du groupe de signaux de mise à un d'un bit, HO, Hli' H2 et H3, provenant des portes NON-OU du registre-décodeur com- mandé H,-sont à zéro, indépendamment du bit qui est sélec- tionné dans le mot de destination, comme il est indiqué à la ligne supérieure du tableau II sur la figure 8. Du fait que ces signaux ont une configuration similaire à celle du groupe de signaux de mise à un d'un bit pour les opéra- tions normales de l'UAL,-ils n'affectent pas le signal de sortie du niveau de portes OU 42 dans l'UAL. On notera que du fait que son signal de sortie n'affecte pas les opérations de mise à zéro d'un bit, le registre-décodeur commandé H n'est pas nécessaire dans le cas d'un ordinateur qui effectue uniquement des opérations de mise à zéro d'un bit, un tel ordinateur n'effectuant aucune opération de mise à un d'un bit ou de déplacement d'un bit. - Du fait que le signal de commande GC est à un pour l'opération de mise à zéro d'un bit, la valeur binaire de la zone de rang formée par les bits NO et Ni définit le bit qui doit être mis à zéro. Cette relation est indiquée dans les quatre lignes inférieures du tableau III de la figure 8. Les portes NON-ET du registre-décodeur commandé G convertissent la valeur binaire appliquée en un code du type "un parmi quatre" dans le groupe de signaux de mise à zéro d'un bit, GO, Gi, G2 et -G3. Dans ce code, l'un des quatre signaux de sortie GO, Gi, G2 et G3, et un seul, est un zéro et les autres sont des uns, pour chacune des valeurs binaires.-Le bit à mettre à zéro, défini par la zone de rang formée par les bits Ni et NO, est celui qui correspond au zéro. Comme le mon- trent les figures 2, 3 et 4, les portes 61, 62, 63 et 64 du niveau de portes ET 40 dans l'UAL réagissent au mot qui est enregistré dans le registre TA, sauf pour le bit à mettre à zéro, du fait que trois des signaux du groupe de signaux de mise à zéro de bit provenant du registre- décodeur commandé G sont des uns. Ainsi, trois des portes ET 61, 62, 63 et 64 produisent des signaux de sortie cor- respondant aux signaux d'entrée provenant du registre TA. Pour l'opération de mise à zéro d'un bit, le contenu du registre TBn'affecte pas le signal de sortie de l'UAL. Le signal de sortie de la porte ET qui est associée au bit sélectionné à mettre à zéro, ce bit étant défini par la zone de 'rang formée par les bits Ni et NO, correspond au signal de sortie zéro qui provient du registre-décodeur commandé G. Le signal de sortie de la porte OU 42 correspon- dante est également un zéro qui est appliqué sous la forme d'un signal d'entrée Xi à la porte ET 44 associée, en compagnie d'un signal d'entrée Yi qui provient d'une porte NON-OU 46. Ce signal d'entrée Xi égal à zéro fait apparai- tre un zéro en sortie de la porte ET 44. Ce zéro, repré- sentant le bit à mettre à zéro, est appliqué à son tour à la porte OU-EXCLUSIF 48, en compagnie d'un zéro qui résul- te du fait que tous les signaux AL, YO, Yl, Y2 et CIO sont à un. Du fait que les deux entrées de la porte OU-EXCLUSIF 48 sont à zéro, cette porte applique un signal de sortie à zéro sur le conducteur respectif DBO, DB1, DF2 et DB3 du bus de données et de commande 25, dans la position de bit à mettre à zéro dans le mot de destination. Ce signal de sortie de l'UAL 20 est à zéro indépendamment de l'état qu'il présentait dans le mot qui a été enregistré initia- lement dans le registre TA. Ceci fait en sorte que le bit qui se trouve dans la position de bit sélectionnée de la destination soit mis à zéro indépendamment de son état au moment o l'opération de mise à zéro d'un bit a été commencée. Les autres conducteurs du bus de données porte- ront une information identique aux bits correspondants du mot qui est enregistré dans le registre TA. Simultanément, les signaux d'adresse et d'écriture sont appliqués à la mémoire 22 de la figure 1, pour écrire à la destination sélectionnée le mot de destination qui est maintenant modi- fié. Le circuit de commande 30 passe à l'état 0-1, c'est- à-dire l'état final pour l'exécution de l'instruction de mise à zéro d'un bit. Le micro-ordinateur passe ensuite à * l'état 0-3 pour commencer l'exécution d'une autre-instruc- tion. Opération de déplacement d'un bit (registres-décodeurs G -et H) Avec la configuration du schéma synoptique de la figure 1, on utilise un seul intervalle d'instruction pour déplacer un seul bit depuis n'importe quelle position sélec- tionnée parmi plusieurs positions de bit dans une source sélectionnée, vers n'importe quelle position de bit sélec- tionnée parmi plusieurs positions de bit dans- une desti- nation sélectionnée. Les autres bits de la destination ne sont pas affectés. La source et la destination peuvent correspondre à la même position de mémoire ou des posi- tions de mémoire différentes. De plus, les positions de bit de source et de destination peuvent être identiques ou différentes. Il y a deux sortes importantes d'opérati-ons accomplies par les circuits pour l'opération de déplace- ment d'un bit. La première sorte d'opération consiste à déplacer un bit un, tandis que l'autre consiste'à déplà- cer un bit zéro. On trouvera ci-après deux exemples. des- tinés à illustrer ces deux sortes d'opérations. Pour le premier exemple, on considèrera une. instruction de déplacement d'un bit sélectionné depuis la position de bit n l1 d'une source sélectionnée jusqu'à une position de bit sélectionnée n 2 d'une destination sélectionnée. On supposera que le mot L dans la source sélectionnée est 01Oi0 et que le mot M dans la destina- tion sélectionnée est 1011. Ainsi, un bit un provenant-du mot L doit être déplacé vers une position de bit qui en- registre actuellement un bit zéro, dans le mot M. - Pendant l'état 0-3 d'une opération de déplace- ment d'un bit-(voir la figure 6), un premier code d'opé- ration, représenté par le chiffre D en hexadécimal, est prélevé en mémoire par l'intermédiaire du bus de données et de commande 25 et il est enregistré dans le registre d'instruction 32. Le circuit de commande passe de l'état 0-3 à l'état 0-4, il prélève l'information de mode d'adres- se et la place dans le registre D/S par l'intermédiaire du bus 25, et il positionne une bascule M/D, non représentée, pour indiquer que l'instruction est une instruction à dou- ble code d'opération. Du fait que l'instruction de déplacement d'un bit a positionné la bascule M/D mais n'est passée qu'une fois par l'état 0-4, la commande du micro-ordinateur retour- ne de l'état 0-4 à l'état 0-3 pour prélever un second code d'opération dans la mémoire 24, par-le bus 25, et pour placer ce code dans le registre d'instruction 32, en rem- placement du premier mot de code d'opération. Ce prélève- ment du second code d'opération pour l'instruction de déplacement d'un bit, représenté par le chiffre F en hexa- décimal, se produit avant l'exécution de l'instruction de déplacement d'un bit. Sous l'effet de l'information conservée à partir du premier code d'opération et de l'in- formation contenue dans le second code d'opération, le circuit de commande 30 passe par l'état 0-4 et atteint l'état 1-5, en prélevant l'information de mode d'adresse dans le registre D/S, pour sélectionner les données et les adresses de source et de destination dans le registre TAB, afin de déterminer la position de bit sélectionnée. Le mot qui est enregistré dans le registre TAB comprend une information qui représente la position de bit sélec- tionnéde la source et la position de bit sélectionnée de la destination. Deux des bits, S1 et SO, enregistrés dans le registre TAB représentent le rang, ou position de bit, du bit de source sélectionné. Deux autres bits, à savoir les bits de zone de rang, N1 et NO, représentent le rang, ou position de bit, du bit de destination sélec- tionné qui doit être mis à zéro ou à un. Pour l'exemple considéré, les bits S1 et SO ont la valeur 01 représen- tant la-position de bit n l dans la source et les bits N1 et NO ont la valeur 10 représentant la position de bit n 2 dans la destination. Le circuit de commande passe à l'état 1-E/F. Dans l'état 1-E/F, les adresses de source et de destination sont formées à partir de l'information qui est enregistrée dans le registre D/S. Ensuite, pendant les états 3-9 et 2-4, les mots de source et de destination L et M sont prélevés en mémoire et sont enregistrés respec- tivement dans les registres TB et TA. Cette opération de prélèvement n'affecte pas les mots qui sont enregistrés dans la source ou dans la destination. A ce moment, comme le montrent les figures 1 et 7, 17 - des signaux de commande sont élaborés et appliqués au cir- cuit de commande de déplacement d'un bit 45. Les bits Si et SO sont transférés par un multiplexeur 50 et ils sont appliqués sous la forme de signaux de commande au circuit de sélection de bit 34. Simultanément,le mot L provenant du registre TB est appliqué par le bus 36 aux entrées BO, Bl, B2 et B3 du circuit de sélection de bit 34, qui est un sélecteur du type "un parmi-quatre". Les bits Si et SO déterminent quel bit du mot à quatre bits L est transféré par le circuit de sélection 34 vers sa sortie, en tant que signal inversé de sélection de bit, BS. Du fait que le bit sélectionné Bi dans la position n0l est un bit un et du fait que le circuit de sélection de bit 34 inverse le signal de bit sélectionné, le signal in- versé de bit sélectionné BS est un zéro. Les signaux de commande pour l'opération de déplacement d'un bit dans le cas du déplacement d'un bit un sont représentés à la cinquième ligne du tableau I sur la figure 8. Les deux autres bits NI et NO enregistrés dans le registre TAB déterminent le rang, ou position de bit, du bit de destination sélectionné, comme ils le font pour les instructions de mise à un d'un bit et de mise à zéro d'un bit. Les bits Ni et NO sont appliqués aux regis- tres-décodaurs commandés G et H dans le circuit de comman- de de déplacement d'un bit, 45, pour déterminer la confi- guration des signaux de sortie de ce circuit en fonction de l'état des signaux de commande GC et HC. Du fait que la position de bit sélectionnée dans la destination est la position de bit n02, la zone de rang formée par les bits NI et NO est 10. Comme le montrent les figures 1 et 7, une porte NON-OU 90 recevant des signaux d'entrée BS et MB, qui sont tous deux à l'état bas, produit un signal de sortie de bit sélectionné OBS égal à un. Ce un, appliqué à la porte NON- OU 91, fait prendre l'état zéro au signal de commande HC. Simultanément, du fait que le signal inversé de déplace- - ment d'un bit MB est à l'état bas, le signal de commande GC est égal à un en sortie de la porte NON-ET 92. Le signal de commande GC étant égal à un tandis que la zone de rang formée par les bits Nl et NO est à l'état 10, le groupe de signaux de mise à zéro d'un bit, GO, Gi, G2, G3, provenant des portes NON-ET du registre- décodeur commandé G de la figure 6, a la valeur 1011, comme il est indiqué à la quatrième ligne du tableau III de la figure 8. Ainsi, le bit concerné dans la position de bit n02 en sortie du registre-décodeur G est à zéro. Ce zéro est appliqué à la porte ET 62 appropriée dans le niveau de portes ET 40, dans 1'UAL 20. Les trois uns sont appliqués aux portes ET restantes 61, 63 et 64 de ce niveau, de façon que les signaux de sortie-de ces trois portes ET soient déterminés par les bits appropriés du mot de destination qui est enregistré dans le registre TA. Du fait que le signal de commande HC est égal à zéro et que la zone de rang formée par les bits NI et NO est dans l'état 10, le groupe de signaux de mise à un d'un bit, HO, Hl, H2, H3, provenant des portes NON-OU du registre- décodeur commandé H de la figure 7 est 0100, comme il est indiqué à la quatrième ligne du tableau II. Ainsi, le-bit considéré dans la position de bit n0.2 en sortie du registre-décodeur commandé H est à un, et il est appliqué à la porte OU 42 appropriée dans lUAL. Le micro-ordinateur est maintenant préparé pour que l'UAL accomplisse l'opération de déplacement dtun bit. Le circuit de commande 30 passe à l'état 2-O et met en fonc- tion l'UAL 20. Sous l'effet des signaux de sortie des regis- tres-décodeurs commandés GH, les circuits 62 et 42 de l'UAL mettent à zéro le bit qui se trouve dans la posi- tion de bit n02 et mettent à un le bit qui se trouve dans la position de bit n02 du mot qui est enregistré au mo- ment considéré dans le registre TA. Une analyse de la structure logique de l'unité arithmétique et logique montre que la porte OU 42 destinée à la mise à un du bit se trouve à un niveau de la logique qui est ultérieur à celui de la porte ET 62 destinée à mettre à zéro le bit. Il - 2483656 en résulte que la mise à un du bit l'emporte-sur la mise à zéro. Dans l'exemple considéré, le bit qui 'se trouve dans la position de bit n 2 est mis à zéro par-le signal G2 puis il est mis à un par le un du signal H2. Les signaux de sortie provenant des autres positions de bit des registres-décodeurs commandés G et H n'affectent pas les bits respectifs enregistrés dans le registre TA. De ce fait, le signal de sortie de l'unité arithmétique et logique qui est appliqué sur le bus-de données est 1i11. Simulta- némént, l'adresse de destination et le signal d'écriture sont appliqués à la mémoire 22 de la figure i pour écrire à la destination le mot de sortie modifié provenant de l'UAL. Le circuit de commande 30 passe à- l'état 0-1, c'est-à-dire l'état final pour l'exécution-de l'instruc- tion de déplacement d'un bit. A partir de l'état 0-1, la machine passe à l'état 0-3, c'est-à-dire le premier état d'une autre instruction. Ainsi, un seul bit provenant d'une position de bit sélectionnée dans la source a été déplacé vers une position de bit sélectionnée de la des-7 tination pendant un seul intervalle d'instruction, sans affecter l'état d'aucune autre position de bit de l'a des- tination. Si la source est un emplacement différent de la- destination, l'opération d'écriture n'affecte pas le contenu de la source. Un exemple montrant le mouvement d'un bit un vers une position de bit qui enregistre au moment présent un bit un est similaire à l'exemple précédent, et on ne l'envisagera donc pas davantage. A titre-de second exemple d'une instruction de déplacement d'un bit, on envisagera le déplacement d'un bit zéro depuis -le mot L vers une position de bit dans le mot M dans laquelle un bit un a été enregistré. Dans cet - exemple, on considère le déplacement du bit sélectionné depuis la position de bit n 3 d'un mot sélectionné L qui est dans l'état 0110, vers une position de bit sélectionnée n 2 d'un mot sélectionné M qui est dans l'état 1110. Lorsque l'instruction de déplacement d'un bit est lue en mémoire, les premier et second codes d'instruc-- tion sont transférés vers le registre d'instruction, comme - dans l'exemple précédent. De plus, le rang du bit à dépla- cer depuis le mot de source et le rang du bit qui doit être affecté dans le mot de destination sont enregistrés dans le registre TAB. Les bits Si et SO sont dans l'état 11, ce qui-représente la valeur binaire du rang trois du bit à déplacer à partir du mot de source. La zone de rang formée par les bits Ni et NO est dans l'état 10,-ce qui représente la valeur binaire du rang deux du bit affecté dans 1e mot de destination sélectionné. Les mots de destination -et de-source M et L sont à nouveau enregistrés respectivement dans les regis- tres TA et TB. Les mots de destination et de source enre- gistrés ne. sont pas affectés par les prélèvements. Le registre TA reçoit ainsi le mot de destination 1110 et le registre TB reçoit le mot de source 0110. Le contenu du registre TB est appliqué, sous la forme des si- gnaux d'entrée BO, Bi, B2 et B3, au sélecteur de bit 34 de la figure 6. La sélection est commandée par les bits Si et SO qui sont appliqués au sélecteur de bit 34 à partir du registre TAB, par l'intermédiaire du multiple- xeur 4/2 portant la référence 50. Du fait que les bits Si et SO ont la valeur 11, le bit O qui se trouve-dans la position trois dans le mot 0110 est sélectionné. Le sélecteur 34 inverse le zéro pour donner le signal inver- sé de bit sélectionné BS,-ce qui produit un bit un. Les signaux de commande pour l'opération de déplacement d'un bit, dans le cas du déplacement d'un bit zéro, sont repré- sentés à la quatrième ligne du tableau I sur la figure 8. A ce moment, le signal inversé de déplacement d'un bit MB et le signal de mise à un d'un bit SB sont tous deux à zéro. Ainsi, le signal de commande HC qui est produit par la porte NON-OU 91 est à un et toutes les sor- ties des portes NON-OU du registre-décodeur H des figures 1 et 7 sont à zéro, comme il est indiqué à la ligne supé- rieure du tableau II sur la-figure 8. De plus, du fait qu'il s'agit d'une instruction de déplacement d'un bit,le signal de commande GC produit par la porte NON-ET 92 est à un. Les sorties des portes NON-ET du registredécodeur G des figures 1 et 7 sont commandées par la zone de rang formée par les bits Ni et NO provenant du registre TAB. La valeur binaire 10 decette zone fait prendre la valeur 1011 à la sortie du registre-décodeur commandé G, comme il est indiqué à la quatrième ligne du tableau III sur la figure 8. Un zéro apparaît ainsi au rang du bit qui doit être affecté dans le mot de destination.-Le micro-ordina- teur est maintenant préparé pour que 1'UAL 20 accomplisse l'opération de déplacement d'un bit. Pendant l'état 2-0, alors que 1'UAL est mise en fonction, le mot de destination 1110 provenant du registre TA est traité dans l'unité arithmétique et logique 20. La position de bit n02 est mise à zéro par le signal zéro G3 qui provient du registre-décodeur commandé G et elle demeure à zéro du fait que tous les signaux du groupe de signaux de mise à un d'un bit, HO, Hi, H2, H3, provenant du registre-décodeur commandé H, sont des zéros. De ce fait, le signal de sortie de l'unité arithmétique et logi- que 20 est 1010 et il est appliqué au bus de données et de commande 25. Simultanément, l'adresse de destination et le signal d'écriture sont appliqués à la mémoire 22 pour écrire à la destination le mot de sortie modifié qui provient de l'UAL. Si la source est un emplacement diffé- rent de la destination, le mot de source n'est pas affecté par l'opération d'écriture. Le circuit de commande 30 passe à l'état 0-1, c'est-à-dire l'état final pour l'exécution de l'instruc- tion de déplacement d'un bit, puis ensuite à l'état 0-3 qui est l'état initial d'une-instruction suivante. Ainsi, un seul bit provenant d'une position de bit sélectionnée dans la source sélectionnée a été déplacé vers une posi- tion de bit sélectionnée à la destination sélectionnée au cours d'un seul intervalle d'instruction, sans affecter l'état d'aucun autre bit de la destination. Un exemple montrant le mouvement d'un bit zéro depuis la source vers une position de bit enregistrant au moment considéré un bit zéro à la destination est similaire à l'exemple qu'on vient de décrire, et on ne l'envisagera donc pas davantage. En résumé, une instruction de déplacement d'un bit effectue fondamentalement à la fois une opération de mise à zéro d'un bit et une opération de mise à un d'un bit. Du fait que les conducteurs de mise à un d'un bit HO, Hi, H2 provenant du registre-décodeur H de la figure 7 sont branchés, par rapport aux conducteurs GO, Gi, G2, G3, à un niveau ultérieur des circuits logiques dans l'UAL 20 des figures 2, 3 et 4, l'opération totale est effectivement équivalente à l'accomplissement en premier de l'opération de mise à zéro d'un bit, puis à l'accom- plissement de l'opération de mise à un d'un bit lorsqu'un bit doit être mis à un. Un signal de sortie -du registre-décodeur commandé H ne comportant que des zéros n'exerce pas d'action prio- ritaire sur la mise à zéro d'une position de bit quelcon- que à l'intérieur de l'unité arithmétique et logique. Le décodage qui est accompli par le sélecteur de bit-34 détermi- ne si le registre-décodeur commandé H produit ou non un signal destiné à exercer une action prioritaire sur la mise à zéro d'un bit quelconque qui est accomplie par le signal de sortie du registre-décodeur commandé G. On vient donc de décrire une unité arithmétique et logique conçue de façon à mettre à zéro un bit, à mettre à un un bit ou à déplacer un bit, en'un seul inter- valle d'instruction. Il va de soi que de nombreuses modifications peu- vent être apportées au dispositif décrit et représenté, sans sortir du cadre de l'invention. REVENDICATIONS 1. Ordinateur conçu de façon à traiter des données sous l'effet d'instructions qui y sont enregis- trées, cet ordinateur comprenant des moyens destinés à exécuter chaque instruction en un intervalle d'instruc- tion, caractérisé en ce qu'il comprend des moyens desti- nés à effectuer une opération de déplacement d'un bit. sous l'effet d'une instruction respective, l'opération de déplacement d'un bit étant effectuée en une durée qui correspond à un seul intervalle d'instruction. 2. Ordinateur selon la revendication 1, carac- térisé en ce qu'il comprend des moyens destinés à dépla- cer un seul bit de données depuis n'importe quelle posi- tion sélectionnée parmi plusieurs positions de bit dans une source sélectionnée, vers n'importe quelle position de bit sélectionnée parmi plusieurs positions de bit dans une destination sélectionnée, en un seul intervalle d'instruction, sans affecter l'état d'aucun autre bit de la destination sélectionnée. 3. Ordinateur selon la revendication 2, carac- térisé en ce qu'il comprend: un circuit (25,TAB, 34, 36,TB,50) destiné à sélectionner un bit prédéterminé dans la source sélectionnée; une unité arithmétique et logique (20) qui est conçue de façon à fonctionner sous la dépendance de signaux provenant d'un circuit de com- mande (30) et d'un registre d'instruction (32), afin de déplacer un mot de données depuis une entrée (TA, 37) jusqu'à la destination sélectionnée; un premier circuit de registre-décodeur commandé (TAB, G, 32, 92, GC) qui est connecté à l'unité arithmétique et logique de façon à mettre à zéro la position de bit déterminée sans affec- ter l'état d'aucun autre bit dans le mot de données qui est déplacé vers la destination sélectionnée; et un second circuit de registre-décodeur commandé (TAB, H, 39, 91, HC, 30) qui est connecté à l'unité arithmétique et logique de façon à mettre sélectivement à un la position de bit déterminée, sans affecter l'état d'aucun autre bit dans le mot de données qui est déplacé vers la destination sélectionnée. 4. Ordinateur selon la revendication 3, carac- térisé en ce que l'unité arithmétique et logique (20) comprend un niveau de portes ET (40) et un niveau de por- tes OU (42) pour transférer un mot de destination non modifié à partir d'un registre (TA), en passant par les niveaux de portes, jusqu'à un bus de données (25) et une destination (dans 22), et l'ordinateur comprend en outre: un circuit (34, 36, TAB, 50) destiné à sélectionner un bit dans un mot de source (dans TB et 22 ou 24) ; un second circuit (45) qui réagit au bit sélectionné (BS), à une zone de bits de commande (CB, SB, MB), et à une zone de bits de rang (Ni, NO) représentant une position de bit prédéterminée du mot de destination, afin de produire un groupe de signaux de mise à zéro d'un bit (GO, Gi, G2, G3) et un groupe de signaux de mise à un d'un bit (HO, Hi, H2, H3); et des moyens (38, 19) destinés à appliquer le groupe de signaux de mise à zéro d'un bit au niveau de portes ET et le groupe de signaux de mise à un d'un bit au niveau de portes OU, afin de modifier l'état du bit qui se trouve dans la position de bit prédéterminée du mot de destination, en correspondance avec l'état du bit sélec- tionné provenant du mot de source, sans affecter l'état d'aucun autre bit du mot de destination.