Brevet FR3071350A1 — publié le 20190322

B16137 17-R0-0155 1 CONTROLE D' ACCES A UNE ME:MOIRE AU MOYEN D'ALIAS D'ADRESSE DOMAINE DE L'INVENTION La présente invention concerne le domaine du contrôle d'accès à une mémoire. EXPOSE DE L'ART ANTERIEUR Le contrôle d'accès à une mémoire permet de restreindre l'accès à certaines zones d'une mémoire à partir du mode de fonctionnement d'un dispositif de traitement souhaitant accéder à la mémoire. Par exemple, un dispositif de traitement peut être adapté à fonctionner en mode utilisateur et en mode superviseur. Certains segments de la mémoire peuvent être lisibles, inscriptibles ou exécutables seulement quand le dispositif de traitement fonctionne en mode superviseur et d'autres segments de la mémoire peuvent être exécutables seulement quand le dispositif de traitement est en mode utilisateur. En outre, la modification de certains fichiers de programme de base relatifs au système d'exploitation peut n'être permise que lorsque le dispositif de traitement fonctionne en mode superviseur. Le contrôle d'accès est généralement réalisé au moyen d'un module de protection de mémoire (MPU : Memory Protection unit) ou d'un module de gestion de mémoire (eIU : Memory Management Unit). Toutefois, les modules MPU et MMU sont relativement coûteux en termes de portes logiques (de façon caractéristique, plus de B16137 17-R0-0155 2 10 000 portes). Il est en effet nécessaire de prévoir des registres de stockage d'information concernant les règles d'accès à la mémoire à appliquer à chaque segment de mémoire et d'information identifiant l'adresse de départ et la taille de 5 chaque segment de mémoire auquel s'appliquent les règles. En outre, on a également besoin de comparateurs d'adresse pour vérifier, pour chaque opération d'accès à la mémoire, si un segment de mémoire à accès restreint fait l'objet d'un accès. De tels comparateurs ajoutent à la consommation. Par ailleurs, la 10 granularité des segments de mémoire est généralement médiocre, typiquement au minimum de 32 octets et souvent de 1 à 4 Ko. Il existe donc le besoin dans la technique d'un système de contrôle d'accès à une mémoire présentant une surface relativement faible, une faible consommation et/ou permettant une 15 granularité relativement fine. RESUME Un objet de modes de réalisation de la présente description est de répondre à un ou plusieurs besoins de l'art antérieur 20 Selon un aspect, on prévoit un système de contrôle d'accès à une mémoire comprenant : un dispositif de traitement adapté à fonctionner dans plusieurs modes de fonctionnement et à accéder à une mémoire au moyen de plusieurs alias d'adresse ; et un circuit de vérification configuré pour : recevoir, en relation avec une première opération de lecture d'un premier emplacement de mémoire, une indication d'un premier desdits plusieurs alias d'adresse associés à la première opération de lecture ; vérifier que le mode de fonctionnement courant du dispositif de traitement permet au dispositif de traitement d'accéder à la mémoire au moyen du premier alias d'adresse ; recevoir, pendant la première opération de lecture, un premier marqueur stocké dans le premier emplacement de mémoire ; et vérifier, à partir du premier marqueur et du premier alias d'adresse, que le dispositif de traitement est autorisé à accéder au premier emplacement de mémoire. Selon un mode de réalisation, le circuit de vérification est en outre configuré pour générer, en relation avec une première B16137 17-R0-0155 3 associés à la première opération d'écriture ; et vérifier que le mode de fonctionnement courant du dispositif de traitement permet au dispositif de traitement 10 d'écrire dans la mémoire au moyen dudit alias d'adresse associé à la première opération d'écriture. Selon un mode de réalisation, le premier marqueur com- prend un code de détection d'erreur ou un code de correction d'erreur. 15 Selon un mode de réalisation, le système de contrôle d'accès à une mémoire comprend en outre un circuit de code de détection d'erreur ou de code de correction d'erreur configuré pour vérifier que le premier alias d'adresse correspond à un alias d'adresse utilisé pour une opération d'écriture du premier 20 marqueur. Selon un mode de réalisation, le système de contrôle d'accès à une mémoire comprend en outre un décodeur d'adresse configuré pour extraire le premier alias d'adresse d'une adresse associée à la première opération de lecture. opération d'écriture dans le premier emplacement de mémoire, le premier marqueur et pour stocker le premier marqueur dans le premier emplacement de mémoire. Selon un mode de réalisation, le circuit de vérification 5 est de plus configuré pour : recevoir, en relation avec la première opération d'écriture, une indication d'un alias d'adresse desdits Plusieurs alias d'adresse mode de réalisation, le premier marqueur pré - comprise entre 1 et 8 bits. autre aspect, on prévoit un système de trai - tement de données comprenant : une mémoire ci-dessus ; et une 30 traitement par l'intermédiaire données. 25 Selon un sente une longueur Selon un le système de contrôle d'accès à mémoire couplée au dispositif de d'un bus d'adresse et d'un bus de Selon encore un autre aspect, on prévoit un procédé de contrôle d'accès à une mémoire comprenant : la réception, par un circuit de vérification en relation avec une première opération 35 de lecture d'un premier emplacement de mémoire d'une mémoire par un dispositif de traitement adapté à fonctionner dans plusieurs B16137 17-R0-0155 4 modes de fonctionnement et à accéder à la mémoire au moyen de plusieurs alias d'adresse, une indication d'un premier des plusieurs alias d'adresse associés à la première opération de lecture; la vérification que le mode de fonctionnement courant du 5 dispositif de traitement permet au dispositif de traitement d'accéder à la mémoire au moyen du premier alias d'adresse ; la réception, prenant la première opération de lecture, d'un premier marqueur stocké dans le premier emplacement de mémoire ; et la vérification, à partir du premier marqueur et du premier alias 10 d'adresse, que le dispositif de traitement est autorisé à accéder au premier emplacement de mémoire. Selon un mode de réalisation, le procédé consiste en outre, avant la première opération de lecture, à générer, en relation avec une première opération d'écriture dans le premier 15 emplacement de mémoire, le premier marqueur et à stocker le premier marqueur dans le premier emplacement de mémoire. Selon un mode de réalisation, le procédé comprend en outre : la réception par le circuit de vérification, en relation avec la première opération d'écriture, d'une indication d'un alias 20 d'adresse desdits plusieurs alias d'adresse associés à la première opération d'écriture ; et la vérification que le mode de fonctionnement courant du dispositif de traitement permet au dispositif de traitement d'écrire dans la mémoire au moyen dudit alias d'adresse associé à la première opération d'écriture. 25 Selon un mode de réalisation, le premier marqueur com- prend un code de détection d'erreur ou un code de correction d'erreur. Selon un mode de réalisation, le procédé comprend en outre la vérification, par un circuit de code de détection 30 d'erreur ou de code de correction d'erreur, que le premier alias d'adresse correspond à un alias d'adresse utilisé pour une opération d'écriture du premier marqueur. Selon un mode de réalisation, le procédé comprend en outre l'extraction, par un décodeur d'adresse, du premier alias 35 d'adresse d'une adresse associée à la première opération de lecture. B16137 17-R0-0155 5 BREVE DESCRIPTION DES FIGURES Ces caractéristiques et leurs avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif 5 en relation avec les figures jointes parmi lesquelles : la figure 1 illustre schématiquement un exemple de mémoire comprenant des segments à accès restreint ; la figure 2 illustre schématiquement une mémoire comprenant des emplacements de mémoire dans lesquels sont stockés 10 des marqueurs selon un exemple de réalisation de la présente invention ; la figure 3 illustre schématiquement un système de traitement de données comprenant un circuit de contrôle d'accès à une mémoire selon un exemple de réalisation de la présente 15 invention ; la figure 4 est un organigramme illustrant un procédé d'écriture dans un emplacement de mémoire utilisant le système de contrôle d'accès à une mémoire de la figure 3 selon un example de réalisation de la présente invention ; 20 la figure 5 est un organigramme illustrant un procédé de lecture d'un emplacement de mémoire utilisant le système de contrôle d'accès à une mémoire de la figure 3 selon un example de réalisation de la présente invention ; la figure 6 illustre schématiquement un système de 25 traitement de données comprenant un circuit de contrôle d'accès à une mémoire selon un autre exemple de réalisation de la présente invention ; et la figure 7 illustre schématiquement un système de traitement de données comprenant un système de contrôle d'accès à 30 une mémoire selon encore un autre exemple de réalisation de la présente invention. DESCRIPTION DETAIILEE La figure 1 illustre schématiquement un exemple de mémoire 100 comprenant plusieurs segments disposant de droits 35 d'accès différents. Dans l'exemple de la figure 1, la mémoire comprend des segments 102 et 104 correspondant respectivement à B16137 17-R0-0155 6 une pile d'utilisateur (USER STACK R, W) et à des données d'utilisateur (USER DATA R, W), dont chacun est accessible en lecture et en écriture pendant le mode de fonctionnement utilisateur, un segment 106 stockant le code d'utilisateur (USER CODE 5 X, R), qui peut être exécuté ou lu pendant le mode de fonctionnement d'utilisateur, et des segments 108 et 110 stockant respectivement les données de superviseur (SUPERVISOR DATA R, W) et le code de superviseur (SUPERVISOR CODE X, R), auxquels il n'est possible d'accéder que pendant le mode de fonctionnement 10 superviseur, le segment 108 permettant des opérations de lecture et d'écriture tandis que le segment 110 ne permet que des opérations d'exécution et de lecture. On pourrait mettre en application les règles d'accès aux divers segments de mémoire de la figure 1 au moyen d'un module de 15 gestion de mémoire (MAU) ou d'un module de protection de mémoire (MPU), mais comme on l'a décrit dans l'arrière-plan de l'invention, ceci entraînerait des inconvénients en termes de surface, de consommation et de granularité des segments. La figure 2 illustre une mémoire 200 selon un exemple 20 de réalisation de la présente invention. Au lieu de diviser la mémoire en segments à la manière décrite ci-dessus en relation avec la figure 1, selon les modes de réalisation décrits ici, chaque emplacement de mémoire de la mémoire peut être attribué à l'une quelconque d'un certain nombre de différentes zones 25 d'adresse d'alias, chacune étant accessible au moyen d'un alias d'adresse correspondant. Chaque emplacement de mémoire correspond à une partie adressable de la mémoire. Par exemple, la mémoire 200 comprend des emplacements d'adresse physique correspondant aux adresses 0x000 à OxFFF, où le préfixe « Ox » indique une 30 valeur hexadécimale. Une première zone d'adresse d'alias dans la mémoire est associée à un alias d'adresse « 0 », et l'on peut donc y accéder au moyen des adresses 0x0000 à OxOFFF, où le premier chiffre 0 de la valeur hexadécimale est l'alias d'adresse. Une deuxième zone d'adresse d'alias de la mémoire est associée à un 35 alias d'adresse « 1 », et l'on peut donc y accéder au moyen des adresses 0x1000 à Ox1FFF. B16137 17-R0-0155 7 En outre, un marqueur est stocké dans chaque emplacement de mémoire en plus des données stockées. Par exemple, comme le représente la figure 2, un emplacement de mémoire 201 comprend une valeur de données DATAI et un marqueur associé MARKER1, et un 5 emplacement de mémoire 202 comprend une valeur de données DATA2 et un marqueur associé MARKER2. Le marqueur indique l'alias d'adresse utilisé au cours de l'opération d'écriture de la valeur de données stockée dans l'emplacement de mémoire correspondant. Dans certains modes de réalisation, chaque marqueur comprend un 10 ou plusieurs bits de données indiquant directement l'alias d'adresse. Par exemple, le marqueur est un bit « 0 » pour représenter un alias d'adresse correspondant à une zone d'adresse d'alias de la mémoire, et un bit « 1 » pour représenter un autre alias d'adresse correspondant à une autre zone d'adresse d'alias 15 de la mémoire. Dans des variantes de réalisation décrites plus en détail ci-dessous, chaque marqueur se présente sous la forme d'un code de détection d'erreur EDC (« Error Detection Code ») ou d'un code de correction d'erreur ECC (« Error Correction Code ») partiellement généré à partir de l'alias d'adresse utilisé au 20 cours de l'opération d'écriture la plus récente dans l'emplacement de mémoire. La figure 3 illustre schématiquement un système de traitement de données 300 selon un exemple de réalisation de la présente invention. 25 Le système 300 comprend un dispositif de traitement (P) 302 en communication avec une mémoire 200 par l'intermédiaire d'un bus d'adresse 304 et d'un bus de données 306. La mémoire 200 est par exemple une mémoire volatile, telle qu'une mémoire statique à accès aléatoire SRAM (« Static Random Access Memory ») ou une 30 mémoire dynamique à accès aléatoire DRAM (« Dynamic Random Access Memory ») ou une mémoire non volatile programmable telle qu'une mémoire FLASH ou une mémoire morte effaçable et programmable électriquement EEPROM (« Electronically Erasable Programmable Read-Only Memory »). Le dispositif de traitement 302 comprend par 35 exemple un ou plusieurs processeurs sous contrôle d'instructions stockées par exemple dans la mémoire 200 et/ou dans une mémoire B16137 17-R0-0155 8 d'instructions séparée. Le dispositif de traitement 302 est par exemple adapté à fonctionner dans plusieurs modes de fonctionnement différents, tels qu'un mode utilisateur et un mode superviseur. De façon connue de l'homme de l'art, différents modes 5 de fonctionnement d'un dispositif de traitement sont par exemple associés à différents niveaux de droits d'accès en relation avec la lecture, l'écriture ou l'exécution de données/instructions stockées dans une mémoire. Un circuit de contrôle d'accès à la mémoire 308 est prévu pour contrôler l'accès à la mémoire 200 par 10 le dispositif de traitement 302. Le circuit de contrôle d'accès à la mémoire 308 comprend par exemple un décodeur d'adresse (ADDRESS DECODER) 310 et un circuit de vérification (VERFICATION CIRCUIT) 312. Le décodeur d'adresse 310 reçoit un ou plusieurs bits de l'adresse fournie 15 sur le bus d'adresse 304 et détermine à partir de ces bits l'alias d'adresse pour une opération courante d'accès à la mémoire par le dispositif de traitement. Cette information est par exemple fournie sous la forme d'un signal ALIAS au circuit de vérification 312. Le circuit de vérification 312 reçoit également une 20 indication du type d'accès en fonction du mode de fonctionnement courant du dispositif de traitement 302 sur une ou plusieurs lignes 313, le type d'accès étant représenté par un ou plusieurs bits. Par exemple, le type d'accès pourrait être un « accès utilisateur » ou un « accès superviseur ». Le dispositif de 25 traitement fournit également par exemple, sur une ou plusieurs lignes 314, une indication du type de fonctionnement, qui est par exemple soit une opération de lecture R, soit une opération d'écriture W, soit une opération d'exécution X. Ces une ou plusieurs lignes 314 sont par exemple couplées au circuit de 30 vérification 312. En outre, la mémoire 200 reçoit également par exemple au moins l'une des lignes 314 indiquant si l'opération est une opération de lecture ou d'écriture. De la sorte, le circuit de vérification 312 est en mesure de vérifier si le type d'accès du dispositif de traitement permet 35 au dispositif de traitement d'utiliser l'alias d'adresse de l'opération d'accès à la mémoire en relation avec le type B16137 17-R0-0155 9 d'opération donné (lecture, écriture ou exécution). Le circuit de vérification 312 écrit et lit également les valeurs des marqueurs dans la mémoire 200 par l'intermédiaire d'un bus 315. Le circuit de vérification 312 délivre par exemple un signal d'alarme ALARM 5 si l'accès à la mémoire n'est pas autor isé. Le fonctionnement du circuit 300 de la figure 3 va à présent être décrit plus en détail en référence aux figures 4 et 5. La figure 4 est un organigramme illustrant un procédé 10 d'écriture de données dans un emplacement de mémoire dans la mémoire 200 selon un example de réalisation de la présente invention. Ce procédé est par exemple mis en oeuvre par le circuit de contrôle d'accès à la mémoire 308 de la figure 3. A une étape 401, l'alias d'adresse demandé par le dis- 15 positif de traitement en association avec l'opération d'écriture est extrait de l'adresse de mémoire fournie par le dispositif de traitement. Par exemple, comme on l'a décrit en relation avec la figure 3, le circuit de contrôle d'accès à la mémoire 308 comprend un décodeur d'adresse 310, qui extrait l'alias d'adresse de 20 l'adresse fournie sur le bus d'adresse 304. A titre de variante, l'alias d'adresse peut être directement représenté par un ou plusieurs bits de l'adresse, auquel cas on peut se passer du décodeur d'adresse 310. A une étape 402, on détermine si un accès en écriture 25 du dispositif de traitement 302 à la mémoire 200 au moyen de l'alias d'adresse demandé par le dispositif de traitement est autorisé au vu du type d'accès courant du dispositif de traitement. Par exemple, le circuit de vérification 312 stocke des règles définissant les droits d'accès du dispositif de traitement 30 302 à partir de son type d'accès. A titre d'exemple, pendant un mode de fonctionnement utilisateur, le type d'accès correspond à un « accès utilisateur » et les règles stockées par le circuit de vérification 312 définissent si l'utilisateur est autorisé à accéder à la mémoire au moyen d'un ou plusieurs alias d'adresses 35 pour des opérations de lecture, d'écriture ou d'exécution. B16137 17-R0-0155 10 Si l'on détermine que le type d'accès du dispositif de traitement ne permet pas au dispositif de traitement d'accéder à la mémoire en utilisant l'alias d'adresse demandé, à une étape 403, l'accès à la mémoire est par exemple refusé et un signal 5 d'alarme peut être délivré par le circuit de vérification 312. Si au contraire l'on détermine que l'accès est autorisé, l'étape suivante est l'étape 404. A l'étape 404, un marqueur correspondant à l'alias d'adresse de l'opération d'écriture requise par le dispositif de 10 traitement 302 est généré et est combiné avec les données à écrire en mémoire. Par exemple, comme l'illustre la figure 3, le marqueur d'une taille d'un ou plusieurs bits est fourni sur le bus 315 par le circuit de vérification 312 à un port d'accès de données de la mémoire 200, ce port d'accès de données étant assez large pour 15 recevoir les données par le bus de données 306 et le marqueur par le bus 315. A une étape 405, l'opération d'écriture en mémoire 200 des données sur le bus de données 306 et du marqueur sur le bus 315 est effectuée à l'adresse mémoire définie. Par exemple, 20 l'adresse mémoire définie est l'adresse mémoire physique fournie sur le bus d'adresse 304, à l'exception des un ou plusieurs bits de l'alias d'adresse. Dans certains modes de réalisation, les bits de l'alias d'adresse ne sont pas fournis à la mémoire 200. La figure 5 est un organigramme illustrant un procédé 25 de lecture de données dans un emplacement de mémoire et/ou d'exécution d'instructions stockées dans la mémoire 200 selon un example de réalisation de la présente invention. Ce procédé est par exemple mis en oeuvre par le circuit de contrôle d'accès à la mémoire 308 de la figure 3. 30 Aux étapes 501 à 503, on vérifie que le dispositif de traitement est autorisé à effectuer un accès à la mémoire à partir de l'alias d'adresse requis, de façon analogue à la vérification effectuée aux étapes correspondantes 401 à 403 de la figure 4 décrite ci-dessus. Cependant, dans le cas de la figure 5, l'alias 35 d'adresse concerne une opération de lecture ou d'exécution plutôt qu'une opération d'écriture et l'on vérifie donc si une opération B16137 17-R0-0155 11 de lecture et/ou d'exécution est autorisée. L'alias d'adresse peut être extrait de l'adresse par le décodeur d'adresse 310 tel que décrit ci-dessus. Si l'on détermine à l'étape 502 que l'accès est autorisé 5 par le type d'accès courant du dispositif de traitement 302, à une étape 504, l'opération de lecture ou d'exécution en mémoire est effectuée, y compris la lecture du marqueur stocké à l'emplacement d'adresse, le marqueur étant fourni au circuit de vérification 312 par le bus 315. 10 A une étape 505, on détermine si la valeur du marqueur est compatible avec l'alias d'adresse à présent utilisé pour accéder à la mémoire. Par exemple, le marqueur est fourni au circuit de vérification 312 qui le compare avec l'alias d'adresse extrait de l'adresse de l'opération de lecture ou d'exécution. Si 15 le marqueur est égal à ou compatible avec l'alias d'adresse, alors les données peuvent être utilisées à une étape 506 par le dispositif de traitement 302. A titre de variante, si la valeur du marqueur ne correspond pas à l'alias d'adresse associé à l'opération de lecture ou d'exécution, les données sont par 20 exemple rejetées à une étape 507 et/ou le circuit de vérification délivre par exemple un signal d'alarme ALARM. Dans certains modes de réalisation, les données lues dans la mémoire 200 peuvent être retardées d'un ou plusieurs cycles avant d'être fournies au dispositif de traitement 302, permettant ainsi d'empêcher l'accès 25 à ces données par le dispositif de traitement 302 dans le cas où la valeur du marqueur ne correspond pas à l'alias d'adresse. A titre de variante, les données peuvent être fournies au dispositif de traitement 302 mais l'alarme générée par le circuit de vérification entraîne par exemple l'interruption d'une exécution 30 logicielle des données lues ou réalisé à partir de celles-ci par le dispositif de traitement 302. La figure 6 représente schématiquement un système de traitement de données 600 selon une variante de réalisation de celui de la figure 3. Un certain nombre d'éléments du système 600 35 sont semblables à ceux du système 300 et ces éléments ont été B16137 17-R0-0155 12 désignés par les mêmes références et ne seront pas décrits à nouveau ci-après. Le circuit de contrôle d'accès à la mémoire 308 de la figure 3 a été remplacé à la figure 6 par un circuit de contrôle 5 d'accès à la mémoire 602 qui comprend le décodeur d'adresse 310, le circuit de vérification 312 et par ailleurs un circuit de code de détection d'erreur/code de correction d'erreur (EDC/ECC) 604. Le circuit 604 est par exemple adapté à générer et à vérifier un code de détection d'erreur et/ou un code de correction d'erreur à 10 partir des données présentes sur le bus de données 306 et également à partir de l'alias d'adresse associé à l'opération d'accès à la mémoire. En particulier, le code EDC ou ECC est fourni à et en provenance de la mémoire 200 par un bus 605. Dans le cas où le circuit 604 génère un code ECC, un circuit de correction de données 15 (CORRECTION) 606 est également par exemple prévu pour corriger, sous contrôle du circuit 604, les données lues à partir de la mémoire 202. Pendant une opération d'écriture en mémoire 200, l'alias d'adresse utilisé par le dispositif de traitement 302 est extrait 20 de l'adresse et vérifié par rapport au type d'accès, comme on l'a décrit ci-dessus en relation avec les étapes 401 à 403 de la figure 4. En outre, si l'accès en écriture à la mémoire est autorisé à partir du type d'accès du circuit de traitement, le circuit de vérification 312 génère un marqueur intermédiaire à 25 partir de l'alias d'adresse et fournit le marqueur intermédiaire au circuit EDC/ECC 604. Le circuit 604 génère par exemple alors un code EDC et/ou un code ECC à partir du marqueur intermédiaire et de la valeur de données et fournit le code à la mémoire 200 afin qu'il soit écrit dans l'emplacement de mémoire à côté des 30 données. Ainsi, le code EDC et/ou le code ECC forment un nouveau marqueur qui est généré à partir du marqueur intermédiaire fourni au circuit de vérification 312 et de la valeur de données à stocker dans l'emplacement de mémoire. Lors d'une opération de lecture dans la mémoire 200, 35 l'alias d'adresse utilisé par le dispositif de traitement est extrait de l'adresse et vérifié par rapport au type d'accès, comme B16137 17-R0-0155 13 on l'a décrit ci-dessus en relation avec les étapes 501 à 503 de la figure 5. En outre, si l'accès en lecture à la mémoire est autorisé sur la base du type d'accès du circuit de traitement, le circuit de vérification 312 génère un marqueur intermédiaire à 5 partir de l'allas d'adresse fourni par le décodeur d'adresse et fournit le marqueur intermédiaire au circuit EDC/ECC 604. Le circuit 604 reçoit également le marqueur qui était stocké dans l'emplacement de mémoire sous la forme d'un code EDC et ou d'un code ECC. Le circuit 604 est donc en mesure de vérifier le code 10 EDC/ECC par rapport aux données lues dans l'emplacement de mémoire et au marqueur intermédiaire fourni par le circuit de vérification 312. Dans le cas où une erreur est détectée par le circuit EDC/ECC 604, ceci indique soit qu'il y a une erreur de valeur de 15 données ou de code EDC/ECC lu à l'emplacement d'adresse, soit que le marqueur intermédiaire d'origine associé à l'opération d'écriture précédente dans l'emplacement de mémoire ne correspond pas au marqueur intermédiaire courant associé à l'opération de lecture. Dans le cas où le code est un code EDC, le circuit 604 20 délivre par exemple un signal d'erreur ERROR et la valeur de données lue dans la mémoire peut être rejetée, ou bien une exécution logicielle des données ou réalisée à partir de celles-ci peut être interrompue, comme décrit ci-dessus en relation avec la figure 5. Dans le cas où le code est un code ECC, le circuit 25 604 commande par exemple le circuit de correction (CORRECTION) 606 pour qu'il corrige toute erreur dans la valeur de données lue. Si aucune erreur n'a été détectée dans le marqueur intermédiaire, le circuit de vérification 312 en est par exemple informé et le signal d'alarme ALARM n'est pas émis. Si toutefois une erreur est 30 détectée dans le marqueur intermédiaire, le circuit 604 fournit par exemple le marqueur corrigé au circuit de vérification 312, qui émet par exemple le signal d'alarme ALARM. Un avantage d'un marqueur sous la forme d'un code EDC et/ou ECC est qu'un tel marqueur est en mesure d'assurer une 35 détection et/ou une correction d'erreur ainsi que la vérification de l'alias d'adresse sans augmenter le nombre de bits par rapport B16137 17-R0-0155 14 à un code EDC ou ECC standard. En effet, un nombre de bits donné d'un code EDC ou ECC permet généralement de protéger un certain nombre de bits d'entrée. Par exemple, un code ECC à 6 bits mis en oeuvre par un code de Hamming permet de protéger jusqu'à 57 bits 5 de données d'entrée. Ainsi, si le bus de données 306 présente une largeur de 32 bits, le marqueur intermédiaire pourrait compter jusqu'à 25 bits sans augmenter le nombre de bits du code ECC. En pratique, le marqueur intermédiaire peut généralement être représenté par un nombre considérablement plus faible de bits, 10 par exemple comprenant entre 1 et 8 bits, et peut être simplement égal à l'alias d'adresse. La figure 7 illustre schématiquement un système de traitement de données 700 selon encore un autre exemple de réalisation de la présente invention. Le système 700 présente de 15 nombreux éléments communs avec le mode de réalisation de la figure 6, et ces éléments sont désignés par les mêmes références et ne seront pas décrits à nouveau en détail. Dans le mode de réalisation de la figure 7, le circuit de vérification 312 vérifie simplement si l'accès est autorisé au 20 moyen de l'alias d'adresse demandé à partir du type d'accès courant du dispositif de traitement, comme on l'a décrit en relation avec les étapes 401 à 403 de la figure 4 et les étapes 501 à 503 de la figure 5. Le circuit de code EDC/ECC 604 reçoit par exemple l'adresse, y compris l'alias d'adresse, directement à 25 partir du bus d'adresse 304 et génère le marqueur intermédiaire correspondant à partir d'au moins une partie de l'adresse contenant l'alias d'adresse. Le marqueur intermédiaire peut alors être pris en compte lors de la génération du code EDC/ECC au cours d'une opération d'écriture ou utilisé pour vérifier le code 30 EDC/ECC au cours d'une opération de lecture. Dans des variantes de réalisation par rapport au mode de réalisation de la figure 7, au lieu de recevoir les données d'adresse en provenance du bus d'adresse 304, le circuit de code EDC/ECC 604 pourrait recevoir le signal ALIAS à partir du décodeur 35 d'adresse 310 et générer ou vérifier le marqueur intermédiaire à partir de cet alias d'adresse. B16137 17-R0-0155 15 Un mode de réalisation des modes de réalisation décrits ici est qu'en définissant des alias d'adresse qui peuvent être utilisés par le dispositif de traitement 302 pour accéder à une mémoire ainsi qu'en stockant un marqueur dans les emplacements de 5 mémoire d'une mémoire, on peut mettre en oeuvre de façon simple un contrôle d'accès sans nécessiter de module MPU ou de MMU. En outre, la granularité des zones d'adresse d'alias individuelles peut être très faible, égale par exemple à la taille de mot. Au moins un mode de réalisation a été décrit à titre 10 d'illustration, mais de nombreuses variantes et modifications apparaîtront à l'homme de l'art. Par exemple, il apparaîtra à l'homme de l'art que les circuits de contrôle d'accès à la mémoire 308, 602 et 702 décrits ici ne représentent que des exemples de mise en oeuvre et que diverse variantes sont possibles. Par 15 exemple, l'alias d'adresse pourrait être extrait sans décodeur d'adresse si par exemple l'alias d'adresse est simplement indiqué par un ou plusieurs bits de l'adresse, et soit le circuit de vérification 312, soit le circuit de code EDC/ECC 604 de la figure 6 pourraient être responsables de la génération d'un signal 20 d'alarme REVENDICATIONS1. Système de contrôle d'accès à une mémoire comprenant : un dispositif de traitement (302) adapté à fonctionner dans plusieurs modes de fonctionnement et à accéder à une mémoire (200) au moyen de plusieurs alias d'adresse ; et un circuit de vérification (312) configuré pour : recevoir, en relation avec une première opération de lecture d'un premier emplacement de mémoire dans la mémoire (200), une indication d'un premier desdits plusieurs alias d'adresse associés à la première opération de lecture ; - vérifier que le mode de fonctionnement courant du dispositif de traitement permet au dispositif de traitement d'accéder à la mémoire en utilisant le premier alias d'adresse ; - recevoir, au cours de la première opération de lec- ture, un premier marqueur stocké dans le premier emplacement de mémoire ; et vérifier, à partir du premier marqueur et du premier alias d'adresse, que le dispositif de traitement est autorisé à accéder au premier emplacement de mémoire. 2. Système de contrôle d'accès à une mémoire selon la revendication 1, dans lequel le circuit de vérification (312) est en outre configuré pour générer, en relation avec une première opération d'écriture dans le premier emplacement de mémoire, le premier marqueur et pour stocker le premier marqueur dans le premier emplacement de mémoire. 3. Système de contrôle d'accès à une mémoire selon la revendication 2, dans lequel le circuit de vérification (312) est en outre configuré pour : recevoir, en relation avec la première opération 35 d'écriture, une indication d'un alias d'adresse desdits plusieurs alias d'adresse associés à la première opération d'écriture ; et B16137 17-R0-0155 17 vérifier que le mode de fonctionnement courant du dispositif de traitement permet au dispositif de traitement d'écrire dans la mémoire au moyen dudit alias d'adresse associé à la première opération d'écriture. 5 4. Système de contrôle d'accès à une mémoire selon l'une quelconque des revendications 1 à 3, dans lequel le premier marqueur comprend un code de détection d'erreur ou un code de correction d'erreur. 5. Système de contrôle d'accès à une mémoire selon la 10 revendication 4, comprenant en outre un circuit de code de détection d'erreur ou de code de correction d'erreur (604) configuré pour vérifier que le premier alias d'adresse correspond à un alias d'adresse utilisé pour une opération d'écriture du premier marqueur. 15 6. Système de contrôle d'accès à une mémoire selon l'une quelconque des revendications 1 à 5, comprenant en outre un décodeur d'adresse (310) configuré pur extraire le premier alias d'adresse d'une adresse associée à la première opération de lecture. 20 7. Système de contrôle d'accès à une mémoire selon l'une quelconque des revendications 1 à 6, dans lequel le premier marqueur présente une longueur comprise entre 1 et 8 bits. 8. Système de traitement de données comprenant : un système de contrôle d'accès à une mémoire selon l'une 25 quelconque des revendications 1 à 7 ; et une mémoire (200) couplée au dispositif de traitement (302) par l'intermédiaire d'un bus d'adresse (304) et d'un bus de données (306). 9. Procédé de contrôle d'accès à une mémoire 30 comprenant : la réception, par un circuit de vérification (312) en relation avec une première opération de lecture d'un premier emplacement de mémoire d'une mémoire (200) par un dispositif de traitement (302) adapté à fonctionner dans plusieurs modes de fonctionnement et à accéder à la mémoire (200) au moyen de plusieurs alias d'adresse, une indication d'un premier des B16137 17-R0-0155 18 plusieurs alias d'adresse associés à la première opération de lecture ; - la vérification que le mode de fonctionnement courant du dispositif de traitement permet au dispositif de traitement 5 d'accéder à la mémoire au moyen du premier alias d'adresse ; - la réception, pendant la première opération de lecture, d'un premier marqueur stocké dans le premier emplacement de mémoire ; et - la vérification, à partir du premier marqueur et du 10 premier alias d'adresse, que le dispositif de traitement est autorisé à accéder au premier emplacement de mémoire. 10. Procédé selon la revendication 9, consistant en outre, avant la première opération de lecture, à générer, en relation avec une première opération d'écriture dans le premier 15 emplacement de mémoire, le premier marqueur et à stocker le premier marqueur dans le premier emplacement de mémoire. 11. Procédé selon la revendication 10, comprenant en outre : la réception par le circuit de vérification (312) en 20 relation avec la première opération d'écriture d'une indication d'un alias d'adresse desdits plusieurs alias d'adresse associés à la première opération d'écriture ; et la vérification que le mode de fonctionnement courant du dispositif de traitement permet au dispositif de traitement 25 d'écrire dans la mémoire au moyen dudit alias d'adresse associé à la première opération d'écriture. 12. Procédé selon l'une quelconque des revendications 9 à 11, dans lequel le premier marqueur comprend un code de détection d'erreur ou un code de correction d'erreur. 30 13. Procédé selon la revendication 12, comprenant en outre la vérification, par un circuit de code de détection d'erreur ou de code de correction d'erreur (604), que le premier alias d'adresse correspond à un alias d'adresse utilisé pour une opération d'écriture du premier marqueur. 35 14. Procédé selon l'une quelconque des revendications 9 à 13, comprenant en outre l'extraction, par un décodeur d'adresse B16137 17-R0-0155 19 (310), du premier alias d'adresse d'une adresse associée à la première opération de lecture.