Brevet FR2487547A1 — publié le 19820129

La présente invention concerne un dispositif arithmétique à regis- tres permettant l'expansion de la longueur de mots qui peut être utilisé pour le traitement de données ainsi que pour le stockage temporaire de données et qui peut s'appliquer à la réalisation de grands mini et macroordinateurs et de dispositifs numériques indépendants utilisables à des fins de la construc- teur d'ordinateurs et de l'automatisation. On connaît un dispositif microprocesseur à expansion de la longueur de mots, décrit par N. Alexandridis dans l'article "Bit-slice Microprocessor Architecture" paru dans "Computer", 1978, June, New York, comprend des regis- tres, un dispositif de logique arithmétique, des bus d'entrée et de sortie d'informations et de contrôle et des bus de transfert entrée/sortie, tous les éléments du microprocesseur étant reliés entre eux de manière fixe. Un inconvénient que présente ce microprocesseur est qu'il ne peut effectuer qu'une seule opération à la fois. En outre, le transfert d'informa- tions entre les registres s'effectue séquentiellement, c'est-à-dire un seul transfert à la fois. La possibilité d'utiliser une combinaison de tels micro- processeurs pour réaliser de grands systèmes dans lesquels des données sont échangées et traitées simultanément se voit de ce fait limitée. En conséquence, un but général de la présente invention est de réa- liser un dispositif arithmétique à registres doté d'une possibilité d'expan- sion de la longueur de mots et pouvant effectuer plusieurs opérations unifor- mes parallèles sur des opérandes, dispositif dans lequel les registres peuvent échanger en parallèle des informations selon un échange parallèle arbitraire- ment préréglé et qui offre de meilleures possibilités de réalisation de grands systèmes numériques par l'interconnexion de plusieurs de ces dispositifs. La présente invention a donc pour objet un dispositif arithmétique à registres comprenant des registres, un bus d'opérations permettant l'intro- duction préalable du code d'opérations dans le dispositif, deux bus d'entrée/ sortie d'informations, des bus d'entrée/sortie d'expansion de la longueur de mots caractérisé en ce que les registres sont un nombre N de registres unifor- mes arithmétiques à n bits, et en ce qu'il comprend deux registres tampon servant d'entrée et de sortie d'informations du dispositif, le premier regis- tre tampon étant connecté au premier bus d'entrée/sortie d'informations ainsi qu'au premier registre arithmétique par des bus de contrôle en vue de contrô- ler le permier registre tampon, tandis que le second registre tampon est connecté au second bus d'entrée/sortie d'informations ainsi qu'au dernier re- gistre arithmétique par des bus de contrôle en vue de contrôler le second re- gistre tampon, alors que les registres arithmétiques sont reliés entre eux par un système contrôlant les échanges entre registres, auxquels sont connectées les entrées de contrôle du dispositif pour contrôler les échanges, les bus d'entrée d'opérations du dispositif étant reliés simultanément à tous les re- gistres arithmétiques, dont les bascules d'ordre le plus bas et d'ordre le plus haut sont reliées à un bus d'entrée/sortie respectif du dispositif en vue de l'expansion de la longueur de mots de tous les 2 N tels bus du disposi- tif. Les informations délivrées en sortie par chaque registre arithmétique, depuis le second jusqu'au dernier, sont appliquées sur l'entrée d'informations du registre précédent, auquel est reliée la sortie du premier registre arith- métique par l'intermédiaire d'un circuit de combinaison, résolution possédant un nombre d'entrées égal à [log 2 (N + 1i) qui servent également d'entrées de contrôle des échanges entre registres du dispositif. Les registres arithméti- ques sont en outre dotés de connexions de rétroaction en ce qui concerne la transmission d'informations entre les registres, et le nombre de bus de con- trôle des échanges est égal à [log 2 (2 N + 11 tandis que le registre arith- métique comprend un bloc de bascules à n bits, dont les sorties représentent le bus de sortie, d'informations du registre arithmétique, connecté d'une part à un circuit logique de combinaison ayant n bus d'informations d'entrée, qui constituent les bus d'informations d'entrée du dispositif, et d'autre part, à trois bus d'opérations permettant l'introduction préalable du code d'opérations. L'intérêt de l'invention réside dans la possibilité qu'elle offre d'effectuer simultanément N opérations égales sur N opérandes dans les re- gistres arithmétiques, y compris des opérations à une ou deux positions. Grâce au contrôle des échanges entre registres, il est possible d'effectuer, un échange parallèle arbitraire entre deux pour chaque étape d'introduction d'échange de code de contrôle étant en train de se réaliser, une connexion si- multanée entre tous les registres. Les registres tampon offrent de grandes possibilités en ce qui concerne l'introduction et l'extraction simultanées de données selon des organisations différentes, tells que LIFO (dernier entré, premier sorti), FIFO (premier entré, premier sorti). Le dispositif peut en outre traiter des données relatives aux convoyeurs. Une forme d'exécution de la présente invention est décrite ci-après à titre d'exemple, en référence aux dessins annexés dans lesquels - la figure I est un schéma synoptique du dispositif, - la figure 2 est un schéma synoptique de bloc de contrôle des échan- ges entre registres du dispositif; - la figure 3 est une variante de réalisation du bloc de contrôle des échanges entre registres; - la figure 4 est un schéma synoptique d'un registre arithmétique du dispositif; - la figure 5 est un schéma des registres tampon d'entrée/sortie du dispositif; et - la figure 6 est un schéma d'une unité de traitement d'informations réalisé à partir de dispositifs conformes à l'invention. Le dispositif arithmétique à registres conforme à l'invention com- prend un nombre N de registres arithmétiques à n bits, aptes à effectuer un nombre déterminé d'opérations logiques et arithmétiques, deux registres tampon Z dont le premier est relié au premier bus d'entrée/sortie à n chiffres 3 ainsi qu'au premier registre arithmétique par l'intermédiaire du bus d'informations 4 dont les connexions sont résolues par leur connexion aux bus de contrôle A en vue du contrôle du premier registre tampon d'entrée/sortie, tandis que le second registre tampon 2 est relié au second bus d'entrée/sortie 5, ainsi qu'au dernier registre arithmétique/par le bus d'informations sous le contrôle des bus de contrôle B. Les entrées et sorties de données 7 de tous les regis- tres arithmétiques sont reliées entre elles par un bloc de contrôle 8 contrô- lant les échanges de contenus entre registres, bloc auquel sont reliées les entrées de contrôle T du dispositif de contrôle des échanges, ces entrées re- bouchant les diverses connexions simultanées entre tous les registres. Les entrées des bascules d'ordre le plus bas des registres arithmétiques sont reliées chacune à un bus d'entrée à un chiffre du dispositif, à savoir les bus CRI, CR2... CRN, tandis que les bascules d'ordre le plus élevé des registres arithmétiques sont reliées respectivement à un bus de sortie du dispositif, à savoir CLI, CL2... CLN. Les bus d'entrée d'opérations R permettant l'intro- duction préalable dans le dispositif du code des opérations sont reliés simul- tanément à tous les registres arithmétiques-1. Le bloc 8 de contrôle des échanges de contenus entre registres est représenté sur les figures 2 et 3. Le schéma de la figure 2 comprend les re- gistres arithmétiques I du dispositif, le circuit de combinaison 9 et le bus d'entrée T à [log 2 (N + 1) chiffres assurant le contrôle des échanges, un seul code de contrôle suffisant pour résoudre la connexion simultanée de tous les registres. Les entrées et sorties d'informations des registres 1 sont re- liées entre elles comme suit: al) 1,...., N; a2) 1e- 2, 3...., N; a3) 1 aN) 'i _ -3--- '... 4--N; aN+I) 1+ 2---34 -... chaque registre, à l'exception du premier, au registre voisin et au premier. Dans le mode de réalisation représenté sur la figure 3, les registres arithmé- tiques 1 sont reliés, non seulement comme le montre la figure 2, mais en outre selon les connexions: aN+2) 1 2, 3,..., N; aN+3) 2,..., 4,..., N; Il ---->3 -... ' 1 -À2-" a2N) I 2---- *...---N; ae2N+I) 1 -3-... N, dont chacune est résolue par raccordement à un bus de contr8le de sortie du circuit de combinaison 9. Le registre arithmétique 1 du dispositif représenté sur la figure 4 comprend un bloc RG d'éléments de mémoire - des bascules R1 à Rn, un circuit de décodage logique 10, qui est relié aux trois entrées d'opérations R du dis- positif et le bus d'informations à n bits X du registre, tandis que les sor- ties 01 à 08 de ce circuit 10 constituent les entrées de contrôle du bloc de bascules RG pour effectuer respectivement les opérations suivantes: enregis- trement/lecture; déplacement vers la gauche d'un chiffre; addition avec 1; inversion; somme par module 2; disjonction; conjonction, addition. La sor- tie de la première bascule R1 et l'entrée de la dernière bascule Rn sont reliées respectivement à la sortie CL et à l'entrée CR du dispositif. Les registres tampon d'entree/sortie du dispositif sont représentés sur la figure 5. Le premier bus d'entrée/sortie 3 et le bus 4, reliant le premier registre tampon 2 au premier registre arithmétique 1, sont connectés chacun à trois sorties du circuit de décodage 11, auquel sont reliés les bus d'entrée al, a2, a3 contrôlant le premier registre tampon. Le second registre tampon 2 est relié de manière analogue au second bus d'entrée/sortie 5 et au dernier registre arithmétique 1, chacun desquels est relié à trois sorties du circuit de décodage 12, dont les entrées sont reliées à trois bus bl, b2, b3, contrôlant le second registre tampon. Seules les opérations entrée/sortie concernant le premier registre tampon figurent sur le tableau II. Le dispositif arithmétique à registres conforme à l'invention fonc- tionne comme suit: Lors de l'introduction d'un code d'opération sur les bus d'opéra- tions R du dispositif, tous les registres arithmétiques effectuent cette opé- ration, la première opérande étant le contenu du registre, tandis que la seconde opérande est le contenu de son bus d'entrée d'opération. En ce qui concerne la réalisation du registre arithmétique représenté sur la figure 4, les huit opérations sont représentées sur la figure 1. Ainsi, par exemple, si le code de l'opération est 111 et le code d'échange introduit sur le bus de contrôle des échanges T est relatif à une connexion parallèle 14- 2- 3- 4 ---5 e--6& 7 --8; lorsque N = 8, le dispositif effectuent les opérations suivantes: + + CRi --- i(pour i = 1, 2,..., 7) + + CR8 > 8. Le code d'échange indique lequel sera la seconde opérande de chaque registre. Lors de l'introduction d'un code d'opération d'échanges sur le bus de contrôle T, il s'effectue l'une des connexions (transformations) simultanées possibles entre tous les registres arithmétiques. Ainsi, par exemple, lors de l'introduc- tion d'un code à [log 2 (N + 1i bits sur le bus de contrôle T du mode de réa- lisation représenté sur la figure 2, il se produit une de toutes les N + 1 transformations. Un échange arbitraire entre les registres peut être effectué dans le dispositif si un code d'opération nulle (lecture/enregistrement) est appliqué sur les bus de contrôle R et une séquence de codes fixe sur les bus T qui contrôlent l'échange, en faisant en sorte que la transformation désirée se trouve dans une séquence des transformations de base assurées par un code de contrôle. Par exemple, pour réaliser la transformation if 4 e--2 - 5 - 7 v-- 34-- 6 *'y, il faut introduire une séquence de contrôle Y9, Y5, Y7, le code de contrôle Yi réalisant une transformation de base ai. Lors de l'introduction sur les bus d'un code de contrôle des regis- tres tampon 2, le dispositif effectue une seule opération d'entrée/sortie, comme le montre le tableau II, relative au premier registre tampon. Le tableau relatif au second registre tampon est similaire. Le dispositif conforme à l'invention permet de réaliser un disposi- tif à kn bits assurant les mêmes opérations en reliant ensemble des disposi- tifs par leurs entrées CR et sorties CL. Une unité de traitement réalisée à partir de dispositifs conformes à l'invention, qui constituent un bloc de registres RB et un dispositif de contrôle U relié au bloc de registres RB est représenté sur la figure b. Les avantages apportés pour le dispositif arithmétique à registres conforme à l'invention permet son utilisation pour effectuer diverses fonc- tions dans un système numérique telles que: dispositif à registres à fonc- tionnement supérieur permettant le stockage temporaire de données et le trai- tement de celles-ci selon des organisations différentes, telles que LIFO, FIFO, ALU pour des opérations parallèles (telles que la multiplication simul- tanée de chiffres binaires, par exemple) tout en gardant les opérandes et les résultats intermédiaires jusqu'à ce que l'opération entière soit ter- minée, un dispositif de traitement de données relatives à des convoyeurs, etc. REVENDICATIONS 1. Dispositif arithmétique à registres, comprenant des registres, un bus d'opérations permettant d'introduire préalablement dans le dispositif le code d'opérations, deux bus d'entrée/sortie d'informations et deux bus d'entrée/sortie d'expansion de la longueur de mots, caractérisé en ce que les registres sont constitués par un nombre N de registres arithmétiques unifor- mes à n bits (1) et en ce qu'il comprend en outre deux registres tampon (2) assurant l'introduction et l'extraction de données dans le dispositif et la connexion avec d'autres dispositifs, le premier registre tampon (2) étant relié au premier bus d'entrée/sortie d'informations (3) ainsi qu'au premier registre arithmétique (1) par des bus de contrôle (A) en vue du contrôle du premier registre tampon, tandis que le second registre tampon est relié au second bus d'entrée/sortie d'informations (5) ainsi qu'au dernier registre arithmétique (1) par des bus de contrôle (B) en vue du contrôle du second re- gistre tampon, les registres arithmétiques (1) étant reliés entre eux par un circuit (8), assurant le contrôle des échanges entre registres, auquel sont reliées les entrées de contrôle (T) du-dispositif relatives au contrôle des échanges, alors que les bus d'entrée d'opérations (R) du dispositif sont re- liés simultanément à tous les registres arithmétiques (1), dont les bascules d'ordre le plus bas et d'ordre le plus haut sont reliées au bus respectif d'entrée (CR) et de sortie (CL) du dispositif en vue de l'expansion de la longueur de mots de tous les 2N tels bus du dispositif. 2. Dispositif selon la revendication 1, caractérisé en ce que les informations émises en sortie par chaque registre arithmétique (1), depuis le second jusqu'au dernier, sont appliquées sur l'entrée d'informations du regis- tre précédent, auquel est appliquée en outre la sortie du premier registre arithmétique par l'intermédiaire d'un circuit de résolution et de combinaison (9) ayant un nombre d'entrées égal à [log 2 (N + 1g, lesquelles constituent en outre les entrées de contrôle (T) du dispositif assurant le contrôle des échanges entre registres. 3. Dispositif selon les revendications 1 et 2, caractérisé en ce que les registres arithmétiques (1) comprennent en outre des connexions de rétroaction en ce qui concerne le transfert d'informations entre les registres tandis que le nombre de bus de contrôle des échanges (T) est [og 2 (2 N + 1i. 4. Dispositif selon l'une quelconque des revendications 1, 2 et 3 caractérisé en ce que le registre arithmétique (1), comprend un bloc de bas- cules à n bits dont les sorties constituent le bus d'informations de sortie (13) du registre arithmétique et qui est relié à un circuit logique de combi- naison (10) par n bus d'informations d'entrée, qui sont les bus d'informations d'entrée (X) du registre arithmétique (1) et trois bus d'opérations (R) per- mettant l'introduction préalable du code d'opération.