Brevet FR2635601A1 — publié le 19900223

La présente invention concerne une architecture de microprocesseur destinée à exécuter une opération efficace sur une donnée à précision unique, à précision multiple et à virgule flottante. On utilise beaucoup les processeurs numériques de signaux dans les systèmes modernes de tous les types. Lorsqu'un traitement doit être effectué sur une donnée ayant des nombres de bits différents, par exemple des trajets de données à 8, 16 ou 32 bits, on rencontre des difficultés pour réaliser la configuration de l'architecture afin de tenir compte efficacement des divers types de données. Par exemple, dans le cas du traitement d'une donnée à 8, 16 et 32 bits, et o une partie de la donnée peut être sous forme d'une virgule flottante avec une mantisse à 24 bits et un exposant à 8 bits, il est possible d'utiliser une unité logique arithmé- tique (ULA) de 16 bits pour opérer sur les 16 bits de la donnée lors de chaque cycle de l'horloge, stockant temporai- rement les bits de report jusqu'au cycle suivant. Le problème soulevé par l'utilisation d'un microprocesseur à 16 bits pour exécuter des opérations sur 32 bits est qu'il faut des cycles multiples d'horloge, d'o le ralentissement de l'ensemble du fonctionnement. L'unité logique arithmétique de 16 bits, lorsqu'elle doit traiter des données à 8 bits, nécessite un pré-traitement des 8 bits pour la configurer au trajet ou format de traitement à 16 bits. Lorsqu'une mantisse de 24 263S601 -2- bits en même temps qu'un exposant à 8 bits doivent être traités, la situation soulevée par l'utilisation de l'unité logique arithmétique à 16 bits est même pire, car la partie de la donnée à mantisse de 24 bits doit être divisée en deux portions, ce qui nécessite au moins deux cycle d'horloge, qu'on fait suivre d'un autre cycle d'horloge agissant sur l'exposant. On peut utiliser un processeur à 32 bits ou ULA pour traiter des signaux de 32 bits. Cela présente l'avantage qu'on peut traiter 32 bits dans un seul cycle d'horloge lors de chaque passe. Cependant, le microprocesseur ULA 32 bits nécessite un pré-traitement de manière à traiter des signaux tant de 16 bits que de 8 bits. La mantisse à 24 bits avec l'exposant à 8 bits nécessite en outre un traitement indépendant des portions à mantisse et à exposant, par "'éclatement", et impose en outre le pré-traitement de la portion à mantisse. Le pré-traitement, l'éclatement, etc., peuvent malheureusement nécessiter un matériel supplémen- taire, des cycles d'horloge supplémentaires, ou bien les deux. Dans le cas o des types à données multiples tels que 8, 16 et 32 bits, comme on l'a décrit ci-dessus, doivent être traités, et que les increments des données peuvent être tassés en groupes plus petits que le groupe le plus grand, par exemple en utilisant un système ULA à 16 bits, on rencontre un autre problème en ce sens que des mots successifs à 16 bits représentant les parties à bit de poids fort (MSB) et à bit de poids faible (LEB) d'un mot à 32 bits doivent être chargés dans des parties appropriées de l'ULA pour un traitement correct. Un agencement ULA pouvant traiter efficacement divers types de données est souhaitable. Une unité logique arithmétique (ULA) selon la présente invention est fractionnée en au moins trois portions, chacune comprenant deux ports d'entrée, un port de sortie et au moins une borne de report. La première portion ULA comporte des -3- ports d'entrée et sortie-à N1 bits, et la seconde et la troisième portions ULA ont des ports d'entrée et de sortie à N2 et N3 bits, respectivement. Lorsqu'on doit traiter des mots de (N1 + N2 + N3) bits, les trois portions ULA ont leurs bornes d'entrée et de sortie de report couplées ensemble pour former une portion ULA à (N1 + N2 + N3) bits qui traite le mot à (Ni + N2 + N3) bits dans un cycle d'horloge. La portion ULA à N1 bits est découplée des deux portions ULA couplées à N2 et N3 bits pour traiter deux mots indépendants à (N2 + N3) bits à la fois. Les portions ULA à N1 bits et N2 bits sont couplées ensemble pour traiter les mantisses à (N1 + N2) bits alors que la portion ULA restante à N3 bits traite indépen- damment l'exposant à N3 bits. Dans un mode de réalisation particulier, N2 = N3, et Nl = N2 + N3. Plus particulièrement, N1 = 16 bits, et N2 et N3 ont chacun 8 bits. La suite de la description se réfère aux figures annexées qui représentent respectivement: Figure 1, un schéma d'ensemble sous forme de blocs d'une unité de traitement dont la configuration peut être réalisée selon la présente invention, et figure 2, un schéma sous forme de blocs d'une portion à registre du fichier à registresde la figure 1. En figure 1, des données ou des signaux à 16 bits sont appliqués à partir d'une source (non représentée) à un premier port d'entrée 10 à 16 bits et d'autres signaux à 16 bits le sont à un second port d'entrée 12 à 16 bits. Les ports 10 et 12 peuvent être amenés à recevoir deux mots de 16 bits à précision unique, un mot à 32 bits à précision double ou une mantisse à 24 bits à virgule flottante en même temps qu'un exposant à 8 bits. Lorsque le signal d'entrée est un mot à 32 bits, le port d'entrée 10 reçoit la portion de poids fort et l'entrée 12 la portion de poids faible. Lorsque le mot d'entrée est une mantisse de 24 bits à virgule flottante en même temps qu'un exposant à 8 bits, le port d'entrée 10 reçoit les 16 bits de poids fort de la mantisse, et le port -4- d'entrée 12 les 8 autres bits de poids faible de la mantisse dans ses 8 positions de poids fort et la portion à exposant de 8 bits dans ses 8 portions de poids faible. Si seulement un mot de 16 bits seul doit être traité, le signal au port d'entrée 12 devient non pertinent et n'est pas chargé dans le fichier à registre décrit ci-dessous. Le signal introduit dans le port d'entrée 10 est appliqué par un jeu 14 de conducteurs à 16 bits à un premier port d'entrée 16 d'un multiplexeur 18. Le signal introduit dans le port d'entrée 12 est appliqué par un jeu de conducteurs 20 à un premier port d'entrée 22 d'un multi- plexeur 24. Les multiplexeurs 18 et 24 sont contrôlés par un circuit 26 de commande multiplex. Lorsque les signaux doivent être chargés, les signaux appliqués au moyen des ports d'entrée 10 et 12 aux bornes d'entrée 16 et 22 des multiplexeurs 18 et 24, respectivement, sont appliqués à partir des ports de sortie des multiplexeurs 18 et 24 au moyen de jeux 28 et 30 de conducteurs, respectivement, à des bornes d'entrée 32 et 34, respectivement, d'un fichier 36 à registres. Le fichier 36 est un groupe de registres, qu'on décrit ultérieurement en liaison avec la figure 2. Le fichier 36 à registres stocke des mots appliqués aux bornes d'entrée 32 et 34 sous le contrôle de signaux de commande appliqués par un jeu 120 de conducteurs. Le fichier 36 à registres est effectivement une mémoire à accès direct qui fournit un stockage temporaire de manière à faciliter les opérations des unités logiques arithmétiques (ULA) qu'on décrit ci-dessous. Le fichier 36 a des sorties à 16 bits à chacun des ports 38, 40, 42 et 44. Les signaux apparaissant au port 38 de sortie à 16 bits du fichier 36 à registres sont appliqués par un jeu 46 de conducteurs à la première borne d'entrée 48 à 16 bits d'une unité ULA 50 à 16 bits. Les signaux apparaissant au port de sortie 40 du fichier 36 sont appliqués par un jeu 52 -5- de conducteurs à 16 bits à un port d'entrée 54 à 16 bits de l'unité ULA 50. Ainsi, les portions de poids fort à 16 bits d'une mantisse à virgule flottante sont appliquées aux ports d'entrée de l'unité ULA 50. Les signaux de sortie apparais- sant au port de sortie 42 à 16 bits du fichier 36 sont divisés en portions à bits de poids fort (MSB) et à bits de poids faible (LSB). Les portions MSB sont appliquées par un jeu 56 de 8 conducteurs à un premier port d'entrée 58 à 8 bits d'une unité ULA 60 à 8 bits. Les portions LSB du signal apparaissant au port de sortie 42 du registre 36 sont appliquées par un jeu 60 de 8 conducteurs à un premier port d'entrée 64 à 8 bits d'une unité ULA 66 à 8 bits. Les signaux à 16 bits apparaissant au port de sortie 44 du fichier 36 sont divisés en portions MSB et LSB, avec les portions MSB appliquées par un jeu 68 de 8 conducteurs à un second port d'entrée 70 à 8 bits de l'unité ULA 60, et les portions LSB étant appliquées par un jeu 72 de 8 conducteurs à un second port d'entrée 74 à 8 bits de l'unité ULA 66. Ainsi, les 8 bits de poids faible de la mantisse d'un mot à virgule flottante sont appliqués aux ports d'entrée de l'unité ULA , alors que les bits de la mantisse à 8 bits le sont aux ports d'entrée de l'unité ULA 66. L'unité ULA 66 à 8 bits comprend aussi un port de sortie 76 de report qui est relié par un commutateur contrôlable 78 à un port d'entrée 80 de report de l'unité ULA 60. Alors qu'on a représenté le commutateur 78 comme un commutateur monopolaire, à deux directions, le technicien remarquera que des équivalents à corps solide peuvent être utilisés en pratique. L'unité ULA 60 comprend également un port de sortie 82 de report qui est relié par un commutateur contrôlable 84 à un port d'entrée 86 de report de l'unité ULA 50. Le commutateur 78, dans la position illustrée, relie la borne de sortie 76 de report de l'unité ULA 66 à la borne d'entrée 80 de report de l'unité ULA 60, mais dans son autre position (non représentée) le commutateur 78 déconnecte la -6- borne de sortie 76 de la borne d'entrée 80 et au contraire relie la borne d'entrée 80 à une borne 88 à laquelle est appliqué un niveau logique bas (représenté par la masse). D'une façon semblable, le commutateur contrôlable 84, dans la position illustrée, relie la borne de sortie 82 de report de l'unité ULA 60 à la borne d'entrée 86 de report de l'unité ULA 50, mais dans son autre position (non représentée) les découple et au contraire relie la borne d'entrée 86 à un niveau logique bas (représenté par la masse) connecté à une borne 90. Les commutateurs 78 et 84 sont contrôlés par un circuit de commande représenté par un bloc 92. Le circuit de commande 92 peut être un simple décodeur qui reçoit des signaux par un jeu 93 de conducteurs représentatif du type de signal traité pendant le cycle d'horloge du circuit. Le circuit de commande 92 décode le signal et place les commutateurs 78 et 84 dans les positions correctes, comme on le décrit ci-dessous. L'unité ULA 50 à 16 bits produit son signal de sortie traité à un port de sortie 94 à 16 bits, qui est relié par un jeu 96 de conducteurs à un second port d'entrée 98 du multiplexeur 18. Le signal produit par l'unité ULA 60 à 8 bits est obtenu à un port de sortie 98 à 8 bits et est relié à un jeu 100 de 8 conducteurs MSB. D'une façon similaire, le signal de sortie à 8 bits de l'unité ULA 66 est produit à un port de sortie 102 à 8 bits et est appliqué à un jeu 104 de 8 conducteurs LSB. Les jeux 100 et 104 de conducteurs se fondent pour former un jeu 106 de 16 conducteurs qui est relié à un second port d'entrée 108 du multiplexeur 24. Pendant le fonctionnement avec un signal d'entrée de 32 bits, dont les portions MSB sont appliquées au port d'entrée 10 et les portions LSB au port d'entrée 12, le fonctionnement binaire à 32 bits s'effectue en trois cycles d'horloge. Le premier cycle d'horloge sert à charger le premier mot à 32 bits dans le fichier à registres à partir des ports d'entrée 10 et 12, et le second cycle d'horloge à - 7 - charger le second mot à 32 bits dans le fichier. Avec les deux mots à 32 bits stockés, on peut utiliser le troisième cycle d'horloge pour traiter les mots par les trois unités ULA 50, 60 et 66, connectées comme une unité ULA à 32 bits par la position représentée des commutateurs 78 et 84. Les mots traités peuvent être remis en circulation jusqu'au fichier 36 à registres pour nouveau traitement au moyen des secondes entrées des multiplexeurs 18 et 24. Naturellement, lors d'opérations permanentes un chargement et un traitement continus ont lieu, et les cycles d'horloge requis pour le chargement se produisent simultanément aux cycles d'horloge utilisés pour le traitement. Une sortie peut donc être disponible pendant chaque intervalle d'horloge. La sortie à 32 bits peut commodément être prélevée aux jeux 96 et 106 de conducteurs, comme représenté par les lignes en tirets 110 et 112 reliées à des ports de sortie 111 et 113, à 16 bits, respectivement. De manière à fonctionner avec des entrées indépen- dantes à 16 bits, le premier mot indépendant d'entrée à 16 bits est appliqué à la borne d'entrée 10 simultanément à l'application du second mot indépendant d'entrée à 16 bits au port d'entrée 12, et les deux mots sont stockés simultanément dans le fichier 36 à registres en réponse au premier cycle d'horloge. Lors du second cycle d'horloge, l'unité ULA 50 à 16 bits peut traiter la donnée indépendamment des unités 60 et 66, ou les unités ULA 60 et 66 à 8 bits peuvent traiter le signal ensemble indépendamment de l'unité ULA 50. La dépen- dance de l'unité ULA 50 vis-à-vis des unités ULA 60 et 66 est obtenue en faisant passer le commutateur 84 dans sa position ouverte, c'est-à-dire dans l'autre position (non représentée) dans laquelle la borne 86 est reliée à la masse. Le traitement de quatre mots à précision unique de 16 bits peut s'effectuer: (a) lors d'un premier cycle d'horloge, en appliquant le premier des deux mots à 16 bits au fichier 36 au moyen du port d'entrée 10 et du multiplexeur -8- 18, et le second par le port d'entrée 12 et le multiplexeur 24, et (b) pendant un second cycle d'horloge, en appliquant un troisième mot à 16 bits au registre 36 au moyen du port 10 et du multiplexeur 18, et un quatrième mot à 16 bits au moyen du port 12 et du multiplexeur 24. Lor du troisième cycle d'horloge, l'unité ULA 50 traite indépendamment les premier et troisième mots appliqués à ses premier (48) et second (54) ports d'entrée à partir des ports 38 et 40 du fichier 36, et les unités ULA 60 et 66 traitent ensemble de manière indépendante les second et quatrième mots à 16 bits appliqués à leurs entrées à partir des ports de sortie 42 et 44 du fichier 36. Comme dans le cas de traitement à double précision, le fonctionnement en continu comprend le charge- ment et le traitement lors de chaque cycle d'horloge. Le commutateur 84 peut être ouvert à tout moment antérieur ou à l'instant o la sortie produite au port de sortie 94 (ou 98, 102) est appliquée à un élément de stockage, par exemple par remise en circulation par l'inter- médiaire du multiplexeur 18 vers le fichier 36, ou l'applica- tion d'une sortie au moyen du jeu 110 de conducteurs vers un appareil d'utilisation. Avec le commutateur 84 ouvert, l'unité ULA 50 à 16 bits fonctionne indépendamment des unités ULA 60 et 66. Cependant, avec le commutateur 78 fermé, la sortie de report de l'unité ULA 66 est appliquée à l'entrée de report 80 de l'unité ULA 60, d'o il résulte que les deux unités ULA à 8 bits forment ensemble une seule unité ULA à 16 bits qui est indépendante de l'unité ULA 50 à 16 bits. En conséquence, le signal à 16 bits appliqué à l'origine au moyen du port d'entrée 12 et du multiplexeur 24 au fichier 36 a ses portions LSB traitées par l'unité ULA 86 à 8 bits et les portions MSB, en même temps que la sortie de report de l'unité ULA 66 à 8 bits, traitées par l'unité ULA 60 à 8 bits. Deux sorties traitées indépendantes sont produites indépendamment sur des jeux 96 et 106 de conducteurs et sont disponibles pour remise en circulation ou pour sorties -9- directes comme on l'a indiqué ci-dessus. Lors de l'exécution d'opérations sur deux symboles à 32 bits, chacun sous forme d'une mantisse à 24 bits avec en même temps un exposant à 8 bits, chaque symbole est traité comme mot indépendant à 32 bits comportant une mantisse à 24 bits divisée en un premier mot MSB à 16 bits et une portion LSB à 8 bits, avec l'exposant à 8 bits associé à la portion à mantisse LSB à 8 bits dans un second mot à 16 bits. Les deux mots à 16 bits ainsi obtenus pour chaque symbole sont chargés dans le registre 36 lors d'un intervalle d'horloge, à la suite de quoi le chargement de deux tels symboles à 32 bits nécessite deux cycles d'horloge. Les mantisses à 24 bits sont appliquées à partir des ports 38, 40 et à partir des portions MSB des ports 42 et 44 du fichier 36 aux deux ports d'entrée de l'unité ULA 50 à 16 bits et aux deux ports d'entrée de l'ULA 60 à 8 bits. L'exposant à 8 bits est appliqué à partir des portions LSB des ports de sortie 42 et 44 du fichier 36 aux deux ports d'entrée 62 et 74 de l'unité ULA 66 à 8 bits. A un certain moment avant que les résultats du traitement par les unités ULA soient achevés, le commutateur 84 est fermé et le commutateur 78 ouvert. Avec le commutateur 78 ouvert, l'unité ULA 66 fonctionne indépendamment des deux autres, et l'unité ULA 60 à 8 bits agit en conjonction avec l'unité ULA à 16 bits comme une unité ULA à 24 bits. Les portions à mantisse de 24 bits des symboles sont traitées par la combinaison ULA à 24 bits, et les portions à mantisse de 8 bits le sont par l'unité ULA 66 à 8 bits. Ainsi, le traitement du signal à virgule flottante peut être achevé en moins d'un cycle d'horloge, comme avec le traitement de simples mots à 32 bits (précision double) et de paires de mots à 16 bits (précision simple). Les commutateurs 78 et 84 peuvent être laissés ouverts, ce qui permet un fonctionnement indépendant de l'unité ULA 50 à 16 bits, de l'unité ULA 60 à 8 bits et de l'unité ULA 66 à 8 bits indépendamment les unes des autres. - 10 - La figure 2 est un schéma sous forme de blocs du fichier 36 à registres. Les éléments de la figure 2 correspondant à ceux de la figure 1 sont désignés par les mêmes références. En figure 2, un jeu 28 de 16 conducteurs est appliqué en parallèle à des premiers ports d'entrée à 16 bits 208a, 208b... 208n de 32 multiplexeurs 210a, 210b... 210n, respectivement. D'une façon similaire, un jeu 30 de 16 conducteurs est appliqué en parallèle à des seconds ports d'entrée à 16 bits 206a, 206b... 206n des multiplexeurs 210a, 210b... 210n, respectivement. Les ports de sortie à 16 bits des multiplexeurs 210 sont appliqués aux ports d'entrée à 16 bits de 32 registres à 16 bits 212a, 212b... 212n, respectivement. Le mot à 16 bits chargé dans l'un quelconque des registres 212 apparaît à tout moment sur son jeu 214a, 214b... 214n de conducteurs de sortie à 16 bits. Le jeu 214 de conducteurs de sortie de chacun des registres 212 est appliqué simultanément à l'un des 32 ports d'entrée à 16 bits de chacun des multiplexeurs 216a, 216b, 216c et 216d. Le jeu de conducteurs de sortie à 16 bits du multiplexeur 216a est accouplé au port 38 de sortie à 16 bits du fichier 36. La sortie du multiplexeur 216b est appliquée au port de sortie à 16 bits, la sortie du multiplexeur 216c est appliquée au port de sortie 42, et la sortie du multiplexeur 216d au port de sortie 44. Chaque multiplexeur 216, 32:1, est contrôlé par des signaux de commande à 5 bits appliqués par un jeu corres- pondant 218a-218d de conducteurs, qui est une portion d'un jeu 218 de conducteurs de commande. Ainsi, par exemple, comme illustré en figure 2, le multiplexeur 216a applique à son jeu de conducteurs de sortie et au port de sortie 38, le signal appliqué à une entrée sélectionnée parmi ses 32 entrées à 16 bits, sous la commande du signal de sélection à 5 bits qui lui est appliqué par le jeu 218a de conducteurs. Cet agencement permet au mot à 16 bits stocké dans l'un quelconque des registres 212 d'être appliqué à l'un quelcon- - il - que des ports de sortie 38, 40, 42 ou 44, et permet la sélection simultanée des mots à 16 bits stockés dans quatre des registres 212 pour application aux ports de sortie 38-44. Chaque multiplexeur 210 applique à son jeu de conduc- teurs de sortie et au port d'entrée du registre 212 correspondant le signal appliqué à son premier port d'entrée à partir du jeu 28 de conducteurs lorsque sa borne d'entrée de sélection (S) se trouve dans un état logique particulier, par exemple à un état logique bas. Plus spécialement, lorsque l'entrée S de l'un quelconque des multiplexeurs 210 est à l'état logique haut, ce multiplexeur 210 applique à son jeu de conducteurs de sortie et au registre 212 associé le signal appliqué à son second port d'entrée 206 par le jeu 30 de conducteurs. Lorsque l'entrée S d'un multiplexeur 212 se trouve à l'état logique bas, ce multiplexeur applique à son jeu de conducteurs de sortie le signal appliqué à son premier port d'entrée par le jeu 28 de conducteurs. Chaque registre 212 comprend une borne d'entrée de validation de charge (VC). Chaque registre 212a, 212b... 212n est associé à une porte OU 220a, 220b... 220n, respectivement. La sortie de chaque porte OU 220 est appliquée à la borne VC du registre 212 associé. Chaque porte OU 220 comprend deux bornes d'entrée, dont l'une est reliée à l'un des 32 conducteurs de sortie à un conducteur ou lignes 223 provenant d'un décodeur 222, 1:32. L'autre borne d'entrée de chaque porte OU 220 est reliée à l'une des lignes de sortie 225 à un conducteur d'un second décodeur 224, 1:32. Ainsi, les 32 conducteurs de sortie 225 du décodeur 224 sont appliqués individuellement aux entrées des 32 portes OU 220 séparées. Les conducteurs de sortie 223 du décodeur 222 sont de même reliés aux secondes entrées des portes OU 220 et sont - également reliés aux entrées S des multiplexeurs 210 asso- ciés. A titre d'exemple spécifique, la porte OU 220a a son entrée reliée à la borne d'entrée VC du registre 212a, qui est disposé de manière à recevoir les signaux à 16 bits en - 12 - provenance du multiplexeur 210a. Un conducteur de sortie 223a provenant du décodeur 222 est relié à la borne S du multiplexeur 210a et à une entrée de la porte OU 220a. La porte OU 220a est également reliée à un conducteur 225a de sélection de sortie du décodeur 224. Le décodeur 222 reçoit un signal de commande à 5 bits en provenance d'un jeu 226 de conducteurs, et le décodeur 224 reçoit un signal de commande à 5 bits par un jeu 228 de conducteurs. Le signal de commande appliqué au décodeur 222 par le jeu 226 de conducteurs a pour effet que l'une de ses 31 lignes de sortie 223 prend un niveau logique haut, validant l'un des 31 registres 212 pour écriture en mémoire, et commandant le multiplexeur 210 associé pour appliquer le signal provenant du jeu 30 de conducteurs à ce registre pour écriture ou charge. Lorsqu'elle est ainsi validée par un état logique haut à l'entrée VC, l'impulsion suivante d'horloge (les impulsions d'horloge et les connexions ne sont pas illustrées) provoque l'écriture dans le registre sélectionné par le détecteur 222 de données provenant du jeu 30 de conducteurs. Le signal de commande à 5 bits appliqué par le jeu 228 de conducteurs au décodeur 224 peut sélectionner simultanément n'importe quel autre registre pour charge à partir du jeu 28 de conducteurs. Ainsi, le signal à 5 bits sur le jeu 228 de conducteurs a pour effet que l'un des 32 conducteurs de sortie 225 du décodeur 224 choisit un registre 212 à valider au moyen de sa porte OU associée 220. Comme les conducteurs de sortie du décodeur 224 ne sont pas reliés à la borne d'entrée S des multiplexeurs associés, les multi- plexeurs associés aux registres 212 choisis par le décodeur 224 appliquent au registre sélectionné les signaux provenant du jeu 28 de conducteurs. La même impulsion d'horloge qui provoque le rythmage du registre sélectionné par le décodeur 222 peut provoquer aussi le rythmage dans le registre sélectionné par le décodeur 224. Une façon simple pour voir cette partie du fonctionnement est de considérer qu'un signal - 13 - appliqué au jeu 226 de conducteurs choisit un registre à charger (lors de l'impulsion d'horloge suivante) à partir du jeu 30 de conducteurs, et un signal appliqué au jeu 228 de conducteurs choisit un registre destiné à être chargé de façon similaire à partir du jeu 28 de conducteurs. la façon exacte de contrôler les commutateurs 78 et 84 (figure 1) dépendra des types des données devant être traitées de temps en temps, qui, comme on l'a décrit ci- dessus peuvent être à précision simple, à précision double ou à virgule flottante dans un cycle d'horloge particulier et dépendra aussi du type de traitement effectué. La commande apparaîtra au technicien, comme le seront les signaux de commande appliqués par le jeu 120 de conducteurs pour que les signaux arrivent aux ports corrects de l'unité ULA. D'une façon similaire, la commande des multiplexeurs 18 et 24 dépend du moment o des mots nouveaux doivent être chargés, et du fait qu'il faut ou non une remise en circulation des données, ce qui dépend de l'application particulière de l'agencement. D'autres modes de réalisation de la présente invention apparaîtront au technicien. Par exemple, la sortie du système peut être prélevée aux ports de sortie 38, 40, 42 et 44 du fichier à registres plutôt qu'au moyen des conducteurs de sortie 110, 112 (figure 1). En général, on peut utiliser des nombres différents de bits par mot. L'impératif général est que si un traitement à précision unique utilise N1 bits, et qu'un traitment à virgule flottante utilise un exposant à N3 bits, le traite- ment à précision double est alors effectué par des mots à N1+N2+N3 bits, o N2 est la différence entre N1 et N3. - 14 - REVENDICATIONS 1. Agencement pour le traitement d'une donnée à 2N bits produite à des premier et second ports de source à N- bits (10, 12), donnée qui peut être réalisée en configura- tion sous la forme d'un mot à 2N bits ou de deux mots à N- bits ou d'un mot comprenant une mantisse à 3N/2 bits avec un exposant à N/2-bits, comprenant: un fichier à registres à N-bits (36) comportant des premier et second ports d'entrée à N-bits (32, 34) et des premier, second, troisième, quatrième, cinquième et sixième ports de sortie (38, 40, 42, 44), les premier et second ports de sortie ayant N-bits, les troisième et quatrième ports de sortie ayant chacun N/2 bits qui constituent ensemble un port de sortie à N-bits, avec le troisième port de sortie représentant les bits de poids fort des N-bits, et le quatrième port de sortie représentant les autres bits de poids faible, les cinquième et sixième ports de sortie ayant chacun N/2 bits, qui constituent ensemble un port de sortie de N-bits, avec le cinquième port de sortie représentant les bits de poids fort, et le sixième port de sortie représentant les autres bits de poids faible; une unité logique arithmétique (50; 60; 66) pouvant être reconfigurée de manière dynamique, comportant des premier et second ports d'entrée reliés à une première portion (50) de l'unité logique arithmétique, les premier et second ports d'entrée de la première portion de l'unité logique arithmétique ayant chacun N-bits et étant reliés aux premier et second ports de sortie du fichier à registres, respectivement, la première portion de l'unité logique arithmétique comprenant en outre un borne d'entrée de report et un port de sortie à N-bits, l'unité logique arithmétique pouvant être reconfigurée comportant en outre des troisième et quatrième ports d'entrée reliés à une seconde portion (60) de l'unité logique arithmétique, la seconde portion de l'unité logique arithmétique comprenant en outre une borne - 15 - d'entrée de report, une borne de sortie de report, et un port de sortie à N/2 bits, le troisième port d'entrée de l'unité logique arithmétique ayant N/2 bits et étant relié au troisième port de sortie du fichier à registres (36), le quatrième port d'entrée de l'unité logique arithmétique ayant N/2 bits et étant relié au cinquième port de sortie du fichier à registres, l'unité logique arithmétique pouvant être reconfigurée comprenant en outre des cinquième et sixième ports d'entrée reliés à une troisième portion (66) de l'unité logique arithmétique, la troisième portion de l'unité logique arithmétique comprenant en outre une borne de sortie de report et une borne de sortie à N/2 bits, le cinquième port d'entrée de l'unité logique arithmétique ayant N/2 bits et étant couplé au quatrième port de sortie du fichier à registres, et le sixième port d'entrée de l'unité logique arithmétique ayant N/2 bits et étant relié au sixième port de sortie du fichier à registres, l'unité logique arithmétique pouvant être reconfigurée comportant en outre, des premier et second moyens de commutateur contrôlable (84,.78), le premier moyen de commutateur (84) comprenant un trajet contrôlable relié à la borne de sortie de report (82) de la seconde portion de l'unité logique arithmétique et à la borne d'entrée de report (86) de la première portion de l'unité logique arithmétique, le second moyen de commutateur (78) comprenant un trajet contrôlable relié à la borne de sortie de report (76) de la troisième portion de l'unité logique arithmétique et à la borne d'entrée de report (80) de la seconde portion de l'unité logique arithmétique, les premier et second moyens de commutateur comprenant chacun des bornes d'entrée de commande; et des moyens de couplage (18, 24) reliés aux premier et second ports d'entrée à N-bits du fichier à registres (36) et destinés à être reliés aux premier et second ports de source à N-bits pour appliquer une donnée provenant des premier et second ports de source aux premier et second ports d'entrée - 16 - du fichier à registres, respectivement; un moyen (92) de commande de commutateur relié aux premier et second moyens de commutateur (84, 78) pour les commander dans des premier, second et troisième modes de fonctionnement, le premier mode de fonctionnement ayant les premier et second moyens de commutateur fermés pour faire ainsi fonctionner les première, seconde et troisième portions (50, 60, 66) de l'unité logique arithmétique ensemble sous forme d'une unité logique arithmétique à 2N bits, le second mode de fonctionnement ayant le premier moyen de commutateur (84) ouvert et le second moyen de commutateur (78) fermé pour faire fonctionner la première portion de l'unité logique arithmétique de manière indépendante et pour faire fonction- ner les seconde et troisième portions de l'unité logique arithmétique ensemble sous forme d'une portion à N-bits, le troisième mode de fonctionnement ayant le premier moyen de commutateur fermé et le second moyen de commutateur ouvert pour former ainsi une portion à 3N/2 bits de l'unité logique arithmétique comprenant les première et seconde portions de l'unité logique arithmétique ensemble avec une portion séparée à N/2 bits comportant la troisième portion de l'unité logique arithmétique. 2. Agencement selon la revendication 1, caractérisé en ce que N est égal à seize et N/2 à huit. 3. Agencement selon la revendication 1, caractérisé en ce que les moyens de couplage comprennent: un premier moyen de multiplexage (18) comportant des premier et second ports d'entrée à N-bits et un port de sortie à Nbits, et comprenant en outre un port d'entrée de commande, le port de sortie du premier moyen de multiplexage étant relié au premier port d'entrée du fichier à registres (36), le premier port d'entrée du premier moyen de multi- plexage étant relié au port de sortie de la première portion (50) de l'unité logique arithmétique, et le second port d'entrée du premier moyen de multiplexage étant destiné à - 17 - être relié au premier port de source (10), un second moyen de multiplexage (24) comprenant des premier et second ports d'entrée à N- bits et un port de sortie à N-bits divisé en portions à bits de poids fort (MSB) et de poids faible (LSB), et comportant en outre un port d'entrée de commande, le port de sortie du second moyen de multiplexage étant relié au second port d'entrée du fichier à registres, la portion à bits de poids fort du premier port d'entrée du second moyen de multiplexage étant reliée au port de sortie de la seconde portion (60) de l'unité logique arithmétique, et la portion à bits de poids faible du premier port d'entrée du second moyen de multiplexage étant reliée au port de sortie de la troisième portion (66) de l'unité logique arithmétique, le second port d'entrée du second moyen de multiplexage étant destiné à être relié au second port de source (12), un moyen de commande multiplex (26) relié aux premier et second moyens de multiplexage (18, 24) pour faire fonctionner les premier et second moyens de multiplexage ensemble dans l'un d'un premier mode de fonctionnement sans réaction et d'un second mode de fonctionnement à réaction, le premier mode de fonctionnement reliant les seconds ports du moyen de multiplexage de manière à recevoir une donnée provenant des ports de source et reliant les ports de sortie des premier et second moyens de multiplexage aux premier et second ports d'entrée du fichier à registres (36) pour charger ce fichier avec la donnée à traiter et pour découpler les ports de sortie des première, seconde et troisième portions (50, 60, 66) de l'unité logique arithmétique des ports d'entrée du fichier, et le second mode découplant les ports de source des ports d'entrée du fichier et reliant le port de sortie de la première portion de l'unité logique arithmétique au premier port du fichier et les ports de sortie des seconde et troisième portions de l'unité logique arithmétique aux portions à bits de poids fort et à bits de - 18 - poids faible, respectivement, du second port d'entrée du fichier, afin de permettre des passages recurrents dans l'unité logique arithmétique. 4. Agencement selon la revendication 1, caractérisé en ce que le moyen de commande de commutateur (92) commande en outre les moyens de commutateur dans un quatrième mode de fonctionnement, ce quatrième mode ayant les premier et second moyens de commutateur ouverts pour faire fonctionner les premier, seconde et troisième portions (50, 60, 66) de l'unité logique arithmétique de façon indépendante. 5. Processeur pouvant être reconfiguré, caractérisé en ce qu'il comprend: une première unité logique arithmétique (50) compor- tant des premier, second ports et un port de sortie à N-bits et une borne d'entrée de report; une seconde unité logique arithmétique (60) comportant des premier, second ports et un port de sortie à N/2 bits, des bornes d'entrée et de sortie de report, une troisième unité logique arithmétique (66) compor- tant des premier et second ports et un port de sortie à N/2 bits, et une borne de sortie de report, des moyens de couplage contrôlables (78, 84) reliés aux bornes d'entrée de report des première et seconde unités logiques arithmétiques et aux bornes de sortie de report des seconde et troisième unités logiques arithmétiques pour coupler sélectivement la borne de sortie de report de la troisième unité logique arithmétique à la borne d'entrée de report de la seconde unité logique arithmétique et la borne de sortie de report de la seconde unité logique arithmétique à l'entrée de report de la première unité logique arithmé- tique; un moyen pour appliquer (a), dans un premier mode de fonctionnement, le bit de poids fort des N-bits d'un premier mot à 2 Nbits au premier port d'entrée de la première unité logique arithmétique et le bit de poids fort des N-bits d'un - 19 - second mot à 2N-bits au second port d'entrée de la première unité logique arithmétique, et le bit de poids faible des N/2 bits du premier mot à 2Nbits au premier port d'entrée de la troisième unité logique arithmétique et le bit de poids faible des N/2 bits du second mot à 2N-bits au second port d'entrée de la troisième unité logique arithmétique, et les autres N/2-bits du premier mot à 2N-bits au premier port d'entrée de la seconde unité logique arithmétique et les autres N/2 bits du second mot à 2N bits au second port d'entrée de la seconde unité logique arithmétique, (b) dans un second mode de fonctionnement, un premier mot à N-bits au premier port d'entrée de la première unité logique arithmé- tique et un second mot à N-bits au second port d'entrée de la première unité logique arithmétique, et les N/2 bits de poids fort d'un troisième mot à N-bits au premier port d'entrée de la seconde unité logique arithmétique et les N/2 bits de poids fort d'un quatrième mot à N-bits au second port d'entrée de la seconde unité logique arithmétique, et les N/2bits de poids faible du troisième mot à N-bits au premier port d'entrée de la troisième unité logique arithmétique et les N/2 bits de poids faible du quatrième mot à N-bits au second port d'entrée de la troisième unité logique arithmé- tique, (c) dans un troisième mode de fonctionnement, les N- bits de poids fort de la mantisse à 3N/2 bits d'un premier mot à virgule flottante au premier port d'entrée de la première unité logique arithmétique et les N-bits de poids fort de la mantisse à 3N/2 bits d'un second mot à virgule flottante au second port de la première unité logique arithmétique, et les N/2 bits de poids faible de la mantisse à 3N/2 bits du premier mot à virgule flottante au premier port d'entrée de la seconde unité logique arithmétique, et les N/2 bits de poids faible du second mot à virgule flottante au second port d'entrée de la seconde unité logique arithmétique, et l'exposant à N/2 bits du premier mot à virgule flottante au premier port d'entrée de la troisième - 20 - unité logique arithmétique, et l'exposant à N/2 bits du second mot à virgule flottante au second port d'entrée de la troisième unité logique arithmétique, et un moyen (92) pour commander les moyens de couplage contrôlables pour: (a) dans le premier mode de fonctionne- ment, coupler la borne de sortie de report de la troisième unité logique arithmétique à la borne d'entrée de report de la seconde unité logique arithmétique et la borne de sortie de report de la seconde unité logique arithmétique à la borne d'entrée de report de la première unité logique arithmétique, (b) dans le second mode de fonctionnement, découpler la borne de sortie de report de la seconde unité logique arithmétique de la borne d'entrée de report de la première unité logique arithmétique et coupler la borne de sortie de report de la troisième unité logique arithmétique à la borne d'entrée de report de la seconde unité logique arithmétique, et (c) dans le troisième mode de fonctionnement, coupler la borne de sortie de report de la seconde unité logique arithmétique à la borne d'entrée de report de la première unité logique arithmétique et découpler la borne de sortie de report de la troisième unité logique arithmétique de la borne d'entrée de report de la seconde unité logique arithmétique. 6. Agencement pour le traitement d'une donnée ayant un nombre de bits égal à N1 + N2 + N3, donnée qui est produite à un premier port de source (10) à N1 bits et à un second port de source (12) à (N2 + N3) bits, donnée qui peut être configurée sous forme d'un mot à N1 + N2 + N3 bits, ou de deux mots à N1 bits, ou d'un mot comprenant une mantisse à (N1 + N2) bits avec un exposant à N3 bits, caractérisé en ce qu'il comprend: un fichier à registres ( 36) à N1 bits comprenant un premier port d'entrée à N1 bits et un second port d'entrée à (N2 + N3) bits et des premier, second, troisième, quatrième, cinquième et sixième ports de sortie, les premier et second ports de sortie ayant chacun N1 bits, les troisième et quatrième ports de sortie ayant N2 et N3 bits, respective- - 21 - ment, qui constituent ensemble un port de sortie, avec le troisième port de sortie représentant le bit de poids fort des N2 + N3 bits, et le quatrième port de sortie représentant les autres bits de poids faible, les cinquième et sixième ports de sortie ayant N2 et N3 bits, respectivement, qui constituent ensemble un port de sortie, avec le cinquième port de sortie représentant les bits de poids fort, et le sixième port de sortie représentant les autres bits de poids faible, une unité logique arithmétique pouvant être reconfi- gurée de manière dynamique (50, 60, 66) comportant des premier et second ports d'entrée reliés à une première portion (50) de l'unité logique arithmétique, les premier et second ports d'entrée de la première portion de l'unité logique arithmétique ayant chacun N1 bits et étant reliés aux premier et second ports de sortie du fichier à registres, respectivement, la première portion de l'unité logique arithmétique comprenant en outre une borne d'entrée de report et un port de sortie à N1 bits, l'unité logique arithmétique pouvant être reconfigurée comportant en outre des troisième et quatrième ports d'entrée couplés à une seconde portion (60) de l'unité logique arithmétique, la seconde portion de l'unité logique arithmétique comportant en outre une borne d'entrée de report, une borne de sortie de report, et un port de sortie à N2 bits, le troisième port d'entrée de l'unité logique arithmétique ayant N2 bits et étant relié au troisième port de sortie du fichier à registres, le quatrième port d'entrée de l'unité logique arithmétique ayant N2 bits et étant relié au cinquième port de sortie du fichier à registres, l'unité logique arithmétique pouvant être reconfi- gurée comportant en outre des cinquième et sixième ports d'entrée couplés à une troisième portion (66) de l'unité logique arithmétique, la troisième portion de l'unité logique arithmétique comportant en outre une borne de sortie de report et un port de sortie à N3 bits, le cinquième port - 22 - d'entrée de l'unité logiquer arithmétique ayant N3 bits et étant relié au quatrième port de sortie du fichier à registres, et le sixième port d'entrée de l'unité logiquer arithmétique ayant N3 bits et étant relié au sixième port de sortie du fichier à registres, l'unité logique arithmétique pouvant être reconfigurée comportant en outre des premier et second moyens de commutateur contrôlables (84, 78), le premier moyen de commutateur comprenant un trajet contrôlable relié à la borne de sortie de report de la seconde portion de l'unité logique arithmétique et à la borne d'entrée de report de la première portion de l'unité logique arithmétique, le second moyen de commutateur comportant un trajet contrôlable relié à la borne de sortie de report de la troisième portion de l'unité logique arithmétique et à la borne d'entrée de report de la seconde portion de l'unité logique arithmétique, les premier et second moyens de commutateur comportant en outre chacun des bornes d'entrée de commande; des moyens de couplage (18, 24) reliés aux premier et second ports d'entrée du fichier à registres et destinés à être reliés aux premier et second ports de source (10, 12) pour appliquer la donnée provenant des premier et second ports de source aux premier et second ports d'entrée du fichier à registres, respectivement, un moyen (92) de commande de commutateur relié aux premier et second moyens de commutateur pour commander le moyen de commutateur dans au moins des premier, second et troisième modes de fonctionnement, le premier mode de fonctionnement ayant les premier et second moyens de commuta- teur fermés pour faire fonctionner les première, seconde et troisième portions de l'unité logiquer arithmétique ensemble sous forme d'une unité logique arithmétique à (N1 + N2 + N3) bits, le second mode de fonctionnement ayant le premier moyen de commutateur ouvert et le second moyen de commutateur fermé pour faire fonctionner la première portion de l'unité logiquer arithmétique de manière indépendante et pour faire - 23 - fonctionner les seconde et troisième portions de l'unité logiquer arithmétique ensemble sous forme d'une portion à (N2 + N3) bits, le troisième mode de fonctionnement ayant le premier moyen de commutateur fermé et le second moyen de commutateur ouvert pour former une portion à (N1 + N2) bits de l'unité logiquer arithmétique comprenant les première et seconde portions de l'unité logique arithmétique en m&me temps qu'une portion séparée à N3 bits incorporant la troisième portion de l'unité logique arithmétique. 7. Agencement selon la revendication 5, dans lequel Ni=N2+N3. 8. Agencement selon la revendication 7, caractérisé en ce que N1 est égal à seize, N2 à huit et N3 à huit. 9. Agencement selon la revendication 6, caractérisé en ce que N2=N3. 10. Agencement selon la revendication 6, caractérisé en ce que le moyen de commande de commutateur commande en outre les moyens de commutateur dans un quatrième mode de fonctionnement, ce quatrième mode de fonctionnement ayant les premier et second moyens de commutateur ouverts pour faire fonctionner les première, seconde et troisième portions de l'unité logiquer arithmétique de manière indépendante.