Brevet FR2835935A1 — publié le 20030815

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. 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. 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. 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 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. Par conséquent, une logique séquentielle à horloge simple a un effet optimal en utilisant une machine à états. 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. 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. 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. Le temps nécessaire pour entrer à l'étape suivante avant l'exécution d'une instruction par le pipeline est 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. 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. 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. 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- 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. 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 en pipeline contrôlée soit toujours maintenue dans son état actif. 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. 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. 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é. 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. 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. La figure 1A représente la relation graphique entre la complexité et le coût de la logique. La figure lu représente la relation graphique entre la complexité de la logique et la structure de la présente invention. 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. La figure 3 est une vue schématique pour déterminer le chemin de passage des données selon la figure 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. 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. 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. 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. La logique en pipeline contrôlée de la présente invention comprend les composants suivants. Une pluralité d'éléments logiques d'assemblage CL. L'entrée et la sortie de chaque élément logique d'assemblage CL sont connectées à des bascules FF respectives. 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- semblage CL différent, tandis que chaque élément logique d'assemblage CL ne fait que traiter une partie du signal d'entrée. 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. 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. 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 I5 sur la figure 3, qui sont des chemins de défaut). Par conséquent, aucun retard n'est produit. 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. 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. 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 horloges différentes peuvent exécuter l'instruction d'entrée (en se référant à la 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. 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. 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". 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). 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. 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é. 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 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. 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. 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. 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. 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. 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é.