FR3097345A1 - Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant - Google Patents
Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant Download PDFInfo
- Publication number
- FR3097345A1 FR3097345A1 FR1906337A FR1906337A FR3097345A1 FR 3097345 A1 FR3097345 A1 FR 3097345A1 FR 1906337 A FR1906337 A FR 1906337A FR 1906337 A FR1906337 A FR 1906337A FR 3097345 A1 FR3097345 A1 FR 3097345A1
- Authority
- FR
- France
- Prior art keywords
- processing unit
- instructions
- application program
- restart
- integrated 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
Links
- 238000000034 method Methods 0.000 title claims description 14
- 230000015654 memory Effects 0.000 claims abstract description 91
- 230000004044 response Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 5
- 239000013256 coordination polymer Substances 0.000 claims description 2
- 238000005265 energy consumption Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Microcomputers (AREA)
Abstract
Le circuit intégré (CI) comprend une unité de traitement (13) configurée pour démarrer avec un jeu d’instructions de démarrage, puis pour déterminer la taille des instructions d’un programme applicatif (APP) et éventuellement redémarrer sur sa propre initiative, en étant reconfigurée, afin qu’elle exécute les instructions du programme applicatif. Une seule mémoire de démarrage est par conséquent nécessaire. Figure pour l’abrégé : Fig 1
Description
Des modes de mise en œuvre et de réalisation de l’invention concernent des circuits intégrés et plus particulièrement un circuit intégré formant un système sur puce connue de l’homme du métier sous le terme système sur puce (« System on chip » SoC, en langue anglaise).
Un système sur puce comprend une unité de traitement et une mémoire non volatile de démarrage (« boot memory ») comprenant des instructions de démarrage de l’unité de calcul.
Il existe des processeurs capables de fonctionner indifféremment selon des modes de fonctionnement différents, chaque mode de fonctionnement étant défini par la taille des instructions, par exemple 32 bits ou 64 bits.
Un tel processeur est donc capable d’exécuter des programmes applicatifs codés sur 32 ou 64 bits.
Actuellement, un système sur puce incorporant un tel processeur, incorpore également un coprocesseur.
Lors du démarrage (« boot ») du système sur puce, seul le coprocesseur démarre et exécute des instructions codées sur une taille unique et fixée, par exemple 32 bits, le processeur restant dans un état d’initialisation (« reset »).
Le coprocesseur charge alors le code du programme applicatif dans une mémoire programme et identifie la taille des instructions.
Puis le coprocesseur configure le processeur en conséquence et le démarre avec des instructions de démarrage ayant la taille identifiée.
Cependant, l’implémentation d’un coprocesseur et des périphériques associés requiert une importante surface sur le silicium, engendre une consommation électrique supplémentaire du système sur puce, et n’est pas adapté à un système sur puce de taille réduite.
Une autre solution possible consiste à utiliser deux systèmes sur puce différents ayant respectivement deux mémoires de démarrage sur 32 et 64 bits.
Une telle solution évite l’utilisation d’un coprocesseur mais nécessite l’utilisation de deux systèmes sur puce.
Il existe ainsi un besoin de réduire la complexité et la consommation d’énergie d’un circuit intégré ou système sur puce comprenant une unité de traitement tel un microprocesseur capable de fonctionner et de démarrer selon un jeu d’instructions choisi parmi plusieurs jeux d’instructions de tailles différentes.
Selon des modes de mises en œuvre et de réalisation, il est avantageusement proposé d’utiliser l’unité de traitement elle-même, destinée à exécuter un programme applicatif, pour déterminer les conditions de son fonctionnement selon la taille du codage du programme applicatif, et d’utiliser l’unité de traitement de manière à ce qu’elle s’auto-configure pour éventuellement commander son propre redémarrage de façon à aller chercher dans une mémoire programme les instructions du programme applicatif.
Selon un aspect, il est proposé un procédé de gestion du fonctionnement d’une unité de traitement destinée à exécuter un programme applicatif codé avec des instructions pouvant avoir des tailles de référence différentes, par exemple 32 ou 64 bits, le procédé comprenant :
- un démarrage de l’unité de traitement avec un jeu d’instructions de démarrage ayant une taille, par exemple 32 bits, prise parmi les tailles de référence;
- une délivrance à l’unité de traitement d’un signal de sélection désignant la taille de référence desdites instructions du programme applicatif ; et
- dans le cas où la taille de référence désignée par le signal de sélection est différente de la taille des instructions de démarrage, une émission par l’unité de traitement d’une commande de redémarrage et une reconfiguration et un redémarrage de l’unité de traitement à partir de cette commande de redémarrage afin qu’elle exécute les instructions du programme applicatif.
L’unité de traitement est donc configurée pour démarrer avec un jeu d’instructions ayant une taille par défaut (taille fixe), puis pour déterminer la taille des instructions du programme applicatif et éventuellement redémarrer sur sa propre initiative en se reconfigurant pour exécuter les instructions du programme applicatif.
Cette commande de redémarrage permet notamment de réinitialiser des registres de l’unité de traitement et contient en particulier une adresse mémoire des instructions du programme applicatif permettant à l’unité de traitement de pointer à cette adresse pour redémarrer en exécutant les instructions du programme applicatif.
En d’autres termes, lors du premier démarrage (ou démarrage « à froid ») de l’unité de traitement coïncidant avec le démarrage du système sur puce, l’unité de traitement exécute les instructions de démarrage contenues dans la mémoire de démarrage, puis lors d’un redémarrage (c’est-à-dire un démarrage local ultérieur ou démarrage « à chaud ») de l’unité de traitement (le système sur puce lui ne démarre pas car il n’a pas été réinitialisé), l’unité de traitement reconfigurée exécute les instructions du programme applicatif.
De ce fait aucun coprocesseur n’est nécessaire pour effectuer cette gestion de l’unité de traitement (microprocesseur).
L’unité de traitement est généralement reliée à un bus.
Aussi, selon un mode de mise en œuvre, la reconfiguration et le redémarrage de l’unité de traitement en vue de l’exécution des instructions du programme applicatif, s’effectuent en réponse à la commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies:
- aucune donnée ne circule sur le bus, et
- l’unité de traitement n’exécute aucune opération.
Ainsi évite que des données fantômes circulent sur le bus lors du redémarrage de l’unité de traitement.
Selon un autre mode de mise en œuvre, le procédé comprend une exécution du programme applicatif par l’unité de traitement, sans redémarrage de l’unité de traitement, dans le cas où la taille de référence désignée par le signal de sélection est la taille des instructions de démarrage.
Cela étant même dans le cas où la taille de référence désignée par le signal de sélection est la taille des instructions de démarrage, il est possible d’effectuer un redémarrage de l’unité de traitement en vue de l’exécution des instructions du programme applicatif, en réponse à une commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies :
- aucune donnée ne circule sur le bus, et
- l’unité de traitement n’exécute aucune opération.
Ainsi, la encore, on évite que des données fantômes circulent sur le bus lors du redémarrage de l’unité de traitement.
Selon un mode de mise en œuvre, lorsque l’unité de traitement est associée à une mémoire cache, le redémarrage de l’unité de traitement s’effectue lorsqu’en outre la mémoire cache est inactive.
On évite ainsi que des données fantômes soient stockées dans la mémoire cache lors du redémarrage de l’unité de traitement
Selon un mode de mise en œuvre, le signal de sélection comprend un mot numérique ou un entête dudit programme applicatif par exemple recopié à partir d’une carte SD
Le mot numérique peut par exemple être stocké dans un registre du type programmable une fois (« OTP » : One Time Programmable), ou bien être délivré sur une entrée du circuit intégré par un utilisateur.
Même s’il est possible de prévoir plus de deux tailles de référence, l’unité de traitement est en général destinée à exécuter le programme applicatif codé avec des instructions pouvant avoir deux tailles de référence différentes.
Les deux tailles de référence sont respectivement égales à 32 bits et 64 bits, par exemple.
Selon un autre aspect, il est proposé un circuit intégré, ou système sur puce, comprenant :
- une mémoire programme configurée pour stocker des instructions d’un programme applicatif pouvant avoir des tailles de référence différentes,
- un moyen de mémoire de démarrage configuré pour stocker un jeu d’instructions de démarrage ayant l’une des tailles de référence,
- une unité de traitement destinée à exécuter ledit programme applicatif et configurée pour recevoir un signal de sélection désignant la taille de référence desdites instructions du programme applicatif, et des moyens de commande configurés pour
-démarrer l’unité de traitement avec le jeu d’instructions de démarrage, et
- dans le cas où la taille de référence désignée par le signal de sélection est différente de la taille des instructions de démarrage, recevoir une commande de redémarrage délivrée par l’unité de traitement et reconfigurer et redémarrer l’unité de traitement à partir de cette commande de démarrage afin qu’elle exécute les instructions du programme applicatif.
Selon un mode de réalisation, le circuit intégré comprend en outre un bus relié à l’unité de traitement, et les moyens de commande sont configurés pour reconfigurer et redémarrer l’unité de traitement afin qu’elle exécute les instructions du programme applicatif en réponse à ladite commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies:
- aucune donnée ne circule sur le bus, et
- l’unité de traitement n’exécute aucune opération.
Selon un autre mode de réalisation, l’unité de traitement est configurée pour exécuter le programme applicatif sans redémarrage préalable, dans le cas où la taille de référence désignée par le signal de sélection est la taille des instructions de démarrage.
Selon encore un autre mode de réalisation, le circuit intégré comprend en outre un bus relié à l’unité de traitement, et les moyens de commande sont configurés pour reconfigurer et redémarrer l’unité de traitement afin qu’elle exécute les instructions du programme applicatif dans le cas où la taille de référence désignée par le signal de sélection est la taille des instructions de démarrage en réponse à une commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies :
- aucune donnée ne circule sur le bus, et
- l’unité de calcul n’exécute aucune opération.
Selon encore un autre mode de réalisation, lorsque le circuit intégré comprend en outre une mémoire cache associée à l’unité de traitement, et les moyens de commande sont configurés pour reconfigurer et redémarrer de l’unité de traitement lorsqu’en outre la mémoire cache est inactive.
Selon encore un autre mode de réalisation, l’unité de traitement comporte une broche de réinitialisation, et les moyens de commande comportent un contrôleur de réinitialisation configuré pour délivrer un signal de démarrage sur ladite broche de façon à démarrer l’unité de traitement avec, par défaut, le jeu d’instructions de démarrage.
Selon encore un autre mode de réalisation, les moyens de commande comportent un étage de redémarrage configuré pour délivrer un signal de redémarrage sur ladite broche de réinitialisation en réponse à la commande de redémarrage émise par l’unité de traitement et lorsque toutes lesdites conditions (mentionnées ci-avant) sont remplies.
Selon encore un autre mode de réalisation, l’étage de redémarrage comprend un circuit logique configuré pour recevoir ladite commande de redémarrage et des signaux d’entrée correspondant auxdites conditions et pour délivrer le signal de redémarrage sur ladite broche de réinitialisation.
Selon encore un autre mode de réalisation, les moyens de commande sont configurés pour délivrer à l’unité de traitement, lors d’un redémarrage, une première indication représentative de la taille de référence désignée et une deuxième indication représentative de l’adresse de stockage des instructions du programme applicatif.
Selon encore un autre mode de réalisation, les moyens de commande comportent une première mémoire inscriptible une seule fois après chaque démarrage (c’est-à-dire après chaque démarrage « à froid ») et destinée à contenir la première indication, et une deuxième mémoire destinée à stocker la deuxième indication, et l’unité de traitement est configurée pour stocker ces deux indications dans les deux mémoires respectives en vue d’un redémarrage.
Selon encore un autre mode de réalisation, le circuit intégré comprend une mémoire auxiliaire destinée à stocker un mot numérique représentant le signal de sélection.
Selon encore un autre mode de réalisation, l’unité de traitement est configurée pour lire un entête du programme applicatif formant ledit signal de sélection.
Selon encore un autre mode de réalisation, le circuit intégré comporte une interface de communication destinée à recevoir le signal de sélection.
Selon encore un autre mode de réalisation, l’unité de traitement est destinée à exécuter le programme applicatif codé avec des instructions pouvant avoir deux tailles de référence différentes.
De préférence, les deux tailles de référence sont respectivement égales à 32 bits et 64 bits.
Selon un autre aspect, il est proposé un appareil incorporant un circuit intégré tel que défini ci-avant.
D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de réalisation, nullement limitatifs, et des dessins annexés sur lesquels :
illustrent différents modes de réalisation et de mise en œuvre de l’invention.
On se réfère à la figure 1 qui représente un exemple d’un mode de réalisation d’un circuit intégré CI, incorporé dans un appareil électronique CP, par exemple une tablette.
Le circuit intégré CI forme ici un système sur puce (« SOC ») et comprend :
- une mémoire programme 11 configurée pour stocker des instructions d’un programme applicatif APP pouvant avoir des instructions de tailles de référence différentes,
- un moyen de mémoire de démarrage 12 (« boot memory ») configuré pour stocker un jeu d’instructions de démarrage ayant l’une des tailles de référence, la taille des instructions de démarrage étant fixée,
- une unité de traitement 13, par exemple un microprocesseur, destinée à exécuter ledit programme applicatif et configurée pour recevoir un signal de sélection S1 désignant la taille de référence desdites instructions du programme applicatif, et
- des moyens de commande 14 dont on reviendra ci-après sur la structure et la fonctionnalité.
L’unité de traitement 13 comprend ici au moins une mémoire cache 15 (celle-ci étant optionnelle) et au moins un cœur de traitement 15a.
Bien entendu, l’unité de traitement 13 peut comprendre plusieurs mémoires caches et/ou plusieurs cœurs de traitement.
Dans un souci de simplification, on suppose que l’unité de traitement 13 est destinée à exécuter le programme applicatif APP codé avec des instructions pouvant avoir deux tailles de référence différentes, par exemple des tailles de référence respectivement égales à 32 bits et 64 bits.
Le moyen de mémoire de démarrage comprend par exemple une mémoire non volatile stockant le jeu d’instructions de démarrage par exemple codées sur 32 bits.
En variante, la taille de référence du jeu d’instructions de démarrage peut être égale à 64 bits.
Mais quelle que soit la taille des instructions du programme applicatif, le circuit intégré ne comporte qu’une seule mémoire de démarrage 12 stockant un seul jeu d’instructions de démarrage codées sur un nombre de bits fixé.
Le circuit intégré CI comprend en outre un bus 16 relié à l’unité de traitement 13, à la mémoire programme 11, au moyen de mémoire de démarrage 12, aux moyens de commande 14 et une mémoire auxiliaire 18 destinée ici à stocker un mot numérique M1 représentant le signal de sélection S1.
Le circuit intégré CI comprend en outre une interface de chargement 19 pour charger le programme applicatif APP dans la mémoire programme 11 du type mémoire volatile pendant l’exécution des instructions de démarrage du circuit intégré CI.
Les moyens de commande 14 sont configurés pour démarrer l’unité de traitement 13 avec le jeu d’instructions de démarrage lors du démarrage initial du circuit intégré, c’est-à-dire lors du tout premier démarrage (appelé démarrage « à froid ») de l’unité de traitement.
Les démarrages ultérieurs de l’unité de traitement, alors que le circuit intégré, ou système sur puce, est déjà démarré, sont des démarrages « à chaud » et sont également appelés « redémarrage ».
Les moyens de commande 14 sont en outre configurés pour recevoir une commande de redémarrage S2 délivrée par l’unité de traitement 13 notamment dans le cas où la taille de référence désignée par le signal de sélection S1 est différente de la taille des instructions de démarrage.
En réponse à la commande de redémarrage émise par l’unité de traitement 13 et lorsque :
a) aucune donnée ne circule sur le bus 16,
b) la mémoire cache 15 est inactive, et
c) l’unité de traitement 13 n’exécute aucune opération, c’est-à-dire lorsque le cœur de traitement 15a n’exécute aucune opération,
les moyens de commande 14 sont configurés pour reconfigurer et redémarrer l’unité de traitement 13 afin qu’elle exécute les instructions du programme applicatif APP. Cette commande de redémarrage contient:
- une première indication S3 représentative de la taille de référence désignée, et
- une deuxième indication S4 représentative de l’adresse de stockage dans la mémoire programme 11 des instructions du programme applicatif APP.
Dans le cas d’un démarrage à froid, l’unité de traitement 13 exécute les instructions de démarrage stockées à partir d’une adresse initiale dans la mémoire de démarrage 12. Cette adresse initiale est communiquée par le signal S4.
Les conditions a), b) et c) énoncées ci-dessus permettent de redémarrer l’unité de traitement 13 de manière à éviter que des données fantômes circulent sur le bus 16 ou soient stockées dans la mémoire cache 15.
Si la taille de référence désignée par le signal de sélection S1 est la taille des instructions de démarrage, l’unité de traitement 13 peut être configurée pour exécuter le programme applicatif APP sans redémarrage préalable.
Cela étant, même si la taille de référence désignée par le signal de sélection S1 est la taille des instructions de démarrage, un redémarrage de l’unité de traitement est possible.
En d’autres termes, les moyens de commande sont alors configurés pour redémarrer l’unité de traitement 13 avec les instructions du programme applicatif en réponse à une commande de redémarrage émise par l’unité de traitement 13 et si les conditions de redémarrage a), b) et c) mentionnées ci-avant sont remplies, c’est-à-dire si et aucune donnée ne circule sur le bus 16, la mémoire cache 15 est vide, et l’unité de traitement 13 n’exécute aucune opération. Après le redémarrage l’unité de traitement 13 exécute le programme applicatif APP.
Les moyens de commande 14 sont en outre reliés à :
- une broche de réinitialisation 20 de l’unité de traitement 13 destinée à recevoir un signal de démarrage S5 ou un signal de redémarrage S6,
- une broche 21 d’indication de la taille de référence désignée destinée à recevoir le signal S3 représentatif de la taille de référence désignée, et
- une broche d’adressage 22 destinée à recevoir le signal S4 représentatif de l’adresse de stockage dans la mémoire programme 11 des instructions du programme applicatif APP ou de l’adresse initiale de stockage du jeu d’instructions de démarrage dans la mémoire de démarrage 12.
La figure 2 illustre un exemple de mode de réalisation des moyens de commande 14.
Les moyens de commande 14 comportent un contrôleur de réinitialisation 23 de structure classique, un étage de redémarrage 24, une première mémoire 25 inscriptible une seule fois après chaque démarrage et une deuxième mémoire 26, reliés au bus 16.
Le contrôleur de réinitialisation 23 est configuré pour délivrer le signal de démarrage S5 sur la broche 20 de façon à démarrer l’unité de traitement 13 avec le jeu d’instructions de démarrage, lors d’un démarrage « à froid ».
La première mémoire 25 est réalisée par exemple à partir d’un registre contrôlé par une machine d’état et un circuit logique qui empêchent après un redémarrage, une nouvelle écriture dans le registre tant qu’un nouveau démarrage de l’unité de traitement n’a pas eu lieu.
Les moyens de commande 14 comprennent en outre :
- une troisième mémoire 27 non volatile contenant la taille des instructions de démarrage,
- une quatrième mémoire 28 non volatile contenant l’adresse de stockage du jeu d’instructions de démarrage dans la mémoire de démarrage 12, et deux multiplexeurs 29 et 30.
L’étage de redémarrage 24 est configuré pour délivrer le signal de redémarrage S6 sur la broche de réinitialisation 20 en réponse à la commande de redémarrage émise par l’unité de traitement 13 et lorsque toutes les conditions de redémarrage mentionnées ci-avant sont remplies.
La première mémoire 25 contient la taille des instructions du programme applicatif APP et la deuxième mémoire 26 contient l’adresse de stockage du programme applicatif APP dans la mémoire 11, l’unité de traitement 13 étant en outre configurée pour stocker la taille et l’adresse du programme applicatif APP dans ces deux mémoires respectives en vue d’un redémarrage.
Le premier multiplexeur 29 comprend une première entrée couplée à la troisième mémoire 27, une deuxième entrée couplée à la première mémoire 25, une sortie reliée à la broche 21 de l’unité de traitement 13 et une entrée de commande reliée à une sortie du contrôleur de réinitialisation 23.
Le deuxième multiplexeur 30 comprend une première entrée couplée à la quatrième mémoire 28, une deuxième entrée couplée à la deuxième mémoire 26, une sortie reliée à la broche 22 de l’unité de traitement 13 et une entrée de commande reliée à la sortie du contrôleur de réinitialisation 23.
Les premier et deuxième multiplexeurs 29 et 30 sont configurés pour délivrer respectivement les contenus des troisième 27 et quatrième mémoires 28 sur les broches 21 et 22 de l’unité de traitement 13 lorsque la sortie du contrôleur de réinitialisation 23 est à l’état bas « 0 », et pour délivrer respectivement les contenus des première 25 et deuxième 26 mémoires sur les broches 21 et 22 de l’unité de traitement 13 lorsque la sortie du contrôleur de réinitialisation 23 est à l’état bas « 1 ».
En d’autres termes, lors du démarrage du circuit intégré CI (démarrage « à froid »), les signaux S3 et S4 contiennent respectivement les contenus des troisième 27 et quatrième mémoires 28, et lors du redémarrage de l’unité de traitement 13 (démarrage « à chaud ») les signaux S3 et S4 contiennent respectivement les contenus des première 25 et deuxième mémoires 26.
L’étage de redémarrage 24 comprend un circuit logique 31 configuré pour recevoir la commande de redémarrage S2 et pour recevoir des signaux correspondant aux conditions de redémarrage, et pour délivrer le signal de redémarrage S6 sur la broche de réinitialisation 20.
Le circuit logique 24 comprend cinq entrées 32, 33, 34, 35 et 36 reliées au bus 16, et une sortie 37 reliée à la broche 20.
L’entrée 36 est reliée au contrôleur de réinitialisation 23 et l’entrée 32 reçoit la commande de démarrage S2.
Le signal S5 est par défaut à « 1 » lorsqu’aucun arrêt de l’unité de traitement 13 n’est requis par le contrôleur d’réinitialisation.
Des signaux S33, S34 et S35 circulent respectivement sur les entrées 33, 34 et 35.
Le signal S35 est à « 0 » lorsqu’aucune instruction circule sur le bus 16 et à 1 dans le cas contraire.
Le signal S34 est à « 1 » lorsque la mémoire cache 15 n’est pas vide et à 0 dans le cas contraire.
Le signal S33 est à « 1 » lorsque le cœur de traitement 15a n’exécute aucune instruction et à « 0 » dans le cas contraire.
Le circuit logique 31 comprend un inverseur 38, une porte logique NON ET 39, un moyen pour augmenter la largeur d’impulsion d’un signal d’horloge 40 (« Pulse strecher » en anglais) et une porte logique ET 41.
L’entrée 35 est reliée à l’entrée de l’inverseur 38, la sortie de l’inverseur 38 étant reliée à une entrée de la porte logique NON ET 39.
Les entrées 32, 33 et 34 sont chacune reliées à une entrée différente de la porte logique NON ET 39.
La sortie de la porte logique NON ET 39 est reliée à une entrée du moyen 40 pour augmenter la largeur d’impulsion d’un signal d’horloge.
Une sortie du moyen 40 est reliée à une première entrée de la porte logique ET 41, l’entrée 36 est reliée à une deuxième entrée de la porte logique ET 41 et une sortie de la porte logique ET 41 est reliée à la sortie 37.
Dans ce qui suit, les mêmes références alpha-numériques désignent les mêmes éléments.
La figure 3 illustre un exemple d’un deuxième mode de réalisation du circuit intégré CI.
On retrouve la mémoire programme 11, le moyen de mémoire de démarrage 12, l’unité de traitement 13, les moyens de commande 14 et le bus 16.
Ce mode de réalisation diffère du mode de réalisation illustré à la figure 1 en ce qu’une interface de communication 42 est reliée au bus 16 et configurée pour recevoir le signal de sélection S1.
Le signal de sélection S1 peut être par exemple communiqué par l’utilisateur du système sur puce.
La figure 4 illustre un exemple d’un troisième mode de réalisation du circuit intégré CI.
On retrouve la mémoire programme 11, le moyen de mémoire de démarrage 12, l’unité de traitement 13, les moyens de commande 14 et le bus 16.
Ce mode de réalisation diffère du mode de réalisation illustré à la figure 1 en ce que le programme applicatif APP comprend un entête H formant le signal de sélection S1, le programme applicatif APP étant stocké dans une mémoire externe au circuit intégré CI, par exemple une carte SD 43.
Lors de la recopie du programme applicatif APP dans la mémoire programme 11, l’unité de traitement 13 lit l’entête H du programme applicatif APP formant le signal de sélection S1.
On se réfère à la figure 5 qui illustre un premier exemple de mise en œuvre du circuit intégré CI.
Dans une étape 40, le contrôleur de réinitialisation 23 démarre le système sur puce CI, notamment l’unité de traitement 13.
Les signaux S3 et S4 comprennent respectivement les contenus des troisième 27 et quatrième mémoires 28 de sorte que l’unité de traitement 13 démarre avec les instructions de démarrage contenues dans le moyen de mémoire 12.
Le programme applicatif APP est chargé dans la mémoire 11.
Puis par exemple durant une étape 41, le signal de sélection S1 est délivré à l’unité de traitement 13.
Si le circuit intégré CI comporte la mémoire auxiliaire 18, l’unité de traitement 13 lit dans cette mémoire 18 le mot numérique M1 représentant le signal de sélection S1.
Si le circuit intégré CI comporte l’interface de communication 42, l’unité de traitement 13 lit le signal de sélection S1 par l’intermédiaire de ladite interface.
Si le programme applicatif APP comporte l’entête H et l’interface de communication, lors de la recopie, l’unité de traitement 13 détermine le signal de sélection S1 à partir de l’entête H.
Dans l’étape 42, l’unité de traitement 13 compare la taille indiquée dans le signal de sélection S1 avec la taille des instructions de démarrage.
Si la taille des instructions de démarrage et celle désignée par le signal de sélection S1 sont égales, l’unité de traitement 13 exécute le programme applicatif APP codé avec les instructions ayant ladite taille désignée (étape 43).
Si la taille de référence désignée par le signal de sélection S1 est différente de la taille des instructions de démarrage par défaut, l’unité de traitement stocke dans l’étape 44 la taille des instructions du programme applicatif APP et l’adresse du programme applicatif APP dans la mémoire 11 dans respectivement les première 25 et deuxième 26 mémoires. Puis l’unité de traitement 13 émet la commande de redémarrage S2.
Si à l’étape 45 toutes les conditions de redémarrage, c’est-à-dire si aucune donnée ne circule sur le bus 16, si la mémoire cache 15 est vide, et si l’unité de traitement 13 n’exécute aucune opération, on poursuit par l’étape 46.
Durant l’étape 46, l’étage de redémarrage 24 délivre :
- le signal S6 sur la broche de réinitialisation 20,
- le signal S3 (comprenant le contenu de la première mémoire 25) sur la broche 21, et
- le signal S4 (comprenant le contenu de la deuxième mémoire 26) sur la broche 22.
L’unité de traitement 13 redémarre avec les instructions du programme applicatif APP ayant une taille égale à la taille de référence désignée.
Puis on poursuit à l’étape 43.
Si à l’étape 45 les conditions de redémarrage ne sont pas remplies, on attend jusqu’à ce que les conditions de redémarrage soient remplies.
On se réfère à la figure 6 qui illustre un deuxième exemple de mise en œuvre du circuit intégré CI.
On retrouve les étapes 40, 41, 42, 43, 44, 45 et 46.
Ce mode de mise en œuvre diffère du premier exemple de mise en œuvre illustré à la figure 5 en ce que même si dans l’étape 42 les tailles de référence des instructions de démarrage et celle désignée par le signal de sélection S1 sont égales, l’unité de traitement 13, dans l’étape 48, stocke la taille des instructions du programme applicatif APP et l’adresse du programme applicatif APP dans la mémoire 11 dans respectivement les première 25 et deuxième 26 mémoires, puis émet la commande de redémarrage S2 de sorte que l’unité de traitement 13 redémarre avec les instructions du programme applicatif APP.
Si dans l’étape 45 toutes les conditions de redémarrage sont remplies, c’est-à-dire si aucune donnée ne circule sur le bus 16, si la mémoire cache 15 est vide, et si l’unité de traitement 13 n’exécute aucune opération, on poursuit à l’étape 46, puis à l’étape 43.
Bien entendu, le procédé ci-avant décrit avec l’unité de traitement 13 associée à la mémoire cache 15 s’applique aussi dans le cas où une mémoire cache n’est pas présente, la condition sur la mémoire cache inactive ne s’appliquant pas.
Claims (24)
- Procédé de gestion du fonctionnement d’une unité de traitement (13) destinée à exécuter un programme applicatif (APP) codé avec des instructions pouvant avoir des tailles de référence différentes, le procédé comprenant :
- un démarrage (40) de l’unité de traitement avec un jeu d’instructions de démarrage ayant une taille prise parmi les tailles de référence;
- une délivrance à l’unité de traitement d’un signal de sélection (S1) désignant la taille de référence desdites instructions du programme applicatif ; et
- dans le cas où la taille de référence désignée par le signal de sélection (S1) est différente de la taille des instructions de démarrage, une émission par l’unité de traitement d’une commande de redémarrage (S2) et une reconfiguration et un redémarrage (44) de l’unité de traitement à partir de cette commande de redémarrage (S2) afin qu’elle exécute les instructions du programme applicatif.
- Procédé selon la revendication 1, dans lequel, l’unité de traitement (13) étant reliée à un bus (16), la reconfiguration et le redémarrage (44) de l’unité de traitement en vue de l’exécution des instructions du programme applicatif, s’effectuent en réponse à la commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies:
- aucune donnée ne circule sur le bus, et
- l’unité de traitement n’exécute aucune opération. - Procédé selon la revendication 1 ou 2, comprenant une exécution (42) du programme applicatif (APP) par l’unité de traitement (13), sans redémarrage de l’unité de traitement, dans le cas où la taille de référence désignée par le signal de sélection (S1) est la taille des instructions de démarrage.
- Procédé selon la revendication 1 ou 2, comprenant, l’unité de traitement (13) étant reliée à un bus (16), et dans le cas où la taille de référence désignée par le signal de sélection (S1) est la taille des instructions de démarrage, un redémarrage de l’unité de traitement en vue de l’exécution des instructions du programme applicatif en réponse à une commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies :
- aucune donnée ne circule sur le bus, et
- l’unité de traitement n’exécute aucune opération. - Procédé selon la revendication 2 ou 4, dans lequel l’unité de traitement (13) est associée à une mémoire cache (15) et, le redémarrage de l’unité de traitement s’effectue lorsqu’en outre la mémoire cache est inactive.
- Procédé selon l’une quelconque des revendications 1 à 5, dans lequel le signal de sélection comprend un mot numérique ou un entête dudit programme applicatif.
- Procédé selon l’une des revendications 1 à 6, dans lequel l’unité de traitement (13) est destinée à exécuter le programme applicatif codé avec des instructions pouvant avoir deux tailles de référence différentes.
- Procédé selon la revendication 7, dans lequel les deux tailles de référence sont respectivement égales à 32 bits et 64 bits.
- Circuit intégré (CI) comprenant :
- une mémoire programme (11) configurée pour stocker des instructions d’un programme applicatif pouvant avoir des tailles de référence différentes,
- un moyen de mémoire de démarrage (12) configuré pour stocker un jeu d’instructions de démarrage ayant l’une des tailles de référence,
- une unité de traitement (13) destinée à exécuter ledit programme applicatif (APP) et configurée pour recevoir un signal de sélection (S1) désignant la taille de référence desdites instructions du programme applicatif, et
- des moyens de commande (14) configurés pour
démarrer l’unité de traitement avec le jeu d’instructions de démarrage, et
- dans le cas où la taille de référence désignée par le signal de sélection (S1) est différente de la taille des instructions de démarrage, recevoir une commande de redémarrage (S2) délivrée par l’unité de traitement et reconfigurer et redémarrer l’unité de traitement à partir de cette commande de démarrage afin qu’elle exécute les instructions du programme applicatif. - Circuit intégré selon la revendication 9, comprenant en outre un bus (16) relié à l’unité de traitement (13), et dans lequel les moyens de commande (14) sont configurés pour reconfigurer et redémarrer l’unité de traitement afin qu’elle exécute les instructions du programme applicatif en réponse à ladite commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies:
- aucune donnée ne circule sur le bus, et
- l’unité de traitement n’exécute aucune opération. - Circuit intégré selon l’une des revendications 9 ou 10, dans lequel l’unité de traitement (13) est configurée pour exécuter le programme applicatif (APP) sans redémarrage préalable, dans le cas où la taille de référence désignée par le signal de sélection est la taille des instructions de démarrage.
- Circuit intégré selon la revendication 9 ou 10, comprenant en outre un bus (16) relié à l’unité de traitement (13), et dans lequel les moyens de commande (14) sont configurés pour reconfigurer et redémarrer l’unité de traitement afin qu’elle exécute les instructions du programme applicatif, dans le cas où la taille de référence désignée par le signal de sélection est la taille des instructions de démarrage en réponse à une commande de redémarrage émise par l’unité de traitement et lorsque toutes les conditions suivantes sont remplies :
- aucune donnée ne circule sur le bus, et
- l’unité de calcul n’exécute aucune opération. - Circuit intégré selon l’une des revendications 10 ou 12, comprenant en outre une mémoire cache (15) associée à l’unité de traitement (13), et les moyens de commande sont configurés pour reconfigurer et redémarrer l’unité de traitement lorsqu’en outre la mémoire cache est inactive.
- Circuit intégré selon l’une des revendications 9 à 13, dans lequel l’unité de traitement (13) comporte une broche de réinitialisation (20), et les moyens de commande (14) comportent un contrôleur de réinitialisation (23) configuré pour délivrer un signal de démarrage sur ladite broche de façon à démarrer l’unité de traitement avec le jeu d’instructions de démarrage.
- Circuit intégré selon la revendication 14 prise en combinaison avec l’une quelconque des revendications 10,12 ou 13, dans lequel les moyens de commande (14) comportent un étage de redémarrage (24) configuré pour délivrer un signal de redémarrage (S6) sur ladite broche de réinitialisation (20) en réponse à la commande de redémarrage émise par l’unité de traitement et lorsque toutes lesdites conditions sont remplies.
- Circuit intégré selon la revendication 15, dans lequel l’étage de redémarrage comprend un circuit logique (31) configuré pour recevoir ladite commande de redémarrage (S6) et des signaux d’entrée correspondant auxdites conditions (S33, S34 S35) et pour délivrer le signal de redémarrage (S6) sur ladite broche de réinitialisation (20).
- Circuit intégré selon l’une des revendications 9 à 16, dans lequel les moyens de commande (14) sont configurés pour délivrer à l’unité de traitement (13), lors d’un redémarrage, une première indication (S3) représentative de la taille de référence désignée et une deuxième indication (S4) représentative de l’adresse de stockage des instructions du programme applicatif (APP).
- Circuit intégré selon la revendication 17, dans lequel les moyens de commande (14) comportent une première mémoire (25) inscriptible une seule fois après chaque démarrage et destinée à contenir la première indication (S3), et une deuxième mémoire (26) destinée à stocker la deuxième indication (S4), et l’unité de traitement (13) est configurée pour stocker ces deux indications dans les deux mémoires respectives en vue d’un redémarrage.
- Circuit intégré selon l’une quelconque des revendications 9 à 18, comprenant une mémoire auxiliaire (18) destinée à stocker un mot numérique (M1) représentant le signal de sélection (S1).
- Circuit intégré selon l’une quelconque des revendications 9 à 18, dans lequel l’unité de traitement (13) est configurée pour lire un entête (H) du programme applicatif (APP) formant ledit signal de sélection (S1).
- Circuit intégré selon l’une quelconque des revendications 9 à 18, comportant une interface de communication (42) destinée à recevoir le signal de sélection (S1).
- Circuit intégré selon l’une quelconque des revendications 9 à 21, dans lequel l’unité de traitement (13) est destinée à exécuter le programme applicatif (APP) codé avec des instructions pouvant avoir deux tailles de référence différentes.
- Circuit intégré selon la revendication 22, dans lequel les deux tailles de référence sont respectivement égales à 32 bits et 64 bits.
- .Appareil (CP) comprenant un circuit intégré selon l’une quelconque des revendications 9 à 23.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1906337A FR3097345B1 (fr) | 2019-06-13 | 2019-06-13 | Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant |
US16/899,327 US11614949B2 (en) | 2019-06-13 | 2020-06-11 | Method and device for managing operation of a computing unit capable of operating with instructions of different sizes |
CN202010538243.6A CN112083965B (zh) | 2019-06-13 | 2020-06-12 | 用于管理用不同大小的指令操作的计算单元的方法和设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1906337A FR3097345B1 (fr) | 2019-06-13 | 2019-06-13 | Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant |
FR1906337 | 2019-06-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3097345A1 true FR3097345A1 (fr) | 2020-12-18 |
FR3097345B1 FR3097345B1 (fr) | 2021-06-25 |
Family
ID=68138418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1906337A Active FR3097345B1 (fr) | 2019-06-13 | 2019-06-13 | Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant |
Country Status (3)
Country | Link |
---|---|
US (1) | US11614949B2 (fr) |
CN (1) | CN112083965B (fr) |
FR (1) | FR3097345B1 (fr) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US20130205115A1 (en) * | 2012-02-07 | 2013-08-08 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162617B2 (en) * | 2003-02-14 | 2007-01-09 | Fine Arc Incorporated | Data processor with changeable architecture |
JP4319093B2 (ja) * | 2003-06-30 | 2009-08-26 | 株式会社リコー | 電子装置及びパラメータ更新方法 |
US7676659B2 (en) * | 2007-04-04 | 2010-03-09 | Qualcomm Incorporated | System, method and software to preload instructions from a variable-length instruction set with proper pre-decoding |
US8347067B2 (en) * | 2008-01-23 | 2013-01-01 | Arm Limited | Instruction pre-decoding of multiple instruction sets |
TWI363298B (en) * | 2008-02-29 | 2012-05-01 | Hon Hai Prec Ind Co Ltd | Communication device and firmware update method thereof |
CN101676863B (zh) * | 2008-08-15 | 2012-12-26 | 北京北大众志微***科技有限责任公司 | 一种双宽度指令***的性能无损切换方法及其应用*** |
WO2011114476A1 (fr) * | 2010-03-17 | 2011-09-22 | 富士通株式会社 | Système de processeur multicœur, programme de notification et procédé de notification |
US8938552B2 (en) * | 2010-08-02 | 2015-01-20 | Cleversafe, Inc. | Resolving a protocol issue within a dispersed storage network |
US20120216281A1 (en) * | 2011-02-22 | 2012-08-23 | PCTEL Secure LLC | Systems and Methods for Providing a Computing Device Having a Secure Operating System Kernel |
US9201652B2 (en) * | 2011-05-03 | 2015-12-01 | Qualcomm Incorporated | Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy |
GB2522290B (en) * | 2014-07-14 | 2015-12-09 | Imagination Tech Ltd | Running a 32-bit operating system on a 64-bit machine |
US9990505B2 (en) * | 2014-08-12 | 2018-06-05 | Redwall Technologies, Llc | Temporally isolating data accessed by a computing device |
US11544214B2 (en) * | 2015-02-02 | 2023-01-03 | Optimum Semiconductor Technologies, Inc. | Monolithic vector processor configured to operate on variable length vectors using a vector length register |
US10534619B2 (en) * | 2016-02-26 | 2020-01-14 | Smart Modular Technologies, Inc. | Memory management system with multiple boot devices and method of operation thereof |
-
2019
- 2019-06-13 FR FR1906337A patent/FR3097345B1/fr active Active
-
2020
- 2020-06-11 US US16/899,327 patent/US11614949B2/en active Active
- 2020-06-12 CN CN202010538243.6A patent/CN112083965B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US20130205115A1 (en) * | 2012-02-07 | 2013-08-08 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
Non-Patent Citations (1)
Title |
---|
BOR-SUNG LIANG ET AL: "Instruction set architecture scheme for multiple fixed-width instruction sets and conditional execution", VLSI DESIGN, AUTOMATION AND TEST, 2005. (VLSI-TSA-DAT). 2005 IEEE VLSI -TSA INTERNATIONAL SYMPOSIUM ON HSINCHU, TAIWAN 27-29 APRIL 2005, PISCATAWAY, NJ, USA,IEEE, US, 27 April 2005 (2005-04-27), pages 325 - 328, XP010829596, ISBN: 978-0-7803-9060-7, DOI: 10.1109/VDAT.2005.1500087 * |
Also Published As
Publication number | Publication date |
---|---|
CN112083965B (zh) | 2024-05-07 |
US20200394047A1 (en) | 2020-12-17 |
FR3097345B1 (fr) | 2021-06-25 |
US11614949B2 (en) | 2023-03-28 |
CN112083965A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1619590B1 (fr) | Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé | |
US7032106B2 (en) | Method and apparatus for booting a microprocessor | |
EP0392932B1 (fr) | Procédé et dispositif pour accélérer les accès mémoire, utilisant un algorithme LRU modifié | |
FR3103586A1 (fr) | Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant | |
FR2881540A1 (fr) | Procede et systeme destines a empecher que des lignes de memoire cache soient videes jusqu'a ce que les donnees stockees dans celles-ci ne soient utilisees. | |
FR2898703A1 (fr) | Procede,independant du jeu de puces,pour mettre a jour et configurer localement et a distance le bios systeme | |
US11893379B2 (en) | Interface and warm reset path for memory device firmware upgrades | |
FR2583540A1 (fr) | Gestion de memoire pour systeme a microprocesseur. | |
EP1617335A1 (fr) | Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé | |
FR2880963A1 (fr) | Points d'arrets logiciels destines a etre utilises avec des dispositifs a memoire | |
TW201519253A (zh) | 用於減少喚醒時間之系統單晶片、操作系統單晶片之方法以及包括系統單晶片之電腦系統 | |
WO2016132052A1 (fr) | Circuit dram muni d'un processeur integre | |
FR3103585A1 (fr) | Procédé de gestion de la configuration d’accès à des périphériques et à leurs ressources associées d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant | |
WO2008009609A2 (fr) | Coeur processeur a frequence pilotee et procede de demarrage dudit coeur processeur dans un mode programme | |
EP0394115B1 (fr) | Dispositif d'accélération des accès mémoire dans un système informatique | |
FR3097345A1 (fr) | Procede de gestion du fonctionnement d’une unite de calcul capable de fonctionner avec des instructions de tailles differentes et circuit integre correspondant | |
WO2016038272A1 (fr) | Mecanisme haute performance pour generation d'informations de journalisation d'un processus informatique | |
EP0435718A1 (fr) | Processeur à plusieurs unités microprogrammées avec mécanisme d'exécution anticipée des instructions | |
US8495287B2 (en) | Clock-based debugging for embedded dynamic random access memory element in a processor core | |
EP3629185B1 (fr) | Procédé de gestion de la fourniture d'informations, en particulier des instructions, à un microprocesseur et système correspondant | |
US20230176735A1 (en) | Accelerating system boot times via host-managed device memory | |
CN115374051A (zh) | SoC片上SRAM复用方法、电子设备及SoC芯片 | |
WO2005124555A2 (fr) | Dispositif de controle de la couverture structurelle d'un logiciel et procede mettant en oeuvre le dispositif | |
EP3764223A1 (fr) | Procédé de gestion d'instructions d'un programme contenues dans une mémoire programme et circuit intégré correspondant | |
EP4187392A1 (fr) | Procédé de gestion d'une mémoire au sein d'un système sur puce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20201218 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |