FR2570851A1 - Arithmetic and logic unit with accelerated carry propagation. - Google Patents

Arithmetic and logic unit with accelerated carry propagation. Download PDF

Info

Publication number
FR2570851A1
FR2570851A1 FR8414564A FR8414564A FR2570851A1 FR 2570851 A1 FR2570851 A1 FR 2570851A1 FR 8414564 A FR8414564 A FR 8414564A FR 8414564 A FR8414564 A FR 8414564A FR 2570851 A1 FR2570851 A1 FR 2570851A1
Authority
FR
France
Prior art keywords
cell
result
retaining
calculation
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8414564A
Other languages
French (fr)
Other versions
FR2570851B1 (en
Inventor
Andre Picco
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EFCIS
Original Assignee
EFCIS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EFCIS filed Critical EFCIS
Priority to FR8414564A priority Critical patent/FR2570851B1/en
Publication of FR2570851A1 publication Critical patent/FR2570851A1/en
Application granted granted Critical
Publication of FR2570851B1 publication Critical patent/FR2570851B1/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/507Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3872Precharge of output to prevent leakage

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

The invention relates to an arithmetic and logic processing unit, especially a fast signal processor ALU. In order to speed up the time to obtain the result of the processing, in particular for the processing of 16 or 32 bit numbers, the unit is divided into two groups of cells; for the lower-rank cells (CR0 to CR3), the calculation and the carry propagation from one stage to the next are carried out normally; for the higher-rank cells, two calculation and carry propagation chains are provided working in parallel; the first chain (CR'4 to CR'7) receives an input carry c'4 = 1 and hence makes a calculation assumption on an input carry 1; the second chain (CR''4 to CR''7) receives an input carry c''4 = 0 and thus makes a calculation assumption on an input carry 0; a multiplexer MUX receives the real input carry CS originating from the group of lower-rank cells (CR0 to CR3) and selects the result supplied by the chain corresponding to the correct assumption.

Description

UNITE ARITHMETIQUE ET LOGIQUE
A PROPAGATION DE RETENUE ACCELEREE
La présente invention concerne une unité arithmétique et logique telle que celles que l'on utilise dans les microprocesseurs ou d'autres circuits de traitement de signaux binaires.
ARITHMETIC AND LOGICAL UNIT
A ACCELERATED RETENTION PROPAGATION
The present invention relates to an arithmetic and logic unit such as those used in microprocessors or other binary signal processing circuits.

Une unité arithmétique et logique est destinée à recevoir deux nombres binaires à plusieurs chiffres et à effectuer sur ces nombres des opérations simples de type arithmétique (addition des deux nombres, soustraction) ou logique (complémentation, fonction OU, etc...). Elle est constituée par une succession de cellules de traitement correspondant chacune à un rang binaire déterminé: une cellule de rang i reçoit d'une part les bits de rang i des signaux à traiter, d'autre part une retenue de la cellule de rang précédent, et enfin des signaux de commande communs à toutes les cellules, ces signaux de commande déterminant la fonction arithmétique ou logique à réaliser; la cellule de traitement de rang i fournit une retenue pour la -cellule de rang suivant et un signal de sortie correspondant au chiffre de rang i du résultat du traitement arithmétique ou logique. An arithmetic and logical unit is intended to receive two binary numbers with several digits and to perform on these numbers simple operations of arithmetic type (addition of the two numbers, subtraction) or logic (complementation, OR function, etc ...). It consists of a succession of processing cells each corresponding to a given bit rank: a cell of rank i receives on the one hand the bits of rank i of the signals to be processed, on the other hand a retention of the cell of previous rank , and finally control signals common to all the cells, these control signals determining the arithmetic or logic function to be performed; the rank processing cell i provides a hold for the next rank cell and an output signal corresponding to the rank i number of the result of the arithmetic or logic processing.

Plus précisément, mais sans rentrer dans tous les détails, l'organisation d'une unité arithmétique et logique peut comprendre, à chaque étage correspondant à un rang binaire donne' i, d'une part au moins une cellule d'aiguillage recevant les bits de rang i des signaux à traiter et les signaux de commande, et une cellule de calcul de résultat et de retenue recevant la ou les sorties de cette cellule d'aiguillage ainsi que la retenue issue de la cellule de rang précédent, et fournissant d'une part le signal de résultat (bit de rang i du résultat) et d'autre part une retenue pour l'étage suivant. More precisely, but without going into all the details, the organization of an arithmetic and logic unit can comprise, on each stage corresponding to a given bit rank 'i, on the one hand at least one routing cell receiving the bits of rank i of the signals to be processed and the control signals, and a result and retaining calculating cell receiving the output (s) of this switching cell as well as the retaining of the preceding rank cell, and supplying firstly the result signal (bit of rank i of the result) and secondly a retainer for the next stage.

L'unité arithmétique et logique représentée à la figure I correspond à ce type d'organisation classique. Elle comprend par exemple 8 étages, pour traiter des nombres de 8 bits. Les signaux de commande sont au nombre de huit et sont amenés par un bus globalement désigné par la référence cd. Ils sont communs à toutes les cellules de traitement. The arithmetic and logical unit shown in Figure I corresponds to this type of conventional organization. It includes for example 8 floors, to process numbers of 8 bits. The control signals are eight in number and are brought by a bus generally designated by the reference cd. They are common to all treatment cells.

Chaque étage comprend ici deux cellules d'aiguillage désignées respectivement par la lettre P et la lettre K, affectees d'un chiffre correspondant au rang binaire de l'étage considéré : PO et KO pour le rang 0, PI et K I pour le rang I etc... Each stage here comprises two switching cells designated respectively by the letter P and the letter K, assigned a number corresponding to the binary rank of the stage considered: PO and KO for the rank 0, PI and KI for the rank I etc ...

Chaque étage comprend aussi une cellule de calcul de résultat et de retenue désignée par les lettres CR affectées d'un chiffre correspondant au rang de l'étage considéré: CR0 à CR7. Ces cellules de calcul de résultat et de retenue sont représentées globalement chacune dans un cadre tireté respectif. Each stage also includes a result and retention calculation cell designated by the letters CR assigned a number corresponding to the rank of the stage considered: CR0 to CR7. These result calculation and retaining cells are each represented globally in a respective dotted frame.

Une cellule d'aiguillage Pi de rang i reçoit comme signaux de commande d'aiguillage tout ou partie des signaux de commande du bus cd; elle reçoit comme signaux d'entrée à aiguiller un bit a. d'un premier nombre binaire A et un bit b. de même rang i d'un second nombre binaire B; elle peut recevoir aussi comme signaux d'entrée à aiguiller un bit I et un bit 0. A sa sortie cette cellule fournit soit ai, soit son complément, soit bi, soit son complément, soit I indépen damment de ai et bi, soit 0 indépendamment de ai et bi. A switching unit Pi of rank i receives as switching control signals all or part of the control signals of the bus cd; it receives as input signals to switch a bit a. a first binary number A and a bit b. of the same rank i of a second binary number B; it can also receive as input signals to turn a bit I and a bit 0. At its output this cell provides either ai or its complement, or bi, or its complement, or I independently of ai and bi or 0 independently of ai and bi.

I I i
La cellule d'aiguillage Ki reçoit les mêmes signaux d'entrée à aiguiller: ai, bi, 1, 0, mais des signaux de commande qui peuvent être différents et qui sont pris également parmi les signaux du bus cd.
II i
The switching cell K 1 receives the same input signals to be switched: a 1, b 1, 0, but control signals which may be different and which are also taken from the cd bus signals.

Les sorties des cellules Pi et Ki sont appliquées comme signaux d'entrée à la cellule de calcul de résultat et de retenue CRi du même étage. Cette cellule reçoit également comme troisième signal d'entrée une retenue c. qui est issue de la cellule de calcul de résultat et de retenue de étage de rang précédent i-l. La cellule
CRi fournit d'une part un signal de retenue c1+1 pour étage suivant, d'autre part un signal de sortie Si (S0 à S7) qui constitue le bit de rang i d'un nombre S constituant le résultat du traitement logique ou arithmétique effectué sur les nombres A et B.
The outputs of the cells Pi and Ki are applied as input signals to the result calculation cell and retaining CRi of the same stage. This cell also receives as a third input signal a restraint c. which is derived from the result calculation cell and previous stage retaining cell it. The cell
CRi provides on the one hand a retaining signal c1 + 1 for the next stage, on the other hand an output signal Si (S0 to S7) which constitutes the bit of rank i of a number S constituting the result of the logic or arithmetic performed on the numbers A and B.

Ici, les cellules de calcul de résultat et de retenue ont été représentées sous forme de deux éléments : un élément de propagation de retenue proprement dit (CPO à CP7) qui reçoit une retenue de l'étage précédent et fournit une retenue pour l'étage suivant, et une porte OU exclusif (EXO à EX7) qui établit le signal Si de résultat du traitement arithmétique ou logique ; en pratique cette porte OU-Exclusif peut recevoir simplement la sortie de la cellule d'aiguillage Pi et la retenue de étage précédent. Cependant, la constitution interne de la cellule de calcul de résultat et de retenue peut être différente et elle n'est donnée ici qu'à titre d'exemple. Here, the result and containment calculation cells have been represented as two elements: a restraint propagation element proper (CPO-CP7) which receives a hold of the previous stage and provides a restraint for the stage next, and an exclusive OR gate (EXO to EX7) which sets the signal Si as a result of arithmetic or logic processing; in practice this exclusive-OR gate can simply receive the output of the switch cell Pi and the previous stage retainer. However, the internal constitution of the result calculation and holding cell may be different and is given here only as an example.

Pour terminer la description de la figure 1, on peut mentionner qu'une retenue d'entrée c, est appliquée à l'étage de rang 0, cette retenue étant issue soit d'un registre extérieur non représenté, soit encore d'un circuit d'aiguillage non représenté et commandé par les signaux du bus de commande cd ou par d'autres signaux de commande. De même, l'étage de rang le plus élevé fournit une retenue de sortie pour l'ensemble (c8 sur la figure 1). To complete the description of FIG. 1, it may be mentioned that an input restraint c, is applied to the rank stage 0, this restraint originating either from an unrepresented external register or from a circuit switching device not shown and controlled by the signals of the control bus cd or by other control signals. Similarly, the highest rank stage provides an output hold for the assembly (c8 in Fig. 1).

La présente invention propose d'essayer d'améliorer la rapidité de fonctionnement d'une telle unité arithmétique et logique, c'est-àdire de réduire l'intervalle de temps entre le moment où les signaux
A et B et la retenue d'entrée cO sont tous présents à l'entrée de l'unité et le moment où le résultat du calcul est obtenu c'est-à-dire le moment où les bits 50 à S7 et c8 sont présents sur les sorties respectives de résultat et de retenue de l'unité.
The present invention proposes to try to improve the speed of operation of such an arithmetic and logic unit, that is to say to reduce the time interval between the moment when the signals
A and B and the input holdover cO are all present at the input of the unit and the moment when the result of the calculation is obtained, that is to say the moment when the bits 50 to S7 and c8 are present. on the respective outputs of result and restraint of the unit.

Or cet intervalle de temps c#umule trois durées qui sont
- le temps d'établissement des aiguillages à partir des signaux de commande sur le bus cd ; ce temps peut être de 5 nanosecondes par exemple.
But this time interval c # umule three durations which are
- the switch establishment time from the control signals on the cd bus; this time can be 5 nanoseconds for example.

- le temps de propagation de la retenue entre le premier et le dernier étage à travers les éléments de propagation de retenue de chacun des étages; en effet, l'obtention d'un résultat à la sortie d'un étage dépend de la retenue reçue par cet étage, retenue qui elle même dépend de la retenue reçue par l'étage précédent; ce temps peut être de 2 nanosecondes par étage. the propagation time of the reservoir between the first and the last stage through the retaining propagation elements of each of the stages; indeed, the obtaining of a result at the exit of a stage depends on the restraint received by this stage, which retention itself depends on the restraint received by the previous stage; this time can be 2 nanoseconds per floor.

- et le temps de calcul proprement dit à travers un étage: c'est le temps nécessaire, lorsque tous les signaux d'entrée, de retenue et de commande sont présents aux entrées d'un étage, pour qu'un résultat apparaisse à la sortie de cet étage; ce temps peut être de l'ordre de 5 nanosecondes. - and the actual calculation time through a stage: this is the time required, when all the input, hold and control signals are present at the inputs of a stage, for a result to appear at the exit of this floor; this time can be of the order of 5 nanoseconds.

Dans ce cumul de temps, la présente invention s'intéresse au temps de propagation de la retenue. En effet, ce temps est proportionnel au nombre d'étages donc au nombre de bits traités: pour 8 bits, le temps est égal à 8 fois le temps élémentaire de propagation à travers un étage. Mais pour 16 bits il est de seize fois ce temps. Or on tend de plus en plus à faire des unités arithmétiques et logiques plus puissantes, pouvant traiter 16 ou 32 bits, ce qui peut ralentir beaucoup la vitesse d'obtention des résultats donc la vitesse globale de fonctionnement du processeur incorporant cette unité.  In this accumulation of time, the present invention is concerned with the propagation time of the restraint. Indeed, this time is proportional to the number of stages and therefore to the number of bits processed: for 8 bits, the time is equal to 8 times the elementary propagation time across a stage. But for 16 bits it is sixteen times that time. But we tend more and more to make more powerful arithmetic and logic units, which can process 16 or 32 bits, which can slow down the speed of obtaining the results so the overall speed of operation of the processor incorporating this unit.

Par exemple, si le temps de propagation élémentaire par étage est de 2 nanosecondes, on aboutit à un temps global de fonctionnement de 42 nanosecondes (16 bits) ou 74 nanosecondes (32 bits). For example, if the elementary propagation time per stage is 2 nanoseconds, a global operating time of 42 nanoseconds (16 bits) or 74 nanoseconds (32 bits) is obtained.

La méthode habituellement utilisée pour essayer de réduire ce temps de propagation est d'éviter cette propagation en effectuant un calcul de retenue au lieu d'une propagation de retenue (procédés par anticipation de retenue). Mais ce calcul est complexe et on s'aperçoit que la durée de calcul est quand même de plusieurs dizaines de nanosecondes: des procédés à anticipation de retenue présentent un intérêt lorsque la technologie est telle que le temps de propagation élémentaire serait relativement long (5 nanosecondes par exemple) mais pas lorsqu'il est minimisé (2 nanosecondes pour des technologies MOS avec canal court). The usual method used to try to reduce this propagation time is to avoid this propagation by carrying out a restraint calculation instead of a restraint propagation (holding anticipation methods). But this calculation is complex and one realizes that the duration of computation is nevertheless of several tens of nanoseconds: processes with anticipation of retention are of interest when the technology is such that the elementary propagation time would be relatively long (5 nanoseconds for example) but not when minimized (2 nanoseconds for short channel MOS technologies).

La présente invention propose une astuce d'organisation pour réduire le temps de traitement global d'une unité arithmétique et logique. Cette invention s'applique à une unité de traitement arithmétique et lo#gique du type décrit ci-dessus c'est-à-dire une unité de traitement comportant une succession de cellules de traitement correspondant chacune à un ran#g binaire déterminé, chaque cellule de traitement comprenant d'une part au moins une cellule d'aiguillage recevant comme signaux d'entrée à aiguiller un bit d'un premier signal A et un bit de rang correspondant d'un second signal B, et recevant des signaux de commande d'aiguillage communs à toutes les cellules de traitement, et d'autre part une cellule de calcul de résultat et de retenue recevant les signaux de sortie de la cellule d'aiguillage de même rang, et recevant sur une entrée de retenue un signal de retenue issu de la cellule de calcul de résultat et de retenue de rang immédiatement précédent, la cellule de calcul de résultat et de retenue comportant encore une sortie de résultat et une sortie de retenue. The present invention provides an organization trick to reduce the overall processing time of an arithmetic and logical unit. This invention applies to an arithmetic and logical processing unit of the type described above, that is to say a processing unit comprising a succession of processing cells each corresponding to a determined binary range, each processing cell comprising on the one hand at least one switching cell receiving as input signals to steer a bit of a first signal A and a bit of corresponding rank of a second signal B, and receiving control signals common to all the processing cells, and on the other hand a result and holding calculating cell receiving the output signals of the same-rank switching cell, and receiving on a holding input a signal of retained from the immediately preceding rank calculation and result calculation cell, the result calculation and holding cell further comprising a result output and a carry output.

Selon l'invention, l'unité de traitement est divisée en deux groupes de cellules de traitement; le premier groupe comprend les cellules correspondant aux rangs binaires les moins élevés et le second groupe les cellules correspondant aux rangs binaires les plus élevés; l'unité comprend un multiplexeur ayant une entrée de commande de sélection reliée à la sortie de retenue de la cellule de rang le plus élevé du premier groupe, cette sortie n'étant pas reliée par ailleurs à une entrée de retenue d'une autre cellule; le deuxième groupe de cellules de traitement comprend deux ensembles semblables de cellules de calcul de résultat et de retenue, fonctionnant en parallèle, l'entrée de retenue d'une cellule de calcul de résultat et de retenue étant reliée à la sortie de retenue de la cellule de calcul de résultat et de retenue de rang immédiatement inférieur du même ensemble, sauf en ce qui concerne l'entrée de retenue de la cellule de rang le plus faible de chaque ensemble, qui reçoit systématiquement un bit I pour le premier ensemble et un bit 0 pour le second ensemble; les sorties de résultat des- cellules de calcul des deux ensembles du deuxième groupe sont reliées à des entrées respectives du multiplexeur, celui-ci étant agencé pour transmettre soit toutes les sorties de résultat du premier ensemble soit toutes les sorties de résultat du second ensemble selon l'état du signal reçu sur son entrée de commande de sélection.  According to the invention, the treatment unit is divided into two groups of treatment cells; the first group comprises the cells corresponding to the lowest bit ranks and the second group the cells corresponding to the highest bit ranks; the unit comprises a multiplexer having a selection control input connected to the retaining output of the highest ranking cell of the first group, which output is not otherwise connected to a retaining input of another cell ; the second group of processing cells comprises two similar sets of result and hold calculation cells operating in parallel, the holding input of a result calculation and holding cell being connected to the holding output of the result and retaining cell of immediately lower rank of the same set, except for the retaining input of the lowest ranking cell of each set, which systematically receives a bit I for the first set and a bit 0 for the second set; the result outputs of the computation cells of the two sets of the second group are connected to respective inputs of the multiplexer, the latter being arranged to transmit either all the result outputs of the first set or all the result outputs of the second set according to the state of the received signal on its selection control input.

En d'autres mots, on divise l'unité en deux groupes ; le premier groupe (de rang moins élevé) fonctionne normalement; le deuxième groupe (de rang plus élevé) fonctionne avec deux chaines de propagation de retenue travaillant en parallèle, l'une recevant une retenue initiale d'entrée égale à O et l'autre une retenue initiale d'entrée égale à I; des résultats sont obtenus simultanément par ces deux chaînes et on sélectionne en sortie un seul des résultats en fonction de la retenue véritable Q ou 1 qui devrait être appliquée au deuxième groupe, c'est-à-dire en fonction de la retenue qui apparaît en sortie du premier groupe. In other words, divide the unit into two groups; the first group (of lower rank) operates normally; the second group (of higher rank) operates with two restraint propagation chains working in parallel, one receiving an initial input restraint equal to O and the other an initial input restraint equal to I; results are obtained simultaneously by these two chains and only one of the results is selected as output as a function of the true retention Q or 1 that should be applied to the second group, that is to say according to the deduction that appears in exit of the first group.

Avec cette organisation, on divise par deux le temps de propagation dans la chaîne de propagation de retenue; par exemple on passe de 16x2 nanosecondes à 8x2 nanosecondes; le multiplexeur ne rajoute que quelques nanosecondes au temps d'obtention du résultat définitif, de sorte qu'on gagne sur le temps de fonctionnement global de l'unité arithmétique et logique. With this organization, the propagation time in the restraint propagation chain is halved; for example we go from 16x2 nanoseconds to 8x2 nanoseconds; the multiplexer adds only a few nanoseconds to the time of obtaining the final result, so that we gain on the overall operating time of the arithmetic and logical unit.

D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels:
- la figure 1 déjà décrite représente une organisation classique d'unité arithmétique et logique,
- la figure 2 représente une unité arithmétique et logique selon l'invention,
- la figure 3 représente un exemple de cellule de calcul de résultat et de retenue.
Other features and advantages of the invention will appear on reading the detailed description which follows and which is given with reference to the appended drawings in which:
FIG. 1 already described represents a classical organization of arithmetic and logical unity,
FIG. 2 represents an arithmetic and logical unit according to the invention,
FIG. 3 represents an exemplary result calculation and retention cell.

Par souci de clarté des figures, on a représenté l'unité arithmétique et logique avec seulement huit étages, mais on aura compris d'après ce qui précède que l'invention est d'autant plus intéressante à appliquer que le nombre de bits de signaux à traiter donc le nombre d'étages est plus élevé. For the sake of clarity of the figures, the arithmetic and logic unit is represented with only eight stages, but it will be understood from the above that the invention is all the more interesting to apply as the number of signal bits. to treat so the number of stages is higher.

Sur la figure 2, les éléments correspondants aux éléments de la figure J portent les mêmes références. In Figure 2, the elements corresponding to the elements of Figure J bear the same references.

Ces éléments communs sont les suivants: les cellules d'aiguillage KO à K7 et PO à P7 sont inchangées et reçoivent les mêmes signaux d'entrée qui sont les bits respectifs de rang 0 à 7 des nombres A et B à traiter, ainsi que des bits 0 et I ; ces cellules reçoivent aussi les signaux de commande du bus cd. Toutes les cellules KO à K7 sont commandées simultanément par certains signaux du bus cd et toutes les cellules PO à P7 sont commandées par d'autres signaux ou les mêmes du bus cd. These common elements are as follows: the switching cells K0 to K7 and PO to P7 are unchanged and receive the same input signals which are the respective bits of rank 0 to 7 of the numbers A and B to be processed, as well as bits 0 and I; these cells also receive the control signals of the bus cd. All the cells K0 to K7 are simultaneously controlled by certain signals of the bus cd and all the cells PO to P7 are controlled by other signals or the same of the bus cd.

Les cellules de calcul de résultat et de retenue sont identiques à celles de la figure I c'est-à-dire qu'elles ont chacune deux entrées de commande, une entrée de retenue, une sortie de retenue, et une sortie de résultat. Mais leurs connexions mutuelles sont différentes. The result calculation and retaining cells are identical to those of FIG. 1, that is to say that they each have two control inputs, a retaining input, a retaining output, and a result output. But their mutual connections are different.

De plus, pour une unité à n étages (ici n=8) pour traiter des nombres de n bits, il y a maintenant plus de n cellules de propagation de retenue. Il y en a de préférence n+n/2.In addition, for an n-stage unit (here n = 8) for processing n-bit numbers, there are now more than n carry propagation cells. There is preferably n + n / 2.

Les étages de l'unité sont divisés en deux groupes qui comprennent de préférence n/2 étages chacun. The stages of the unit are divided into two groups which preferably comprise n / 2 stages each.

Le premier groupe comprend les étages de rang le plus faible, traitant les bits de rang le plus faible, ici aO à a3 et b à b3. The first group comprises the lowest rank stages processing the lowest order bits, here a0 to a3 and b to b3.

Le deuxième groupe comprend les étages de rang le plus élevé, traitant les bits de rang le plus fort, ici a4 à a7 et b4 à b7. The second group includes the highest rank stages, dealing with the highest order bits, here a4 to a7 and b4 to b7.

Le premier groupe est constitué exactement comme à la figure 1: chaque cellule de calcul de résultat et de retenue CR0 à
CR3 reçoit les sorties des cellules d'aiguillage de l'étage de même rang (KO à K3 et PO à P3), et possède une entrée retenue cO à C3 qui reçoit la sortie de retenue de la cellule de calcul de résultat et de retenue de rang précédent, sauf pour la première cellule qui reçoit une retenue d'entrée c, issue d'un organe extérieur, registre ou circuit d'aiguillage ou autre. Chaque cellule CR0 à CR3 possèdé par ailleurs une sortie de résultat S0 à S3 et une sortie de retenue reliée à l'entrée de retenue de la cellule de calcul de résultat et retenue de rang immédiatement supérieur, sauf la cellule de rang le plus élevé du premier groupe (CR3) qui fournit un signal de retenue CS qui n'est pas transmis à une cellule de calcul de rang supérieur.
The first group is constituted exactly as in Figure 1: each result calculation cell and retaining CR0 to
CR3 receives the outputs of the switching cells of the same-rank stage (KO to K3 and PO to P3), and has a retained input cO to C3 which receives the holding output of the result calculation and holding cell of previous rank, except for the first cell which receives an input retainer c, from an external member, register or switching circuit or other. Each cell CR0 to CR3 also has a result output S0 to S3 and a hold output connected to the hold input of the result calculation cell and hold of next higher rank, except the highest rank cell of first group (CR3) which provides a hold signal CS which is not transmitted to a higher rank computing cell.

Le deuxième groupe d'étages est constitué avec deux ensembles de cellules de calcul de résultat et de retenue formant deux chaînes de propagation séparées travaillant en parallèle. The second group of stages is constituted by two sets of result calculation cells and retaining cells forming two separate propagation chains working in parallel.

Le premier ensemble comprend des cellules de calcul de résultat et de retenue CR'4 à CR'7 connectées de manière analoguqe aux cellules CR4 à CR7 de la figure 1: chaque cellule de calcul
CR'4 à CR'7 correspondant aux rangs respectifs 4 à 7 possède deux entrées de commande reliées aux sorties des cellules d'aiguillage de même rang P4 à P7 et K4 à K7;; elle possède aussi une entrée de retenue C'4 à c'7 qui reçoit la sortie de retenue de la cellule de calcul de rang immédiatement inférieur du même premier ensemble, sauf en ce qui concerne la cellule de rang le plus bas du premier ensemble (du deuxième groupe d'étages), à savoir la cellule CR'4 qui reçoit sur sont entrée de retenue un bit invariable c'4=l indépendamment de l'état des sorties de retenue des autres étages (interruption de la chaîne de propagation de retenue à ce niveau).Chaque cellule de calcul du premier ensmble du deuxième groupe possède enfin une sortie de résultat S'4 à S'7 respectivement et une sortie de retenue reliée à l'entrée de la cellule de propagation de rang immédiatement supérieur, sauf en ce qui concerne la sortie de retenue de la cellule de rang la plus élevé (CR'7) qu fournit une sortie de retenue finale c'8 non reliée à un autre étage.
The first set comprises CR'4 CR'7 result and retention calculation cells connected analogously to the CR4 to CR7 cells of FIG. 1: each calculation cell
CR'4 to CR'7 corresponding to the respective ranks 4 to 7 has two control inputs connected to the outputs of switching cells of the same rank P4 to P7 and K4 to K7 ;; it also has a retaining input C'4 to c'7 which receives the retaining output of the next lower rank computing cell of the same first set, except for the lowest ranking cell of the first set ( of the second group of stages), namely the cell CR'4 which receives on its holding input an invariable bit c'4 = 1 independently of the state of the retaining outlets of the other stages (interruption of the propagation chain of retained at this level) .Each calculation cell of the first set of the second group finally has a result output S'4 to S'7 respectively and a hold output connected to the input of the next higher rank propagation cell. except for the retaining output of the highest ranking cell (CR'7) that provides a final retaining outlet c'8 not connected to another stage.

Le deuxième ensemble de cellules de calcul de résultat et de retenue comprend des cellules CR"4 à CR"7 montées exactement comme les cellules CR'4 à CR'7 du premier ensemble: chaque cellule Cl1'4 à CR"-7 correspondant aux rangs respectifs 4 à 7 possède deux entrées de commande reliées aux sorties des cellules d'aiguillage de même rang P4 à P7 et K4 à K7; elle possède aussi une entrée de retenue c"4 à c"7 qui reçoit la sortie de retenue de la cellule de calcul de rang immédiatement inférieur du deuxième ensemble, sauf en ce qui concerne la cellule de rang le plus bas du deuxième ensemble (du deuxième groupe d'étages toujours), à savoir la cellule CR"4 qui reçoit sur son entrée de retenue un bit invariable c"4=0 (donc un bit complémentaire de celui qui est reçu par la cellule correspondante CR'4 du premier ensemble), indépen damment de l'état des sorties de retenue des autres étages (interruption de la chaîne de propagation de retenue).Chaque cellule de calcul du deuxième ensemble du deuxième groupe possède enfin une sortie de résultat S"4 à 5"7 respectivement et une sortie de retenue reliée à l'entrée de la cellule de calcul de rang immédiatement supérieur, sauf en ce qui concerne la sortie de retenue de la cellule de rang le plus élevé (CR"7) qui fournit une sortie de retenue finale c"8 non reliée à un autre étage. The second set of result calculation and retaining cells comprises CR "4 to CR" 7 cells mounted exactly like the CR'4 to CR'7 cells of the first set: each cell C1 '4 to CR "-7 corresponding to the respective ranks 4 to 7 has two control inputs connected to the outputs of the same-rank switch cells P4 to P7 and K4 to K7, and has a retaining input c "4 to c" 7 which receives the holding output of the next lower rank computing cell of the second set, except for the lowest rank cell of the second set (of the second set of stages always), namely the CR "4 cell which receives on its input of retained an invariable bit c "4 = 0 (hence a bit complementary to that received by the corresponding cell CR'4 of the first set), independently of the state of the retaining outlets of the other stages (interruption of the chain of retaining spread) .Each cell of ca lcul of the second set of the second group finally has a result output S "4 to 5" 7 respectively and a carry output connected to the input of the next higher rank computing cell, except for the hold output of the highest rank cell (CR "7) which provides a final hold output c" 8 not connected to another stage.

Enfin, l'unité arithmétique et logique représentée à la figure 2 comprend un multiplexeur MUX ayant des entrées reliées aux sorties de résultat S'4 à S'7 et S"4 à S"7 et de préférence aussi des entrées reliées aux sorties de retenue finales c'8 et c"g. Ce multiplexeur a des sorties S4 à S7 et une sortie cg, et il possède une entrée de commande de sélection recevant la sortie de retenue CS de la cellule de propagation de rang le plus élevé (CR3) du premier groupe d'étages de l'unité.  Finally, the arithmetic and logic unit represented in FIG. 2 comprises a multiplexer MUX having inputs connected to the output outputs S'4 to S'7 and S "4 to S" 7 and preferably also inputs connected to the outputs of FIG. This multiplexer has outputs S4 to S7 and an output cg, and has a select control input receiving the carry output CS of the highest rank propagation cell (CR3). ) of the first group of stages of the unit.

Le multiplexeur est agencé pour que si le signal C5 est au niveau logique I les sorties S4 et S7 et cg fournissent les niveaux logiques présents sur les sorties S'4 à S'7 et c'g du premier ensemble de cellules de calcul ; et si le signal CS est au niveau logique 0, les sorties S4 à S7 et cg fournissent les niveaux logiques présents sur les sorties S"4 à S"7 et c"g.  The multiplexer is arranged so that if the signal C5 is at the logic level I the outputs S4 and S7 and cg provide the logic levels present on the outputs S'4 to S'7 and c'g of the first set of calculation cells; and if the signal CS is at the logic level 0, the outputs S4 to S7 and cg provide the logic levels present at the outputs S "4 to S" 7 and c "g.

Par conséquent, avec cette organisation, on fait simulta nsment deux hypothèses sur la valeur de la retenue qui devrait être propagée par la sortie de la cellule CR3: l'hypothèse que cette retenue est égale à I est faite par la chaîne CR'4 à CR'7 du premier ensemble et donne lieu à des résultats S'4 à S'7 et c'8; l'hypothèse contraire est faite simultanément par la chaîne CR"4 à CR"7 du deuxième ensemble et donne lieu à des résultats s"4 à S"7 et c"g. A là fin de la propagation de la retenue dans le premier groupe d'étages (CR0 à CR3 > on sait quelle est la véritable retenue en sortie de la cellule CR3 et il ne reste plus qu'à choisir par le multiplexeur des résultats correspondant à la bonne hypothèse. Therefore, with this organization, two hypotheses are simultaneously made about the value of the restraint that should be propagated by the output of the CR3 cell: the assumption that this restraint is equal to I is made by the chain CR'4 to CR'7 of the first set and gives rise to results S'4 to S'7 and c'8; the opposite hypothesis is made simultaneously by the chain CR "4 to CR" 7 of the second set and gives rise to results s "4 to S" 7 and c "g At the end of the propagation of the restraint in the first group of stages (CR0 to CR3> we know what is the real retention at the output of the CR3 cell and it remains only to choose by the multiplexer results corresponding to the correct hypothesis.

L'intérêt de cette disposition est que lorsqu'on connait la véritable retenue sur la sortie CS, les résultats 5'4 à S'7 et S"4 et S"7 sont déjà connus (ou presque) et on n'a donc plus qu'à prévoir le temps de fonctionnement du multiplexeur et non un temps de propagation supplémentaire dans les étages de rang le plus élevé.The advantage of this provision is that when you know the true restraint on the CS output, the results 5'4 to S'7 and S "4 and S" 7 are already known (or almost) and so we have more than predicting the operating time of the multiplexer and not an additional delay in the higher rank stages.

On peut envisager que dans certains cas il soit plus intéressant, au point de vue du gain de temps obtenu avec cette structure, que l'unité soit partagée en deux groupes inégaux de cellules de traitement, par exemple 7 cellules pour le premier groupe et 9 cellules pour le second pour un ensemble de 16 cellules. It can be envisaged that in some cases it is more interesting, from the point of view of the time gain obtained with this structure, that the unit is divided into two unequal groups of treatment cells, for example 7 cells for the first group and 9 cells for the second for a set of 16 cells.

A titre d'exemple seulement on a représenté à la figure 3 une structure possible de cellule de calcul de résultat et de retenue de rang i. Dans cet exemple, la cellule comprend un premier transistor T I servant à la propagation de la retenue: ce transistor relie l'entrée de retenue ci à la sortie de retenue ci+l ; ce transistor est commandé par la sortie de l'aiguillage Pi; un deuxième transistor
T2, commandé par la sortie de l'aiguillage Ki, permet de relier la sortie de retenue ci ] à la masse; une porte OU-Exclusif EXi correspondant à celle qui est représentée aux figures I et 2 a une entrée connectée à l'entrée de retenue ci et une autre entrée connectée à la sortie de l'aiguillage Pi; enfin, un troisième transistor T3, recevant sur sa grille de commande des impulsions de mise en conduction temporaire, permet d'appliquer sur la sortie de retenue ci+ I une tension de précharge Vp pendant une phase de précharge de l'unité de traitement.
By way of example only, there is shown in FIG. 3 a possible structure for calculating result and retaining cell of rank i. In this example, the cell comprises a first transistor TI for the propagation of the restraint: this transistor connects the holding input ci to the holding output ci + 1; this transistor is controlled by the output of the switch Pi; a second transistor
T2, controlled by the output of the switch Ki, to connect the retaining output ci] to ground; an exclusive-OR gate EXi corresponding to that shown in Figures I and 2 has an input connected to the holding input ci and another input connected to the output of the switch Pi; finally, a third transistor T3, receiving on its control gate temporary turning-on pulses, makes it possible to apply on the retaining output ci + I a precharge voltage Vp during a precharging phase of the processing unit.

Claims (1)

REVENDICATION CLAIM Unité arithmétique etlou logique comportant une succession de cellules de traitement correspondant chacune à un rang binaire déterminé, chaque cellule de traitement comprenant d'une part au moins une cellule d'aiguillage (KO à K7, PO à P7) recevant comme signaux d'entrée à aiguiller un bit d'un premier signal A et un bit de rang correspondant d'un second signal B, et recevant des signaux de commande d'aiguillage (cd) communs à toutes les cellules de traitement, et d'autre part une cellule de calcul de-résultat et de retenue (CR0 à CR7) recevant les signaux de sortie de la cellule d'aiguillage de même rang et recevant sur une entrée de retenue (c0 à C7) un signal de retenue issu de la cellule de calcul de résultat et de retenue de rang immédiatement inférieur, la cellule de calcul de résultat et de retenue comportant encore une sortie de résultat et une sortie de retenue, caractérisé en ce que: Arithmetic and / or logic unit comprising a succession of processing cells each corresponding to a given bit rank, each processing cell comprising on the one hand at least one switching cell (KO to K7, PO to P7) receiving as input signals directing a bit of a first signal A and a bit of corresponding rank of a second signal B, and receiving switching control signals (cd) common to all the processing cells, and secondly a cell of the result-and-hold calculation (CR0 to CR7) receiving the output signals of the same-order switching cell and receiving on a holding input (c0-C7) a retaining signal from the calculation cell of result and retaining immediately lower rank, the result calculation and retaining cell further comprising a result output and a retaining output, characterized in that: - l'unité est divisée en un premier groupe de cellules de traitement (CR0 à CR3) correspondant aux rangs binaires les moins élevés et un deuxième groupe (CR4 à CR7) correspondant aux rangs les plus élevés;; the unit is divided into a first group of processing cells (CR0 to CR3) corresponding to the lowest bit ranks and a second group (CR4 to CR7) corresponding to the highest ranks; - l'unité comprend un multiplexeur (MUX) ayant une entrée de commande de sélection (ces) reliée à la sortie de retenue de la cellule de rang le plus élevé (CR3) du premier groupe, cette sortie de retenue n'étant pas reliée par ailleurs à une entrée de retenue d'une autre cellule, the unit comprises a multiplexer (MUX) having a selection control input (these) connected to the retaining output of the highest ranking cell (CR3) of the first group, this retaining output not being connected in addition to a retaining inlet of another cell, - le deuxième groupe comporte deux ensembles semblables de cellules de calcul de résultat et de retenue (CR'4 à CRI7 et CR"4 à the second group comprises two similar sets of result calculation and retention cells (CR'4 to CRI7 and CR "4 to CR"7) fonctionnant en parallèle, l'entrée de retenue (c'4 à c'7 et C114 à c"7) d'une cellule de calcul de résultat et de retenue étant reliée à la sortie de retenue de la cellule de calcul de résultat et de retenue de rang immédiatement inférieur du même ensemble, sauf en ce qui concerne l'entrée de retenue de la cellule de rang le plus faible de chaque ensemble (CR'4, CR"4) qui reçoit systématiquement un bit 1 pour le premier ensemble et un bit 0 pour le second ensemble,CR "7) operating in parallel, the holding input (c'4 to c'7 and C114 to c'7) of a result calculation and holding cell being connected to the holding output of the control cell. result and retaining calculation of the next lower rank of the same set, except for the retaining input of the lowest ranking cell of each set (CR'4, CR "4) which always receives a bit 1 for the first set and a 0 bit for the second set, - les sorties de résultat (S'4 à S'7 et 5"4 à S"7) des cellules de calcul de résultat et de retenue des deux ensembles du deuxième groupe sont reliées à des entrées respectives du multiplexeur (MUX), celui-ci étant agencé pour transmettre soit toutes les sorties de résultat du premier ensemble (S'4 à S'7) soit toutes les sorties de résultat du second ensemble (S"4 à S"7) selon l'état du signal reçu sur son entrée de commande de sélection (CS).  the result outputs (S'4 to S'7 and 5 "4 to S" 7) of the result calculation and retention cells of the two sets of the second group are connected to respective inputs of the multiplexer (MUX); it being arranged to transmit either all the result outputs of the first set (S'4 to S'7) or all the result outputs of the second set (S "4 to S" 7) according to the state of the signal received on its selection control input (CS).
FR8414564A 1984-09-21 1984-09-21 ARITHMETIC AND LOGIC UNIT WITH ACCELERATED RETENTION PROPAGATION Expired FR2570851B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8414564A FR2570851B1 (en) 1984-09-21 1984-09-21 ARITHMETIC AND LOGIC UNIT WITH ACCELERATED RETENTION PROPAGATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8414564A FR2570851B1 (en) 1984-09-21 1984-09-21 ARITHMETIC AND LOGIC UNIT WITH ACCELERATED RETENTION PROPAGATION

Publications (2)

Publication Number Publication Date
FR2570851A1 true FR2570851A1 (en) 1986-03-28
FR2570851B1 FR2570851B1 (en) 1989-06-23

Family

ID=9307964

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8414564A Expired FR2570851B1 (en) 1984-09-21 1984-09-21 ARITHMETIC AND LOGIC UNIT WITH ACCELERATED RETENTION PROPAGATION

Country Status (1)

Country Link
FR (1) FR2570851B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0653702A1 (en) * 1993-11-15 1995-05-17 Intergraph Corporation Carry chain adder using regenerative push-pull differential logic

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0081632A2 (en) * 1981-11-27 1983-06-22 Kabushiki Kaisha Toshiba Adder circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0081632A2 (en) * 1981-11-27 1983-06-22 Kabushiki Kaisha Toshiba Adder circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0653702A1 (en) * 1993-11-15 1995-05-17 Intergraph Corporation Carry chain adder using regenerative push-pull differential logic
US5487025A (en) * 1993-11-15 1996-01-23 Intergraph Corporation Carry chain adder using regenerative push-pull differential logic

Also Published As

Publication number Publication date
FR2570851B1 (en) 1989-06-23

Similar Documents

Publication Publication Date Title
EP3660849B1 (en) Memory circuit suitable for performing computing operations
FR2472784A1 (en) PARALLEL DATA PROCESSING MATRIX, IN PARTICULAR FOR THE ANALYSIS OF IMAGES TAKEN BY A SATELLITE
FR2588980A1 (en) DIGITAL SIGNAL PROCESSING PROCESSOR COMPRISING SEVERAL MULTIPLIERS
EP0692762B1 (en) Parallel multiplication logical circuit
EP0275765B1 (en) Integrated circuit for digital signal processing
EP0262032B1 (en) Binary adder having a fixed operand, and a parallel/serial multiplier comprising such an adder
EP0703528B1 (en) Electronic circuit for modulo computation in a finite field
EP0051525B1 (en) Logic array with simplified electric programming
EP0773499B1 (en) Fastmultiplier for multiplying a digital signal to a periodic signal
FR2851348A1 (en) MONTGOMERY MODULAR MULTIPLIER AND CORRESPONDING MULTIPLICATION METHOD
EP0678808A1 (en) Digital processing device with instructions for searching the minimum and maximum
FR2570851A1 (en) Arithmetic and logic unit with accelerated carry propagation.
EP0206892A1 (en) Processing method for digital signals representing an original picture
CA2051559C (en) Processor data memory address generator
FR3083885A1 (en) CIRCUIT FOR GENERATING ROTATION FACTORS FOR NTT PROCESSOR
EP0237382A1 (en) Digital sampled signal cosine transforming device
FR2722896A1 (en) PSEUDO-RANDOM CONFIGURATION GENERATOR CIRCUIT
EP0215497A1 (en) Autocorrelation device
EP0341097B1 (en) Recursive adder to calculate the sum of two operands
FR2626691A1 (en) GENERALIZED DIGITAL MULTIPLIER AND DIGITAL FILTER EMPLOYING THE MULTIPLIER
EP0152331B1 (en) Arithmetic logic unit with overflow indicator
EP1027643B1 (en) Pipeline microprocessor with conditional jump in a clock cycle
FR2731813A1 (en) COMPUTER PROCESSOR USING LOGARITHMIC CONVERSION AND METHOD OF USING THE SAME
EP0329545B1 (en) Device for the calculation of parity bits of a sum of two numbers
EP0655685B1 (en) Parity bit calculation device associated with a sum of two numbers

Legal Events

Date Code Title Description
ST Notification of lapse