FR2835935A1 - Controlled pipeline logic has combined logic units processing input components, flip-flops connected to logic unit inputs/outputs, random signal generator, control bit, maintains data flow - Google Patents

Controlled pipeline logic has combined logic units processing input components, flip-flops connected to logic unit inputs/outputs, random signal generator, control bit, maintains data flow Download PDF

Info

Publication number
FR2835935A1
FR2835935A1 FR0201796A FR0201796A FR2835935A1 FR 2835935 A1 FR2835935 A1 FR 2835935A1 FR 0201796 A FR0201796 A FR 0201796A FR 0201796 A FR0201796 A FR 0201796A FR 2835935 A1 FR2835935 A1 FR 2835935A1
Authority
FR
France
Prior art keywords
logic
controlled pipeline
assembly
flip
controlled
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
FR0201796A
Other languages
French (fr)
Other versions
FR2835935B1 (en
Inventor
Chien Tzu Hou
Hsiu Ying Hsu
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.)
Geneticware Co Ltd
Original Assignee
Geneticware Co Ltd
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 Geneticware Co Ltd filed Critical Geneticware Co Ltd
Priority to FR0201796A priority Critical patent/FR2835935B1/en
Publication of FR2835935A1 publication Critical patent/FR2835935A1/en
Application granted granted Critical
Publication of FR2835935B1 publication Critical patent/FR2835935B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks

Abstract

The device combines or overlaps commands; the flow path input is decided after each stage. It has combined logic units for processing input components, flip-flops connected to logic unit inputs and outputs, a random signal generator and a control bit. As soon as an input is no longer present the random signal generator is activated to continue the simulated signal; the control bit notified to accept simulated signals, thus maintaining data flow.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

La présente invention concerne une structure pour une logique en pipeline contrôlée, dans laquelle la logique en pipeline contrôlée reste toujours active. La logique en pipeline contrôlée ne dévoile pas ses fonctionnalités internes, ce qui permet d'éviter le risque d'une auscultation ou écoute et d'une analyse indésirables.  The present invention relates to a structure for controlled pipeline logic, in which controlled pipeline logic always remains active. Controlled pipeline logic does not reveal its internal functionality, which avoids the risk of unwanted auscultation or listening and analysis.

Une logique séquentielle peut être considérée comme étant formée par une combinaison de chemins logiques et d'éléments de mémoire. Le chemin logique d'assemblage est formé par une pluralité de portes logiques. Le chemin d'assemblage n'a aucune boucle à rétroaction ni élément à mémoire. Sa caractéristique est que la relation entre l'état d'entrée et l'état de sortie est fixé. Sa sortie peut être directement représentée par une forme d'assemblage des signaux d'entrée à ce moment, sans aucune relation envers l'état antérieur.  Sequential logic can be thought of as being formed by a combination of logic paths and memory elements. The assembly logic path is formed by a plurality of logic gates. The assembly path has no feedback loop or memory element. Its characteristic is that the relation between the entry state and the exit state is fixed. Its output can be directly represented by a form of assembly of the input signals at this time, without any relation to the previous state.

Actuellement, la logique séquentielle à horloge centrale, tel qu'un contrôleur, est globalement conçue sous la forme d'une machine à états logiques. La machine à états logiques, ou machine à états, est une machine qui peut rester sous son état présent jusqu'à ce que l'état suivant soit lancé. Par exemple, la logique séquentielle à horloge et la machine à états logiques sont formées par des éléments logiques d'assemblage et un élément à mémoire. L'élément à mémoire peut être une bascule. La bascule est une cellule binaire destinée à stocker un bit d'information. Si l'élément logique reçoit de l'énergie, la bascule installée dans la machine à états peut maintenir son état binaire d'origine jusqu'à ce qu'un signal d'entrée engendre un changement d'état de la bascule.  Currently, sequential central clock logic, such as a controller, is generally designed as a logic state machine. The logical state machine, or state machine, is a machine that can remain in its present state until the next state is started. For example, the sequential clock logic and the logic state machine are formed by assembly logic elements and a memory element. The memory element can be a toggle. The flip-flop is a binary cell intended to store a bit of information. If the logic element receives energy, the flip-flop installed in the state machine can maintain its original binary state until an input signal generates a change of state of the flip-flop.

Les caractéristiques les plus importantes de la logique séquentielle à horloge sont le coût des portes et sa capacité d'intégration. Ces deux facteurs sont en  The most important features of sequential clock logic are the cost of the gates and its ability to integrate. These two factors are in

<Desc/Clms Page number 2><Desc / Clms Page number 2>

relation exponentielle en fonction de la complexité de la logique séquentielle à horloge. En se référant à la figure 1, dans la mesure où la logique séquentielle à horloge est simple, le temps de base ou cadence de la machine à états est alors le plus faible possible et peut être utilisé de la façon la plus aisée qui soit.  exponential relation as a function of the complexity of sequential clock logic. Referring to Figure 1, since the sequential clock logic is simple, the base time or cadence of the state machine is then as small as possible and can be used in the easiest way possible.

Par conséquent, une logique séquentielle à horloge simple a un effet optimal en utilisant une machine à états. Therefore, simple clock sequential logic works best when using a state machine.

Cependant, récemment, avec l'exigence d'avoir une logique séquentielle à horloge de plus en plus compliquée, la machine à états a perdu sa supériorité du faible coût et de la capacité d'intégration. Au contraire, lorsque la complexité logique augmente au-dessus d'un niveau prédéterminé, le coût de la conception d'une logique séquentielle à horloge par rapport à la machine à états est supérieur. However, recently, with the requirement to have increasingly complicated sequential clock logic, the state machine has lost its superiority in terms of low cost and integration capacity. On the contrary, when the logic complexity increases above a predetermined level, the cost of designing a sequential clock logic with respect to the state machine is higher.

Un autre type de contrôleur se fait par utilisation d'un pipeline. Le pipeline est une technologie faisant se chevaucher une pluralité d'instructions. Une instruction est éclatée en plusieurs étapes. En réduisant le temps d'exécution moyen de chaque instruction, on augmente la production d'une unité centrale de traitement.  Another type of controller is through the use of a pipeline. The pipeline is a technology that overlaps a plurality of instructions. An instruction is broken down into several stages. By reducing the average execution time of each instruction, the production of a central processing unit is increased.

Un pipeline divise une instruction en une pluralité d'étapes de pipeline ou segments de pipeline. Chaque étape de pipeline exécute de petites parties de différentes instructions. Les étapes de pipeline sont reliées les unes aux autres pour être formées en pipeline. La différence qu'on a entre le pipeline et la machine à états est que, dans un pipeline, à chaque cycle d'horloge, les données sont transférées de façon descendante, tandis que la machine à états est déterminée selon une condition introduite par le signal d'entrée et maintenue jusqu'à l'introduction de l'instruction suivante. A pipeline divides an instruction into a plurality of pipeline steps or pipeline segments. Each pipeline step executes small parts of different instructions. Pipeline steps are linked together to be formed into a pipeline. The difference between the pipeline and the state machine is that, in a pipeline, at each clock cycle, the data is transferred downwards, while the state machine is determined according to a condition introduced by the input signal and held until the next instruction is entered.

Le temps nécessaire pour entrer à l'étape suivante avant l'exécution d'une instruction par le pipeline est  The time required to enter the next step before the execution of an instruction by the pipeline is

<Desc/Clms Page number 3><Desc / Clms Page number 3>

appelé un cycle machine. De ce fait, la totalité des étapes de pipeline est nécessaire pour transférer l'instruction. La longueur du cycle machine est déterminée par l'étape de pipeline ayant la vitesse la plus lente.  called a machine cycle. Therefore, all of the pipeline steps are required to transfer the instruction. The length of the machine cycle is determined by the slowest speed pipeline stage.

En d'autres termes, le pipeline a un inconvénient en termes de retard temporel. De plus, le pipeline opérant sous une condition d'introduction ou d'instruction telle que les données sont traitées dans une étape de pipeline ou ont été traitées, le mécanisme de traitement du pipeline peut être déduit en auscultant ou en écoutant, puis en analysant. Par conséquent, le mécanisme de traitement est complètement connu. In other words, the pipeline has a disadvantage in terms of time delay. In addition, since the pipeline operates under an input or instruction condition such that the data is processed in a pipeline step or has been processed, the pipeline processing mechanism can be deduced by monitoring or listening to and then analyzing . Therefore, the processing mechanism is completely known.

De manière correspondante, le but principal de la présente invention est de fournir une structure pour une logique en pipeline contrôlée, dans laquelle la logique en pipeline contrôlée de la présente invention présente un temps de cadencement minimal comparable à celui de la machine à états et les avantages procurés par sa nature même et par sa capacité à exécuter les instructions d'une unité centrale de traitement. La logique en pipeline contrôlée reste toujours active. La logique en pipeline contrôlée n'a pas à dévoiler ses fonctionnalités internes, ce qui permet d'éviter d'avoir une auscultation ou écoute et une analyse indésirables.  Correspondingly, the main object of the present invention is to provide a structure for controlled pipeline logic, in which the controlled pipeline logic of the present invention has a minimum clocking time comparable to that of the state machine and the advantages provided by its very nature and by its ability to execute the instructions of a central processing unit. Controlled pipeline logic always remains active. Controlled pipeline logic does not have to reveal its internal functionality, which avoids unwanted auscultation or listening and analysis.

Pour atteindre ce but, la présente invention fournit une structure de logique en pipeline contrôlée, devant mettre en chevauchement une pluralité d'instructions. La structure comprend une pluralité d'éléments logiques d'assemblage soumis à une partie du signal d'entrée. Une entrée et une sortie de chaque élément logique d'assemblage sont reliées à une bascule respective. Un générateur de bruit aléatoire utilise des caractéristiques d'éléments logiques d'assemblage et du courant électrique d'alimentation pour générer des bruits aléatoires afin de commander ledit élément logi-  To achieve this goal, the present invention provides a controlled pipeline logic structure, which must overlap a plurality of instructions. The structure comprises a plurality of assembly logic elements subjected to a part of the input signal. An input and an output of each logical assembly element are connected to a respective flip-flop. A random noise generator uses characteristics of assembly logic elements and electrical supply current to generate random noise in order to control said logic element.

<Desc/Clms Page number 4><Desc / Clms Page number 4>

que d'assemblage pour accepter un signal d'entrée réel ou pour forcer ledit élément logique à accepter un bruit aléatoire. La logique en pipeline contrôlée est toujours dans un état actif, soit par suite de l'introduction d'un éventuel signal d'entrée réel dans la logique en pipeline contrôlée, ou bien la logique en pipeline contrôlée exécute ses fonctionnalités internes. La logique en pipeline contrôlée n'a pas à révéler ses fonctionnalités internes, ce qui permet d'éviter un risque d'auscultation ou d'écoute et d'analyse indésirables.  than assembly to accept a real input signal or to force said logic element to accept random noise. The controlled pipeline logic is always in an active state, either as a result of the introduction of a possible real input signal into the controlled pipeline logic, or else the controlled pipeline logic executes its internal functionalities. Controlled pipeline logic does not have to reveal its internal functionality, which avoids the risk of auscultation or unwanted listening and analysis.

Ainsi, une structure de logique en pipeline contrôlée, selon la présente invention, mettant en chevauchement une pluralité d'instructions, des chemins de passage des données correspondantes étant déterminés selon les signaux d'entrée envoyés à chaque étage du pipeline, comprenant : une pluralité d'éléments logiques d'assemblage soumis à une partie desdits signaux d'entrée ; une entrée et une sortie de chaque élément logique d'assemblage étant reliée à des bascules respectives ; un générateur de bruit aléatoire, pour générer un bruit aléatoire pour simuler un flux d'entrée, introduit dans l'élément logique d'assemblage ; et un interrupteur binaire ayant un état actif et un état inactif, pour commander un élément logique d'assemblage afin d'accepter un signal d'entrée réel ou de se voir imposer d'accepter un bruit aléatoire ; dans laquelle, par les composants mentionnés ci-dessus, une pluralité de chemins de passage de données est constituée et lorsqu'il n'y a aucun flux de signal d'entrée dans ladite logique en pipeline contrôlée, ledit générateur de bruit génère des bruits aléatoires, et l'interrupteur binaire va imposer l'acceptation par ledit élément logique d'assemblage du bruit aléatoire en tant que signal d'entrée, de manière que ladite logique  Thus, a controlled pipeline logic structure, according to the present invention, overlapping a plurality of instructions, paths for the passage of corresponding data being determined according to the input signals sent to each stage of the pipeline, comprising: a plurality assembly logic elements subjected to a part of said input signals; an input and an output of each logical assembly element being connected to respective flip-flops; a random noise generator, for generating random noise to simulate an input stream, introduced into the assembly logic element; and a binary switch having an active state and an inactive state, for controlling an assembly logic element in order to accept an actual input signal or to be forced to accept a random noise; in which, by the above-mentioned components, a plurality of data paths are formed and when there is no input signal flow in said controlled pipeline logic, said noise generator generates noises random, and the binary switch will impose the acceptance by said logic element of assembly of the random noise as an input signal, so that said logic

<Desc/Clms Page number 5><Desc / Clms Page number 5>

en pipeline contrôlée soit toujours maintenue dans son état actif.  in controlled pipeline is always maintained in its active state.

De préférence, la bascule de cette structure de logique en pipeline contrôlée sert à déterminer un état de passage des données.  Preferably, the flip-flop of this controlled pipeline logic structure is used to determine a data passing state.

Avantageusement, les signaux d'horloge de l'élément logique d'assemblage et l'alimentation électrique sont utilisés comme des facteurs générant des bruits aléatoires.  Advantageously, the clock signals of the assembly logic element and the power supply are used as factors generating random noises.

De préférence, avant de déterminer le chemin de passage par la logique en pipeline contrôlée, des données sont envoyées vers un chemin possible quelconque ; et, une fois qu'un chemin réel est déterminé, le passage des données dans un chemin inapproprié est stoppé.  Preferably, before determining the path through the controlled pipeline logic, data is sent to any possible path; and, once an actual path is determined, the passage of data in an inappropriate path is stopped.

Selon la description mentionnée ci-dessus, la bascule sert à déterminer l'exécution d'une certaine condition spécifique au lieu d'être maintenue dans une certaine condition. Le fonctionnement de la présente invention est différent de celui de la bascule que l'on rencontre dans une machine à états. Par conséquent, la logique en pipeline contrôlée présente les avantages de la suppression du retard temporel, de la réduction des coûts et de la complexité de l'agencement, et de l'augmentation des performances.  According to the description mentioned above, the flip-flop is used to determine the execution of a certain specific condition instead of being maintained in a certain condition. The operation of the present invention is different from that of the scale that is encountered in a state machine. Therefore, controlled pipeline logic has the advantages of eliminating time delay, reducing costs and complexity of the layout, and increasing performance.

Les divers buts et avantages de la présente invention vont être mieux aisément compris à la lecture de la description détaillée ci-après, lue en relation avec les dessins annexés.  The various objects and advantages of the present invention will be better understood on reading the detailed description below, read in conjunction with the accompanying drawings.

La figure 1A représente la relation graphique entre la complexité et le coût de la logique. FIG. 1A represents the graphical relationship between the complexity and the cost of the logic.

La figure lu représente la relation graphique entre la complexité de la logique et la structure de la présente invention. The figure read represents the graphical relationship between the complexity of the logic and the structure of the present invention.

<Desc/Clms Page number 6><Desc / Clms Page number 6>

La figure 2 est une vue schématique représentant le con- cept de la logique en pipeline contrôlée selon la présente invention.  Figure 2 is a schematic view showing the concept of controlled pipeline logic according to the present invention.

La figure 3 est une vue schématique pour déterminer le chemin de passage des données selon la figure 2. FIG. 3 is a schematic view for determining the path for the passage of the data according to FIG. 2.

La figure 4 est une vue schématique représentant la sor- tie de l'horloge d'une machine à états et d'une machine en pipeline contrôlée. Figure 4 is a schematic view showing the clock output of a state machine and a controlled pipeline machine.

La figure 5 est une vue schématique représentant l'état de réception du signal par un élément logi- que d'assemblage en tant que signal d'entrée réel introduit dans les éléments logiques. FIG. 5 is a schematic view showing the state of reception of the signal by a logic assembly element as an actual input signal introduced into the logic elements.

La figure 6 est une vue schématique représentant l'état de réception du signal dans le même élément logique d'assemblage, lorsque aucun signal d'entrée ne traverse l'élément logique. FIG. 6 is a schematic view showing the state of reception of the signal in the same assembly logic element, when no input signal passes through the logic element.

En se référant à la figure 2, une vue schématique concernant la logique en pipeline contrôlée de la présente invention est illustrée. Dans le dessin, chaque petite forme carrée est utilisée afin de représenter un petit élément logique d'assemblage CL. Chaque forme rectangulaire représente une bascule FF pour stocker un bit de données. La ligne en pointillé représente un cheminement d'un bit pour faire passer les données par différents chemins possibles.  Referring to Figure 2, a schematic view relating to the controlled pipeline logic of the present invention is illustrated. In the drawing, each small square shape is used to represent a small logical assembly element CL. Each rectangular shape represents a flip-flop FF for storing a bit of data. The dotted line represents a one-bit path for passing the data by different possible paths.

La logique en pipeline contrôlée de la présente invention comprend les composants suivants.  The controlled pipeline logic of the present invention includes the following components.

Une pluralité d'éléments logiques d'assemblage CL.  A plurality of logical assembly elements CL.

L'entrée et la sortie de chaque élément logique d'assemblage CL sont connectées à des bascules FF respectives. The input and output of each assembly logic element CL are connected to respective flip-flops FF.

Chaque bascule FF sert à déterminer le transfert des données qui peut être en un état actif (exécution) ou inactif (pas en exécution). Dans chaque chemin propre, les données vont passer par chaque élément logique d'as- Each flip-flop FF is used to determine the transfer of the data which can be in an active state (execution) or inactive state (not in execution). In each proper path, the data will pass through each logical element of as-

<Desc/Clms Page number 7><Desc / Clms Page number 7>

semblage CL différent, tandis que chaque élément logique d'assemblage CL ne fait que traiter une partie du signal d'entrée.  different CL appearance, while each CL assembly logic element only processes part of the input signal.

Un générateur de bruit aléatoire 20 (voir figure 5) utilise des caractéristiques d'entrée venant d'une horloge de l'élément logique d'assemblage CL et de l'alimentation électrique, pour générer des bruits aléatoires afin de simuler des entrées qui passent dans l'élément logique d'assemblage CL.  A random noise generator 20 (see FIG. 5) uses input characteristics coming from a clock of the assembly logic element CL and from the power supply, to generate random noises in order to simulate inputs which pass in the logical assembly element CL.

Un interrupteur, ou commutateur, binaire A utilise ses états actifs et inactifs pour contrôler l'élément logique d'assemblage CL, afin d'accepter un signal d'entrée réel ou bien d'imposer d'accepter un bruit aléatoire.  A binary switch, or switch, A uses its active and inactive states to control the assembly logic element CL, in order to accept a real input signal or else to impose to accept a random noise.

Ci-après, la figure 3 est utilisée comme exemple afin de décrire le fonctionnement de la logique en pipeline contrôlée 10. Elle présente les avantages suivants : 1. La logique en pipeline contrôlée 10 met en chevauche- ment une pluralité d'instructions. Le chemin de pas- sage est déterminé par l'entrée à chaque étape de pipeline. Les différents signaux d'entrée de la bas- cule FF vont induire le passage des données vers un chemin différent. Bien-sûr, de façon générale, cer- taines entrées extérieures (Il à 17) sont attendues, pour déterminer le chemin de passage effectif des données. Cependant, outre le fait d'attendre, le pipeline exécute toujours d'autres opérations. Avant de déterminer le chemin de passage par la logique en pipeline contrôlée 10, les données peuvent passer par un chemin possible éventuel (en se référant à la figure 2). Une fois qu'un chemin est déterminé, les données allant à un chemin non retenu ou de défaut vont être stoppées (telles que les entrées Il, 14, et  Below, Figure 3 is used as an example to describe the operation of controlled pipeline logic 10. It has the following advantages: 1. Controlled pipeline logic 10 overlaps a plurality of instructions. The path is determined by the entry at each stage of the pipeline. The various input signals of the flip-flop FF will induce the passage of the data towards a different path. Of course, in general, some external inputs (II to 17) are expected, to determine the effective path of the data. However, in addition to waiting, the pipeline always performs other operations. Before determining the path through the controlled pipeline logic 10, the data may pass through a possible possible path (with reference to Figure 2). Once a path is determined, data going to an unsuccessful or default path will be stopped (such as the entries Il, 14, and

<Desc/Clms Page number 8> <Desc / Clms Page number 8>

I5 sur la figure 3, qui sont des chemins de défaut). I5 in Figure 3, which are fault paths).

Par conséquent, aucun retard n'est produit.  Therefore, no delay is produced.

2. La logique en pipeline contrôlée 10 est formée par une pluralité de petits éléments logiques d'assem- blage CL au lieu d'un grand élément logique d'assem- blage dans la machine à états, afin de recevoir tou- tes les entrées. On va supposer qu'une logique en pipeline contrôlée 10 traite en totalité 10 signaux d'entrée. Les éléments logiques d'assemblage CL qu'on trouve dans la logique en pipeline contrôlée 10 n'ont pas à exécuter la totalité des 10 signaux d'entrée comme ce qui se passe dans la machine à états, alors que chaque élément logique d'assemblage Cl est res- ponsable du signal d'entrée, c'est-à-dire à un signal d'entrée ou moins de 10 signaux d'entrée. 2. Controlled pipeline logic 10 is formed by a plurality of small assembly logic elements CL instead of a large assembly logic element in the state machine, in order to receive all inputs . We will assume that a controlled pipeline logic 10 fully processes 10 input signals. The CL assembly logic elements found in controlled pipeline logic 10 do not have to execute all of the 10 input signals like what is happening in the state machine, whereas each logic element of assembly C1 is responsible for the input signal, ie for an input signal or less than 10 input signals.

3. Le petit élément logique d'assemblage CL qu'on a dans la logique en pipeline contrôlée 10 n'est soumis qu'à une partie du signal d'entrée. Par conséquent, seul un certain élément logique d'assemblage CL est en attente, la logique en pipeline contrôlée 10 peut accepter d'exécuter l'instruction d'entrée qui cor- respond à la logique d'assemblage. Par exemple, on va supposer qu'une certaine logique a trois cycles, et que chaque cycle est constitué par cinq signaux d'horloge. Si cette logique est conçue par la machine à états, 3 cycles ont besoin de 15 signaux d'horloge. 3. The small assembly logic element CL that we have in controlled pipeline logic 10 is only subjected to part of the input signal. Consequently, only a certain assembly logic element CL is pending, the controlled pipeline logic 10 can accept to execute the input instruction which corresponds to the assembly logic. For example, we will assume that a certain logic has three cycles, and that each cycle consists of five clock signals. If this logic is designed by the state machine, 3 cycles need 15 clock signals.

En outre, le cycle suivant ne va pas démarrer avant que le cycle antérieur ne soit achevé. Au contraire, si la logique en pipeline contrôlée 10 est utilisée pour concevoir le chemin définitif, on ne se sert uniquement que de sept cycles. Une fois que le cycle
1 est accompli, alors le cycle 2 lance le signal d'horloge correspondant sans attendre que l'horloge achève la totalité du cycle 1. Trois cycles ayant des
In addition, the next cycle will not start until the previous cycle is completed. On the contrary, if the controlled pipeline logic 10 is used to design the final path, only seven cycles are used. Once the cycle
1 is completed, then cycle 2 starts the corresponding clock signal without waiting for the clock to complete the entire cycle 1. Three cycles with

<Desc/Clms Page number 9><Desc / Clms Page number 9>

horloges différentes peuvent exécuter l'instruction d'entrée (en se référant à la figure 4).  Different clocks can execute the input instruction (referring to Figure 4).

4. La logique séquentielle d'horloge formée par un grand nombre de petits éléments logiques d'assemblage et d'éléments à mémoire (telle que la bascule FF) peut être conçue plus aisément qu'une machine à états. Par ailleurs, l'élément à mémoire appartenant à la logi- que en pipeline contrôlée 10 ne fait que déterminer le fait qu'elle soit dans un état actif ou inactif dans certains environnements. De plus, chaque petit élément logique d'assemblage CL ne fait que traiter une partie du signal d'entrée, et par conséquent, la porte d'entrée non utilisée n'est pas incluse dans le processus. La complexité de la logique est réduite. 4. The sequential clock logic formed by a large number of small assembly logic elements and memory elements (such as the flip-flop FF) can be designed more easily than a state machine. Furthermore, the memory element belonging to the controlled pipeline logic 10 only determines whether it is in an active state or inactive in certain environments. In addition, each small CL assembly logic element only processes part of the input signal, and therefore the unused gateway is not included in the process. The complexity of the logic is reduced.

5. La machine à états discrets maintient son état jus- qu'à réception du prochain signal d'entrée. La repré- sentation de la logique en pipeline contrôlée est discontinue, ce qui peut être en un état actif ou inactif. Bien que, une fois les signaux d'entrée ou d'instructions traversent le système, la logique en pipeline contrôlée peut exécuter le signal d'entrée ou l'instruction d'une façon continue. Cependant, si aucun signal d'entrée ne passe dans le système, la logique en pipeline contrôlée 10 est inactive ou au repos. 5. The discrete state machine maintains its state until the next input signal is received. The representation of controlled pipeline logic is discontinuous, which can be in an active or inactive state. Although, once the input or instruction signals pass through the system, the controlled pipeline logic can execute the input signal or instruction continuously. However, if no input signal passes through the system, the monitored pipeline logic 10 is inactive or at rest.

Pour protéger la logique séquentielle à horloge du risque d'une auscultation et d'une analyse indésirables dans la présente invention, un générateur de bruit aléatoire 20 est ajouté aux blocs de fonction de la logique en pipeline contrôlée 10. De plus, chaque élément logique d'assemblage CL de la logique en pipeline contrôlée 10 se voit annexé un interrupteur binaire A. Dans ce mode de réalisation, dans un état inactif, cet interrupteur binaire est fixé à"O", tandis que dans son état actif, il est fixé à"l".  To protect clock sequential logic from the risk of unwanted auscultation and analysis in the present invention, a random noise generator 20 is added to the function blocks of controlled pipeline logic 10. In addition, each logic element CL assembly of the controlled pipeline logic 10 is annexed a binary switch A. In this embodiment, in an inactive state, this binary switch is set to "O", while in its active state, it is fixed to "l".

<Desc/Clms Page number 10> <Desc / Clms Page number 10>

Par souci de brièveté, on va ci-après uniquement décrire un élément logique d'assemblage CL dans la logique en pipeline contrôlée 10. Dans un état général, lorsque des signaux d'entrée passent dans la logique, le générateur de bruit aléatoire 20 est inactif et l'interrupteur binaire A de l'élément logique d'assemblage CL est à"O", précisément dans un état inactif. A ce moment, l'élément logique d'assemblage CL ne fait que recevoir des signaux d'entrée réels (cf. figure 5).  For the sake of brevity, we will hereinafter only describe an assembly logic element CL in the controlled pipeline logic 10. In a general state, when input signals pass through the logic, the random noise generator 20 is inactive and the binary switch A of the assembly logic element CL is at "O", precisely in an inactive state. At this time, the assembly logic element CL only receives real input signals (cf. FIG. 5).

En se référant à la figure 6, lorsque la logique en pipeline contrôlée 10 ne reçoit pas un signal d'entrée réel, le générateur de bruit aléatoire 20 va simuler un signal d'entrée devant transiter dans la logique en pipeline contrôlée 10. L'interrupteur binaire A va être basculé de son état actif à"l", de sorte que l'élément logique d'assemblage CL ne fait que recevoir un signal d'entrée constitué du bruit aléatoire.  Referring to Figure 6, when the controlled pipeline logic 10 does not receive an actual input signal, the random noise generator 20 will simulate an input signal to pass through the controlled pipeline logic 10. The binary switch A will be toggled from its active state to "l", so that the assembly logic element CL only receives an input signal consisting of random noise.

Par conséquent, des personnes non autorisées ne peuvent pas percevoir le fait que la logique en pipeline contrôlée soit en état actif malgré le fait qu'il y ait transit d'un éventuel signal d'entrée réel dans la logique en pipeline contrôlée 10 ou que la logique en pipeline contrôlée 10 exécute des fonctionnalités internes. En d'autres termes, cela n'a aucun sens, à partir du comportement de la logique en pipeline contrôlée 10, de déduire son fonctionnement interne. Grâce à ces caractéristiques, la logique en pipeline contrôlée de la présente invention est supérieure à la machine à états entre autre du point de vue des performances et de la sécurité.  Therefore, unauthorized persons cannot perceive that the controlled pipeline logic is in an active state despite the fact that there is transit of a possible real input signal in the controlled pipeline logic 10 or that the controlled pipeline logic 10 performs internal functionality. In other words, it makes no sense, from the behavior of the controlled pipeline logic 10, to deduce its internal functioning. Thanks to these characteristics, the controlled pipeline logic of the present invention is superior to the state machine, among other things from the point of view of performance and safety.

En résumé, la logique en pipeline contrôlée selon la présente invention présente le temps de cadencement minimal de la machine à états et bénéficie de l'avantage de sa structure et des avantages procurés par sa capacité à exécuter des instructions d'une unité centrale de  In summary, the controlled pipeline logic according to the present invention presents the minimum clocking time of the state machine and benefits from the advantage of its structure and the advantages provided by its ability to execute instructions from a central processing unit.

<Desc/Clms Page number 11><Desc / Clms Page number 11>

traitement. De plus, grâce à l'installation du générateur de bruit aléatoire et des interrupteurs binaires, la logique en pipeline contrôlée peut être toujours entretenue en un état actif. La logique en pipeline contrôlée ne dévoile pas ses fonctionnalités internes, ce qui permet d'éviter une auscultation et une analyse indésirables. La présente invention offre une amélioration par rapport aux inconvénients de la machine à états et du pipeline de l'art antérieur.  treatment. In addition, thanks to the installation of the random noise generator and binary switches, the controlled pipeline logic can always be maintained in an active state. Controlled pipeline logic does not reveal its internal functionality, which avoids unwanted auscultation and analysis. The present invention offers an improvement over the disadvantages of the state machine and the pipeline of the prior art.

Bien que la présente invention ait été décrite en référence à des modes de réalisation préférés, il va être évident que l'invention n'est pas limitée aux détails décrits de celle-ci. Diverses substitutions et modifications ont été suggérées dans la description précédente et d'autres vont apparaître à l'Homme de l'art ordinaire. Par conséquent, toutes ces substitutions et modifications sont destinées à être englobées dans le champ de l'invention, tel que défini par les revendications annexées. Although the present invention has been described with reference to preferred embodiments, it will be apparent that the invention is not limited to the described details thereof. Various substitutions and modifications have been suggested in the foregoing description and others will appear to those of ordinary skill in the art. Therefore, all of these substitutions and modifications are intended to be encompassed within the scope of the invention, as defined by the appended claims.

Claims (4)

REVENDICATIONS 1. Une structure de logique en pipeline contrôlée mettant en chevauchement une pluralité d'instructions, des chemins de passage des données correspondantes étant déterminés selon les signaux d'entrée envoyés à chaque étage du pipeline, comprenant : une pluralité d'éléments logiques d'assemblage soumis à une partie desdits signaux d'entrée ; une entrée et une sortie de chaque élément logique d'assemblage étant reliée à des bascules respectives ; un générateur de bruit aléatoire, pour générer un bruit aléatoire pour simuler un flux d'entrée, introduit dans l'élément logique d'assemblage ; et un interrupteur binaire ayant un état actif et un état inactif, pour commander un élément logique d'assemblage afin d'accepter un signal d'entrée réel ou de se voir imposer d'accepter un bruit aléatoire ; dans laquelle, par les composants mentionnés ci-dessus, une pluralité de chemins de passage de données est constituée et lorsqu'il n'y a aucun flux de signal d'entrée dans ladite logique en pipeline contrôlée, ledit générateur de bruit génère des bruits aléatoires, et l'interrupteur binaire va imposer l'acceptation par ledit élément logique d'assemblage du bruit aléatoire en tant que signal d'entrée, de manière que ladite logique en pipeline contrôlée soit toujours maintenue dans son état actif. 1. A controlled pipeline logic structure overlapping a plurality of instructions, corresponding data paths being determined according to the input signals sent to each stage of the pipeline, comprising: a plurality of logic elements assembly subjected to a part of said input signals; an input and an output of each logical assembly element being connected to respective flip-flops; a random noise generator, for generating random noise to simulate an input stream, introduced into the assembly logic element; and a binary switch having an active state and an inactive state, for controlling an assembly logic element in order to accept an actual input signal or to be forced to accept a random noise; in which, by the above-mentioned components, a plurality of data paths are formed and when there is no input signal flow in said controlled pipeline logic, said noise generator generates noises random, and the binary switch will impose the acceptance by said logic element of assembly of the random noise as an input signal, so that said controlled pipeline logic is always maintained in its active state. 2. Structure de logique en pipeline contrôlée selon la revendication 1, dans laquelle ladite bascule sert à déterminer un état de passage des données.  2. Controlled pipeline logic structure according to claim 1, wherein said flip-flop is used to determine a data passing state. 3. Structure de logique en pipeline contrôlée selon la revendication 1, dans laquelle les signaux d'horloge de l'élément logique d'assemblage et l'alimentation électrique sont utilisés comme des facteurs générant des bruits aléatoires.  The controlled pipeline logic structure of claim 1, wherein the clock signals of the assembly logic element and the power supply are used as factors generating random noise. <Desc/Clms Page number 13> <Desc / Clms Page number 13> 4. Structure de logique en pipeline contrôlée selon la revendication 1, dans laquelle, avant de déterminer le chemin de passage par la logique en pipeline contrôlée, des données sont envoyées vers un chemin possible quelconque ; et, une fois qu'un chemin réel est déterminé, le passage des données dans un chemin inapproprié est stoppé. The controlled pipeline logic structure of claim 1, wherein, before determining the path through the controlled pipeline logic, data is sent to any possible path; and, once an actual path is determined, the passage of data in an inappropriate path is stopped.
FR0201796A 2002-02-14 2002-02-14 STRUCTURE FOR A CONTROLLED PIPELINE LOGIC Expired - Fee Related FR2835935B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0201796A FR2835935B1 (en) 2002-02-14 2002-02-14 STRUCTURE FOR A CONTROLLED PIPELINE LOGIC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0201796A FR2835935B1 (en) 2002-02-14 2002-02-14 STRUCTURE FOR A CONTROLLED PIPELINE LOGIC

Publications (2)

Publication Number Publication Date
FR2835935A1 true FR2835935A1 (en) 2003-08-15
FR2835935B1 FR2835935B1 (en) 2004-04-16

Family

ID=27620178

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0201796A Expired - Fee Related FR2835935B1 (en) 2002-02-14 2002-02-14 STRUCTURE FOR A CONTROLLED PIPELINE LOGIC

Country Status (1)

Country Link
FR (1) FR2835935B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740087A (en) * 1996-05-31 1998-04-14 Hewlett-Packard Company Apparatus and method for regulating power consumption in a digital system
WO1999063696A1 (en) * 1998-06-03 1999-12-09 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
FR2807591A1 (en) * 2000-04-06 2001-10-12 Gemplus Card Int COUNTER-MEASUREMENT PROCESS FOR A MICRO-CONTROLLER BASED ON AN "PIPELINE" ARCHITECTURE
EP1158384A1 (en) * 2000-05-22 2001-11-28 Infineon Technologies AG Security data processing unit and method therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740087A (en) * 1996-05-31 1998-04-14 Hewlett-Packard Company Apparatus and method for regulating power consumption in a digital system
WO1999063696A1 (en) * 1998-06-03 1999-12-09 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
FR2807591A1 (en) * 2000-04-06 2001-10-12 Gemplus Card Int COUNTER-MEASUREMENT PROCESS FOR A MICRO-CONTROLLER BASED ON AN "PIPELINE" ARCHITECTURE
EP1158384A1 (en) * 2000-05-22 2001-11-28 Infineon Technologies AG Security data processing unit and method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KATO T ET AL: "A DESIGN FOR MODULAR EXPONENTIATION COPROCESSOR IN MOBILE TELECOMMUNICATION TERMINALS", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. 2ND INTERNATIONAL WORKSHOP, CHES 2000, WORCHESTER, MA, AUG. 17 - 18, 2000 PROCEEDINGS, LECTURE NOTES IN COMPUTER SCIENCE, BERLIN: SPRINGER, DE, vol. 1965, 17 August 2000 (2000-08-17), pages 216 - 228, XP001049135, ISBN: 3-540-41455-X *

Also Published As

Publication number Publication date
FR2835935B1 (en) 2004-04-16

Similar Documents

Publication Publication Date Title
EP2659765B1 (en) Portable electric tool
EP3242398B1 (en) Generator of numbers of oscillations
FR2724074A1 (en) DIGITAL COMPRESSED SOUND RECORDER.
EP0459863B1 (en) Integrated circuit with mode detection pin
FR2835935A1 (en) Controlled pipeline logic has combined logic units processing input components, flip-flops connected to logic unit inputs/outputs, random signal generator, control bit, maintains data flow
EP3242401B1 (en) Pulse counting circuit
FR2757713A1 (en) Voltage controlled initialisation device for integrated circuit
EP1417582B1 (en) Electronic circuit assembly comprising means for decontaminating error-contaminated parts
FR2789501A1 (en) Method for reducing a power consumption of micro-controller by activating internal circuit for generation of oscillating signal due to internal interruption which brings back micro-controller to its operation mode
FR2757712A1 (en) IC power supply voltage level monitoring device
FR3064136A1 (en) CONFIGURABLE DELAY LINE
FR2844892A1 (en) Method of optimizing the functioning of real-time clock for microcontrollers, includes generation of re-initializing command when duration of separation of successive commands exceeds particular range
EP1818942A1 (en) Non-volatile memory device
EP0229433B1 (en) Combinational logic circuit test device
EP2146433A2 (en) Device for backing up the configuration of terminals of an integrated circuit, and method of implementing the device
EP0889481B1 (en) Improvements of sequential access memories
FR2787212A1 (en) CIRCUIT FOR RESETTING A PAIR OF DATA BUSES OF A SEMICONDUCTOR MEMORY DEVICE
EP2612157B1 (en) Method and device for controlling the latency of electronic circuits
EP1102158B1 (en) Apparatus and procedure for controlling the operation of an electronic system in a &#34;grey zone&#34;
EP0169089B1 (en) Elementary data processing device
FR2855627A1 (en) INTEGRATED CIRCUIT AND METHOD FOR MAKING IT WORK
FR2810438A1 (en) Detection of use of secure circuits in a smart card
FR2872944A1 (en) TEST MODE DATA MEDIUM
EP3923150B1 (en) Method for managing requests for access to a random access memory and corresponding system
EP0437387A1 (en) Microprocessor integrated circuit with internal ROM and external EPROM working mode

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20051031