FR2759176A1 - Micro-processeur faisant une prediction d'adresse rapide - Google Patents

Micro-processeur faisant une prediction d'adresse rapide Download PDF

Info

Publication number
FR2759176A1
FR2759176A1 FR9701456A FR9701456A FR2759176A1 FR 2759176 A1 FR2759176 A1 FR 2759176A1 FR 9701456 A FR9701456 A FR 9701456A FR 9701456 A FR9701456 A FR 9701456A FR 2759176 A1 FR2759176 A1 FR 2759176A1
Authority
FR
France
Prior art keywords
address
instruction
register
program memory
circuit
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
FR9701456A
Other languages
English (en)
Other versions
FR2759176B1 (fr
Inventor
Jose Sanches
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.)
STMicroelectronics SA
Original Assignee
SGS Thomson Microelectronics SA
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 SGS Thomson Microelectronics SA filed Critical SGS Thomson Microelectronics SA
Priority to FR9701456A priority Critical patent/FR2759176B1/fr
Publication of FR2759176A1 publication Critical patent/FR2759176A1/fr
Application granted granted Critical
Publication of FR2759176B1 publication Critical patent/FR2759176B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

L'invention concerne un processeur (1) et un procédé de prédiction d'adresse pour ledit processeur (1) comportant un circuit de décodage d'instruction (3) une mémoire de programme (2) , un registre d'adresse (9) et des moyens pour mettre à jour (10 et 11) ledit registre d'adresse (9) dans lequel une nouvelle adresse est fournie à la mémoire de programme (2) par les moyens de mise à jour (10 et 11) avant que ladite nouvelle adresse soit stockée dans le registre d'adresse (9) .

Description

Micro-Brocesseur faisant une prédiction d'adresse rapide
L'invention concerne un micro-processeur faisant une prédiction d'adresse rapide. L'invention peut s'appliquer à tous les micro-processeurs de petite dimension fonctionnant avec des fréquences d'horloge un peu inférieures aux fréquences limites fixées par la technologie de réalisation du processeur.
Il existe à l'heure actuelle une très grande variété de micro-processeurs. Un premier point commun est qu'ils disposent tous d'au moins un registre d'adresse qui mémorise l'adresse de la prochaine instruction. Un deuxième point commun est qu'ils disposent tous d'au moins une instruction de branchement afin de pouvoir effectuer des boucles et des sauts dans le déroulement d'un programme. Depuis longtemps, on connaît le problème de l'instruction qui peut être invalide après branchement. Ce problème est d'ailleurs très accentué avec les architectures de type Pipe-Line où plusieurs instructions peuvent être invalides. Or comme l'homme du métier le sait, il n'est pas question d'utiliser des instructions qui risquent d'être non valides d'où une perte de cycles d'horloge lors du déroulement du programme.
Une solution "logicielle" est de faire exécuter une
(ou des) instruction(s) qui est (sont) indépendante(s) du branchement si c'est possible. Cette solution est assez lourde à gérer et apporte des contraintes assez importantes sur les compilateurs et en augmente la complexité. L'instruction NOP (de l'anglais No OPeration), bien connu de l'homme du métier est souvent placée après une instruction de branchement car il n'était pas possible (ou trop compliqué) de placer d'autres instructions.
Une autre solution qui s'est développée avec les architecture Pipe-Line est la prédiction d'adresse.
Plusieurs registres d'adresses sont utilisés pour lire à l'avance le contenu de différentes adresses probables afin de commencer à traiter parallèlement plusieurs instructions dont une seule sera effectivement achevée,
Cependant la prédiction d'adresse ne permet pas toujours de réagir instantanément et souvent apparait la perte d'un cycle d'horloge lors du branchement (ce qui est mieux que la perte de 3 ou 4 cycles d'horloge).
En fait la quasi totalité des micro-processeurs et dérivés existant à l'heure actuelle utilisent des éléments qui ont été conçus pour fonctionner à une fréquence d'horloge qui soit proche de la fréquence maximale autorisée par la technologie. Les mises à jour des registres d'adresse sont faites de manière synchrone car lorsque l'on travaille à des fréquences proches de la limite imposée par la technologie les durées de calcul doivent être masquées au maximum. Pour ne pas risquer d'avoir une adresse un peu trop lentement le calcul de l'adresse s'effectue en général pendant la lecture précédente d'où la perte d'un cycle d'horloge.
A l'heure actuelle des micro-contrôleurs utilisent des coeurs de micro-processeurs un peu plus anciens qui ont été transposés dans des technologies plus rapides à des fréquences plus élevées. Des modifications sont effectuées afin de rendre le coeur de micro-processeur plus performant. Néanmoins, pour des raisons de fiabilité de fonctionnement, on continue de mettre à jour les registres d'adresse de manière synchrone en effectuant les calculs pendant la lecture de l'adresse précédente.
L'invention propose de mettre à jour les registres d'adresse pendant le cycle où les adresses que l'on rentre sont utilisées pour lire une mémoire. C'est à dire que lors du début de cycle de lecture ou d'écriture l'adresse présente au niveau du décodeur d'adresse de la mémoire n'est pas stabilisé.
L'invention a pour objet un processeur comportant un circuit de décodage d'instruction, une mémoire de programme, un registre d'adresse et des moyens pour mettre à jour ledit registre d'adresse, les moyens de mise à jour étant placés entre la sortie du registre d'adresse et une entrée d'adresse de la mémoire de programme afin que le registre d'adresse soit mis à jour après une réception d'une nouvelle adresse par la mémoire de programme.
L'invention a également pour objet un procédé de prédiction d'adresse pour un processeur comportant un circuit de décodage d'instruction, une mémoire de programme, un registre d'adresse et des moyens pour mettre à jour ledit registre d'adresse, dans lequel une nouvelle adresse est fournie à la mémoire de programme par les moyens de mise à jour avant que ladite nouvelle adresse soit stockée dans le registre d'adresse.
L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre, ladite description faisant référence aux dessins annexés parmi lesquels:
la figure 1 représente une structure de processeur selon l'état de l'art,
la figure 2 représente l'amélioration apportée par l'invention, et
la figure 3 représente des chronogrammes mettant en valeur l'intérêt de l'invention.
Le circuit de la figure 1 représente un processeur 1 de type micro-contrôleur selon l'état de l'art. Afin de simplifier les schéma et la description, certains signaux de synchronisation ont été omis. De plus l'homme de métier comprendra que lorsque l'on parle de sorties ou d'entrées qui concernent des informations sur plusieurs bits (adresses, instructions, données,...) il s'agit en fait d'entrées et de sorties parallèles.
Le processeur 1 comporte une mémoire de programme 2 qui peut être de type RAM ou de type ROM, un circuit de décodage d'instruction 3, une mémoire de données 4, une unité arithmétique et logique 5 (ALU) , un registre d'instruction 6, un accumulateur 7, un circuit de gestion d'adresse 8. Le circuit de gestion d'adresse 8 comporte un registre d'adresse 9, un multiplexeur 10, et un circuit d'incrémentation 11.
La mémoire de programme 2 comporte une sortie de donnée connectée à une entrée d'instruction du circuit de décodage 3. Le circuit de décodage 3 comporte une sortie d'adresse de donnée 4 connectée à une entrée d'adresse de la mémoire de données 4. Le circuit de décodage 3 comporte une sortie d'instructions connectée à une entrée d'instruction du registre d'instruction 6. Le circuit de décodage 3 comporte une sortie d'adresse de branchement et une sortie de sélection respectivement connectées à une entrée d'adresse de branchement et à une entrée de sélection du circuit de gestion 8. Le circuit de gestion 8 comporte une sortie d'adresse connectée à une entrée d'adresse de la mémoire de programme 2. Le registre d'instruction 6 comporte une sortie d'instruction 6 connectée à une entrée d'instruction de l'ALU 5. L'ALU 5 comporte une sortie d'indicateur connectée à une entrée d'indicateur du circuit de décodage 3. L'ALU 5 comporte une sortie de donnée connectée d'une part à une entrée de donnée de l'accumulateur 7 et d'autre part à une entrée de donnée de la mémoire de données 4. Une sortie de donnée de l'accumulateur 7 est connectée à une première entrée de donnée de l'ALU 5. Une sortie de donnée de la mémoire de donnée 4 est connectée à une deuxième entrée de donnée de l'ALU 5.
D'autre part, l'entrée d'adresse de branchement et l'entrée de sélection du circuit de gestion 8 sont respectivement connectées à une première entrée d'adresse et à une entrée de sélection du multiplexeur 10. Une sortie d'adresse du multiplexeur 10 est connectée à une entrée d'adresse du registre d'adresse 9. Une sortie d'adresse du registre d'adresse 9 est connectée d'une part à la sortie d'adresse du circuit de gestion 8 et d'autre part à une entrée d'adresse du circuit d'incrémentation 11. Une sortie d'adresse du circuit d'incrémentation est connectée à une deuxième entrée du multiplexeur 10.
Sur la figure 2 est représenté le circuit de gestion 8 modifié selon l'invention. Le circuit de gestion comporte les mêmes éléments que le circuit de gestion 8 de l'état de la technique mais la sortie d'adresse du circuit de gestion 8 est connectée à la sortie du multiplexeur 10 au lieu de la sortie d'adresse du registre d'adresse 9. Cependant, pour qu'un tel perfectionnement fonctionne il faut prendre en compte la fréquence de fonctionnement du processeur et la technologie utilisée pour le réaliser.
Le fait de shunter le registre d'adresse 9 cause une instabilité sur l'adresse à prendre en compte à l'entrée d'adresse de la mémoire de programme 2. Or si l'on utilise une technologie particulièrement rapide du type CMOS 0,5 Um ou 0,35 ym avec une fréquence d'horloge de l'ordre de 40 MHz, l'instabilité ne perturbe pas le fonctionnement du processeur 1. On peut considérer d'une manière plus générale que si un processeur est destiné à être utilisé à une fréquence d'horloge inférieure à 25% de la fréquence d'horloge maximale autorisé par la technologie alors un tel système peut s'appliquer sans aucun problème. Si par contre on désire utiliser un tel système à une vitesse plus élevée que celle qui est indiquée précédemment alors il faudra vérifier qu'il n'apparaît pas de problème temporel avec la mémoire.
Les chronogrammes de la figure 3 permettent d'expliquer le fonctionnement du processeur de la figure 1 dans un exemple concret. De plus, ces chronogrammes font apparaître plus clairement l'avantage procuré par l'invention par rapport à l'état de la technique.
Sur ces chronogramme, on a représenté la succession de deux instructions bien connues de l'homme du métier:
LDA et BEQ. LDA est une instruction de chargement de données. Dans notre exemple, on utilise un adressage où l'adresse de la donnée est comprise dans le mot d'instruction. LDA consiste à lire une donnée dans la mémoire de donnée 4 et à la stocker dans l'accumulateur 7 par l'intermédiaire de 1'ALU 5. BEQ est une instruction de branchement conditionnel à une adresse Y de la mémoire de programme qui est donnée, dans notre exemple, avec le mot d'instruction. BEQ effectue le branchement du programme à l'adresse Y uniquement si la dernière donnée qui est passée dans l'ALU 7 était nulle. Afin de mieux mettre en évidence le problème posé, l'homme du métier remarquera que l'on utilise une structure de type pipeline ayant une profondeur d'un cycle d'horloge.
Sur la figure 3, on a indiqué des premier à cinquième cycles d'horloge 12 à 16 qui cadencent le système (notamment les entrées de donnée dans les différents registres) . La partie supérieure 17 des chronogrammes représente l'enchaînement des instructions dans le processeur 1 selon l'état de la technique. La partie inférieure 18 des chronogrammes représente l'enchaînement des instructions dans le processeur 1 modifié selon l'invention comme indiqué sur la figure 2.
On s'intéressera d'abord à la partie 17. Lors du premier cycle 12, l'adresse présente à l'entrée d'adresse de la mémoire de programme a la valeur PC pendant toute la durée du premier cycle 12. Pendant ce premier cycle 12 le circuit d'incrémentaion 11 va incrémenter l'adresse de une unité, le circuit de décodage 3 va décoder l'instruction précédente et indiquer après un délai que l'on sélectionne l'adresse fournie par le circuit d'incrémentation 11, l'ALU 5 va exécuter l'instruction présente dans le registre d'instruction 6.
Lors d'un premier front montant 19, le registre d'adresse 9 va charger la nouvelle adresse PC+1 et la présenter quasi-instantanément à l'entrée d'adresse de la mémoire de programme 2 pour toute la durée du deuxième cycle 13; le registre d'instruction 6 va charger l'opération à exécuter dans l'ALU 5 qui correspond à l'instruction décodée précédemment dans le circuit de décodage 3; et le circuit de décodage 3 va charger l'instruction présente à l'adresse PC. Après un certain temps, le circuit de décodage 3 a décodé l'instruction
LDA.
Lors d'un deuxième front montant 20, le registre d'adresse charge l'adresse PC+2; le registre d'instruction 6 charge l'opération "load" qui correspond à envoyer la donnée présente sur la première entrée; le circuit de décodage 3 fournit à l'entrée de la mémoire de donnée 4 l'adresse correspondant à l'instruction LDA et charge l'instruction correspondant à l'adresse PC+1.
Après un premier temps de propagation, le circuit de décodage 3 décode qu'il s'agit de l'instruction BEQ à l'adresse Y; et l'ALU 5 indique sur sa sortie d'indicateur que la donnée présente à sa sortie est égale à zéro. Après un deuxième temps de propagation, le circuit de décodage va indiquer que la prochaine adresse est Y au circuit de gestion 8.
Lors d'un troisième front montant 21, le registre d'adresse charge l'adresse Y; l'accumulateur 7 charge la donnée qui était présente à la sortie de 1'ALU 5 (en l'occurrence zéro); le registre d'instruction 6 indique à 1ALU 5 qu'aucune opération n'est à faire; le circuit de décodage 3 charge l'instruction présente à l'adresse PC+2 or cette instruction peut ne pas être valide. Deux possibilités sont envisageables, soit l'instruction est traitée soit elle ne l'est pas. Dans le cas où l'opération est traitée par le circuit de décodage 3, le programmeur devra faire attention à ce qu'elle ne provoque pas d'erreur lors du déroulement du programme.
L'instruction présente à l'adresse Y n'est traitée que lors du cinquième cycle d'horloge 16.
La partie 18, correspondant à l'invention, diffère au niveau de la présentation des adresses à l'entrée de la mémoire de programme 2. En effet, un délai apparaît au début de chaque cycle d'horloge.
Pendant ce premier cycle 12, le circuit de décodage 3 va décoder l'instruction précédente et indiquer après un délai que l'on sélectionne l'adresse fournie par le circuit d'incrémentation 11, l'ALU 5 va exécuter l'instruction présente dans le registre d'instruction 6.
Lors du premier front montant 19, le registre d'adresse 9 va charger la nouvelle adresse PC; le registre d'instruction 6 va charger l'opération à exécuter dans l'ALU 5 qui correspond à l'instruction décodée précédemment dans le circuit de décodage 3; et le circuit de décodage 3 va charger l'instruction présente à l'adresse PC. Après un certain temps, le circuit de décodage 3 a décodé l'instruction LDA; l'adresse présente à l'entrée d'adresse de la mémoire de programme 2 devient stable et égale à PC+1.
Lors du deuxième front montant 20, le registre d'adresse charge l'adresse PC+1; le registre d'instruction 6 charge l'opération "load" qui correspond à envoyer la donnée présente sur la première entrée; le circuit de décodage 3 fournit à l'entrée de la mémoire de donnée 4 l'adresse correspondant à l'instruction LDA et charge l'instruction correspondant à l'adresse PC+1.
Après un premier temps de propagation, le circuit de décodage 3 décode qu'il s'agit de l'instruction BEQ à l'adresse Y; et 1'ALU 5 indique sur sa sortie d'indicateur que la donnée présente à sa sortie est égale à zéro. Après un deuxième temps de propagation, le circuit de décodage 3 va indiquer que la prochaine adresse est Y au circuit de gestion 8 et le circuit de gestion 8 va fournir l'adresse Y à l'entrée d'adresse de la mémoire de programme.
Lors du troisième front montant 21, le registre d'adresse charge l'adresse Y; l'accumulateur 7 charge la donnée qui était présente à la sortie de l'ALU 5 (en l'occurrence zéro); le registre d'instruction 6 indique à 1'ALU 5 qu'aucune opération n'est à faire; le circuit de décodage 3 charge l'instruction présente à l'adresse Y.
Le traitement des instructions se fait donc plus rapidement.
Dans notre exemple, on a représenté un processeur de type pipe-line. L'homme du métier comprendra aisément que si le processeur n'a pas de pipe-line les chronogrammes changerons légèrement. Sans pipe-line, les opérations de l'ALU 5 correspondent avec l'instruction décodée, ce qui a pour effet de retarder d'un temps de propagation l'indicateur fournit par l'ALU 5 et donc l'adresse de trois temps de propagation lors du troisième cycle 14.
Pour toute la figure 3, les délais et temps de propagation sont représentés comme étant de la même durée; en réalité, ces temps de propagation sont tous différents et dépendants de la complexité du circuit qui fournit le signal et de l'instruction en cours de traitement. Pour avoir un bon fonctionnement, il suffit que l'adresse soit stable suffisamment de temps pour que la mémoire puisse fournir l'instruction juste avant le cycle d'horloge suivant. Un tel système est particulièrement bien adapté pour les mémoires intégrées au processeur comme c'est le cas des micro-contrôleurs.
Sur la figure 1, il a été représenté un processeur utilisant une mémoire de programme 2 et une mémoire de donnée 4. Il va de soit qu'un processeur utilisant une unique mémoire, confondant la mémoire de programme 2 et la mémoire de données 4, peut également utiliser l'invention. A titre d'exemple, on peut utiliser un multiplexeur supplémentaire entre la sortie du multiplexeur 10 et l'entrée d'adresse de la mémoire de programme ainsi qu'un registre d'adresse supplémentaire.
L'invention peut également être adaptée pour des mémoires où les adresses sont échantillonnées par le signal d'horloge, dans ce cas, il est nécessaire d'utiliser des fronts différents pour séquencer la mémoire et le reste du processeur.
Dans notre exemple, le circuit d'incrémentation 11 et le multiplexeur 10 forment des moyens de mise à jour du registre d'adresse 9. Il va de soit que d'autres types de moyens peuvent être utilisés, tels que des sorties trois états pour remplacer le multiplexeur, le circuit d'incrémentation peut également être remplacé par un circuit d'addition/soustraction qui recalculera l'adresse complètement à partir d'une valeur de saut d'adresse.
L'important dans l'invention étant de placer ces moyens de mise à jour entre le registre d'adresse 9 et l'entrée d'adresse de la mémoire de programme 2 afin que le registre d'adresse 9 soit mis à jour après une réception d'une nouvelle adresse par la mémoire de programme 2. Ces moyens de mise à jour peuvent utiliser tout type de moyen d'incrémentation et tout type de moyen de sélection pour mettre à jour l'adresse.

Claims (4)

REVENDICATIONS
1. Processeur (1) comportant un circuit de décodage d'instruction (3), une mémoire de programme (2), un registre d'adresse (9) et des moyens pour mettre à jour (10 et 11) ledit registre d'adresse (9), caractérisé en ce que les moyens de mise à jour (10 et 11) sont placés entre la sortie du registre d'adresse (9) et une entrée d'adresse de la mémoire de programme (2) afin que le registre d'adresse (9) soit mis à jour après une réception d'une nouvelle adresse par la mémoire de programme (2).
2. Processeur (1) selon la revendication 1, caractérisé en ce que les moyens de mise à jour (10 et 11) comportent un moyen d'incrémentation (11) pour incrémenter l'adresse d'une adresse.
3. Processeur (1) selon l'une des revendications 1 ou 2, caractérisé en ce que les moyens de mise à jour (10 et 11) comporte un moyen de sélection (10) pour déterminer si la nouvelle adresse correspond à une incrémentation d'adresse ou à une adresse provenant du décodeur d'instruction (3).
4. Procédé de prédiction d'adresse pour un processeur (1) comportant un circuit de décodage d'instruction (3), une mémoire de programme (2), un registre d'adresse (9) et des moyens pour mettre à jour
(10 et 11) ledit registre d'adresse (9), caractérisé en ce qu'une nouvelle adresse est fournie à la mémoire de programme (2) par les moyens de mise à jour (10 et 11) avant que ladite nouvelle adresse soit stockée dans le registre d'adresse (9).
FR9701456A 1997-02-05 1997-02-05 Micro-processeur faisant une prediction d'adresse rapide Expired - Fee Related FR2759176B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9701456A FR2759176B1 (fr) 1997-02-05 1997-02-05 Micro-processeur faisant une prediction d'adresse rapide

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9701456A FR2759176B1 (fr) 1997-02-05 1997-02-05 Micro-processeur faisant une prediction d'adresse rapide

Publications (2)

Publication Number Publication Date
FR2759176A1 true FR2759176A1 (fr) 1998-08-07
FR2759176B1 FR2759176B1 (fr) 1999-04-09

Family

ID=9503482

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9701456A Expired - Fee Related FR2759176B1 (fr) 1997-02-05 1997-02-05 Micro-processeur faisant une prediction d'adresse rapide

Country Status (1)

Country Link
FR (1) FR2759176B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3408630A (en) * 1966-03-25 1968-10-29 Burroughs Corp Digital computer having high speed branch operation
EP0213301A2 (fr) * 1985-06-28 1987-03-11 Hewlett-Packard Company Transfert et branchement concurrents
EP0706121A2 (fr) * 1994-10-06 1996-04-10 Oki Electric Industry Co., Ltd. Circuit de pré-extraction d'instructions et dispositif d'antémémoire

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3408630A (en) * 1966-03-25 1968-10-29 Burroughs Corp Digital computer having high speed branch operation
EP0213301A2 (fr) * 1985-06-28 1987-03-11 Hewlett-Packard Company Transfert et branchement concurrents
EP0706121A2 (fr) * 1994-10-06 1996-04-10 Oki Electric Industry Co., Ltd. Circuit de pré-extraction d'instructions et dispositif d'antémémoire

Also Published As

Publication number Publication date
FR2759176B1 (fr) 1999-04-09

Similar Documents

Publication Publication Date Title
JP2845646B2 (ja) 並列演算処理装置
FR2588980A1 (fr) Processeur de traitement de signal numerique comportant plusieurs multiplicateurs
FR2770659A1 (fr) Processeur de traitement perfectionne
EP1027644B1 (fr) Microprocesseur, notamment pour carte a puce et procede de traitement d'une instruction
FR2894693A1 (fr) Procede et dispositif de sauvegarde et de restauration d'une maniere interruptible d'un ensemble de registres d'un microprocesseur
EP0875830B1 (fr) Circuit testable à faible nombre de broches
FR2809508A1 (fr) Systeme et methode de gestion d'une architecture multi-ressources
FR2831971A1 (fr) Procede de memorisation de donnees avec correction d'erreur
EP1108249B1 (fr) Procede de securisation du traitement d'une information sensible dans un module de securite monolithique, et module de securite associe
WO2003015282A2 (fr) Ensemble de circuits electroniques comportant des moyens de decontamination de parties contaminees par des erreurs
FR2759176A1 (fr) Micro-processeur faisant une prediction d'adresse rapide
EP2947563A1 (fr) Processeur à instructions conditionnelles
FR2899985A1 (fr) Dispositif de commande d'une memoire tampon
EP1748355B1 (fr) Dispositif d'interfaçage unidirectionnel de type FIFO entre un bloc maître et un bloc esclave et bloc esclave correspondant
EP1596286A2 (fr) Dispositif et procédé de gestion d'un état d'attente d'un microprocesseur
US7742544B2 (en) System and method for efficient CABAC clock
FR2828566A1 (fr) Ensemble de circuits electroniques comportant au moins une memoire avec des moyens de correction d'erreur
FR2754100A1 (fr) Memoire a acces serie avec securisation de l'ecriture
EP1027643B1 (fr) Microprocesseur pipeline a saut conditionnel en un cycle d'horloge
EP1089175B1 (fr) Système informatique sécurisé
EP4086801B1 (fr) Procédé d'exécution d'une fonction, sécurisé par désynchronisation temporelle
EP1698973A2 (fr) Dispositif de génération de suivi de branchement pour microprocesseur et microprocesseur doté d'un tel dispositif
FR3122754A1 (fr) Microprocesseur équipé d'une unité arithmétique et logique et d'un module matériel de sécurisation
FR2620247A1 (fr) Systeme de traitement de donnees pour l'execution d'instructions, eventuellement differentes, en simultaneite sur plusieurs processeurs
FR2666670A1 (fr) Coprocesseur de calcul parallele optimise pour les traitements a base de matrices creuses.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20071030