Brevet FR2760109A1 — publié le 19980828

PROCEDE ET DISPOSITIF POUR L'EXECUTION PAR UN PROCESSEUR UNIQUE DE PLUSIEURS FONCTIONS DE NIVEAUX DE CRITICITE DIFFERENTS, AVEC UNE GRANDE SECURITE DE FONCTIONNEMENT. La présente invention concerne un procédé et un dispositif permettant l'exécution par un processeur unique de plusieurs fonctions de pilotage d'un processus industriel, certaines de ces fonctions nécessitant un niveau élevé de sécurité de fonctionnement. Elle s'applique notamment, mais non exclusivement, aux calculateurs embarqués à bord des aérodynes qui assurent différentes fonctions de conduite de vol. Il s'avère que les développements en cours de ces équipements visent à automatiser de plus en plus les tâches de conduite de vol, et en particulier, le pilotage des aérodynes. Cette tendance conduit à des équipements de plus en plus complexes, encombrants, consommateurs d'énergie, coûteux, et difficiles à maintenir. Pour résoudre ce problème, on a cherché à intégrer et à rendre modulaires ces équipements. Pour cela, on a déjà proposé une architecture qui rassemble différents modules électroniques dans des baies ou des armoires électroniques, ces modules effectuant l'acquisition des informations issues des capteurs et des autres équipements embarqués, ainsi que l'élaboration de commandes de vol. On a par ailleurs tenté de regrouper plusieurs fonctions comprenant plusieurs tâches exécutées de manière cyclique, au sein d'un même module, les calculs et traitements nécessaires pouvant être effectués au moyen d'un même processeur utilisé en temps partagé. Or, dans les équipements embarqués à bord des aérodynes, on associe généralement un niveau de criticité à chaque fonction réalisée, et à chaque donnée utilisée par les fonctions, chaque niveau de criticité correspondant à un taux de panne maximum requis par les autorités de certification des équipements aéronautiques. Ainsi, les fonctions de niveau le plus critique correspondent à celles dont la défaillance peut avoir des conséquences catastrophiques. Ces fonctions doivent donc présenter une très faible probabilité de défaillance (inférieure à 10-9 panne par heure de vol). De même, les données les plus critiques sont les données qui, si elles ne sont plus disponibles ou erronées, peuvent entraîner des événements catastrophiques. Bien entendu, la criticité des données n'est pas en relation avec la criticité des fonctions qui les utilisent, une même donnée pouvant être utilisée par plusieurs fonctions de niveaux de criticité différents. Le partage d'un même processeur par plusieurs fonctions implique donc que des tâches de niveaux de criticité différents sont exécutées par le même processeur, ce qui accroît d'une manière importante le risque que des fonctions moins critiques, comme les fonctions liées à la maintenance des équipements, perturbent, voire bloquent l'exécution des fonctions les plus critiques. Il est alors nécessaire de prendre des dispositions particulières pour que les fonctions réalisées, et en particulier les plus critiques, soient exécutées avec un niveau de sécurité requis par les autorités de certification des équipements embarqués. A cet effet, on a proposé des architectures redondantes, où tous les modules, en particulier ceux qui assurent des fonctions critiques, sont triplés de manière à ce que les fonctions critiques puissent être réalisées même à la suite d'une défaillance. Cependant, cette solution présente peu d'intérêt dans une optique de réduction des coûts, du nombre de modules nécessaires, de la puissance consommée et dissipée, de la disponibilité (taux de pannes) et des facilités de maintenance des équipements. En outre, la solution de l'architecture redondante revient à dupliquer non seulement des fonctions critiques, mais aussi des fonctions non critiques, comme les fonctions de maintenance. La présente invention a pour but de supprimer ces inconvénients. A cet effet, elle propose un procédé pour l'exécution par un processeur unique de plusieurs fonctions regroupant chacune plusieurs tâches, le processeur ayant accès par adressage à un espace adressable comprenant des mémoires de programme et de données, et des registres d'entrée et de sortie permettant au processeur de communiquer avec son environnement. Selon l'invention, ce procédé est caractérisé en ce qu'il comprend - I'attribution d'un droit d'accès à chaque fonction à exécuter par le processeur, - la division de l'espace adressable par le processeur en partitions adressables et l'association de chaque partition adressable à au droit d'accès d'une des fonctions, de manière à permettre à chaque fonction d'accéder à au moins une partition adressable, - la division du temps d'utilisation du processeur en tranches de temps cycliques, et l'association de chaque tranche de temps au droit d'accès d'une des fonctions, de manière à ce que chaque fonction soit exécutée au cours d'au moins une tranche de temps, - au début de chaque nouvelle tranche de temps, la vérification que le processeur a terminé l'exécution de la fonction précédente, et l'émission d'un signal d'erreur vers le processeur si l'exécution de la fonction précédente n'est pas terminée, la mise à jour d'un droit d'accès en cours correspondant au droit d'accès associé à la nouvelle tranche de temps, et l'activation des tâches de la fonction correspondante, et - lors de chaque accès par le processeur à une partition adressable, la lecture du droit d'accès associé à la partition adressable accédée, la comparaison de ce droit d'accès avec le droit d'accès associé à la tranche de temps en cours, et l'émission d'un signal d'erreur vers le processeur dans le cas où la comparaison révèle une incohérence. Ces dispositions permettent l'exécution d'une manière totalement indépendante de plusieurs fonctions par un seul processeur, et ainsi d'éviter à la fois qu'une erreur d'adressage commise par le processeur lors de l'exécution d'une fonction entraîne des modifications de zones mémoires attribuées à d'autres fonctions, et qu'une erreur d'exécution qui provoque un dépassement du temps attribué à la fonction perturbe l'exécution de la fonction suivante par le processeur. Les erreurs qui peuvent apparaître au cours d'une tranche de temps cyclique se trouvent donc strictement confinées à cette tranche de temps, et ainsi, ne peuvent pas perturber les fonctions exécutées au cours des tranches de temps suivantes. De cette manière, il est possible de regrouper des fonctions de différents niveaux de criticité dans un même module comportant un seul processeur, sans que cela se traduise par une augmentation des risques de panne. I1 n'est donc plus nécessaire d'utiliser une architecture totalement doublée ou triplée, seules les fonctions les plus critiques étant doublées ou triplées. L'invention permet ainsi de réduire notablement le coût, I'encombrement et la puissance dissipée d'un tel équipement. Par ailleurs, comme les pannes sont confinées à la seule fonction affectée, la maintenance de l'équipement, et en particulier les opérations de localisation de panne et de réparation, se trouve facilitée d'une manière importante. Généralement, les fonctions exécutées pour le pilotage en temps réel d'un processus industriel comprennent plusieurs tâches qui sont exécutées périodiquement, chaque tâche ayant un niveau de criticité. Dans ce contexte, le procédé selon l'invention comprend en outre - la division des partitions de l'espace adressable en zones adressables, et l'association de droits d'accès à ces zones, - I'attribution des droits d'accès des zones de chaque partition adressable aux tâches de la fonction correspondant à la partition adressable en fonction des niveaux de criticité respectifs des tâches, - lors de l'activation de chaque tâche, la mise à jour d'un droit d'accès en cours, et - lors de chaque accès à une zone adressable, la comparaison du droit d'accès associé à la zone adressable avec le droit d'accès de la tâche en cours d'exécution. Avantageusement, le procédé selon l'invention comprend en outre l'attribution à chaque tâche de temps d'exécution minimum et maximum, le contrôle à la fin de l'exécution de chaque tâche que ces temps sont respectés, et l'émission d'un signal d'erreur vers le processeur lorsqu'ils ne sont pas respectés. Cette disposition permet un contrôle plus précis de l'exécution des tâches par le processeur, et ainsi, une meilleure détection des erreurs. Pour limiter davantage les conséquences des erreurs d'adressage, les zones de l'espace adressable par le processeur utilisables à chaque tranche de temps sont séparées par des zones non utilisées, ce qui permet d'éviter que certaines erreurs d'adressage entraînent des modifications erronées de la mémoire ou des accès en sortie erronés. Selon une autre particularité de l'invention, les zones non utilisées des mémoires de programme et de données sont remplies avec du code exécutable par le processeur permettant l'arrêt ou le blocage de celui-ci, ce qui permet de provoquer un dépassement du temps maximum attribué à la tâche en cours d'exécution. Un mode de réalisation du dispositif selon l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels La figure 1 représente un équipement électronique embarqué à bord d'un aérodyne, rassemblant plusieurs modules; La figure 2 montre plus en détail l'unité de traitement d'un module; La figure 3 illustre le fonctionnement de l'unité de traitement selon l'invention; La figure 4 représente l'organisation d'une partie de la mémoire d'une unité de traitement La figure 5 représente le codage d'un droit d'accès stocké en mémoire La figure 6 illustre la répartition de l'utilisation du processeur en tranches de temps cycliques. L'équipement électronique 1 représenté sur la figure 1, se présente sous la forme d'une baie électronique dans laquelle sont insérés et interconnectés une pluralité de modules 21 à 25, à savoir un module IOM 25 chargé de gérer les entrées et sorties de données analogiques et discrètes, non critiques, un module IOP 24 chargé de concentrer les données numériques non critiques, un module FGM 23 chargé du traitement des données critiques liées au pilotage automatique, un module SPM 22 chargé d'assurer la fonction de prévention des risques de décrochage, et un module d'alimentation primaire PPSM 21 qui regroupe les fonctions de pré-régulation des tensions primaires à 28 Volts fournies par deux lignes 26, 27 d'alimentation générale de l'aérodyne, les autres modules 22 à 25 comportant un circuit d'alimentation secondaire constitué de convertisseurs de tension de faible coût, assurant la production de tensions d'alimentations adaptées à leurs propres besoins. Les autres modules 22 à 24, à l'exception du module de gestion 25 des données analogiques et discrètes, comprennent chacun une unité de traitement située sur une meme carte à microprocesseur 30 et une carte d'extension spécifique 31 à 33, mais de structure voisine, assurant notamment les tâches d'entrée et sortie du module. Le module de gestion des données analogiques et discrètes 25 comprend également deux cartes 28, 29, mais celles-ci sont toutes les deux dédiées à la gestion des entrées et sorties et ne comportent pas de processeur. Il est à noter que deux modules identiques dans plusieurs équipements, tels que 1, peuvent effectuer le même traitement en redondance ou des traitements complémentaires, selon la criticité des fonctions réalisées. Cette architecture offre donc de nombreuses possibilités d'adaptation et de configuration. Sur la figure 2, l'unité de traitement 40 comprend un microprocesseur 70 cadencé par une horloge 71, et dont le fonctionnement est surveillé par un circuit "chien de garde" 75 qui est cadencé par une autre horloge 76. Le microprocesseur 70 est relié par l'intermédiaire d'un bus d'adresse et de données 72 à une mémoire programme de type non volatile 81, et à une mémoire de données de type volatile 82, ainsi qu'à un circuit ASIC 73. Les adresses d'accès fournies par le microprocesseur 70 sont traitées par un décodeur d'adresses 74 avant d'être envoyées sur le bus 72. Les unités de traitement des modules 22 à 24 sont identiques. Toutefois, les fonctions exécutées par chacune de ces différentes cartes peuvent être de natures très différentes, de durées variables, et surtout, de niveaux de criticité très différents. Il est donc nécessaire de prendre des mesures particulières pour assurer la bonne exécution de ces fonctions qui comprennent plusieurs tâches. Ainsi, par exemple, le module IOP 24 assure les fonctions suivantes - la concentration dans l'ensemble de traitement 1, 2, des données non critiques provenant des différents systèmes de l'aérodyne, à destination, en particulier, du système d'instrumentation électronique de la planche de bord, - I'élaboration des paramètres et des logiques de contrôle issus et à destination de fonctions redondantes, - la collecte et la mise en forme des données destinées à l'enregistreur de vol, - la génération des alarmes destinées à l'équipage et l'activation de dispositifs d'alerte visuelle et sonore, - la communication avec d'autres équipements, tels que le système avertisseur de la proximité du sol (GPWS), et - le test du système et la localisation d'avaries, cette dernière tâche ayant un degré de criticité moindre que les autres. Afin d'interdire qu'une fonction en perturbe une autre, et en particulier, qu'une fonction moins critique bloque l'exécution d'une fonction plus critique, le circuit ASIC 73 comprend: - un circuit de gestion 77 des entrées / sorties de l'unité de traitement 40, qui peuvent être de type numérique ARINC 429, discrètes, ou série, - un circuit de gestion de périphériques 78 comprenant des moyens de transfert rapide (DMA) de données entre zones adressables par le microprocesseur 70, et des moyens de comptage de temps et de génération d'interruptions cycliques en direction du microprocesseur 70, pour délimiter des tranches de temps cycliques, et - un circuit de contrôle 79 des accès à l'espace adressable par le microprocesseur 70 en fonction de droits d'accès affectés aux différentes tâches exécutées par celui-ci, ces droits d'accès étant stockés dans une autre mémoire non volatile 80 adressée par le bus 72 et dont le port de données et relié au circuit ASIC 73. Le circuit de contrôle des accès 79 comprend des moyens 79 pour effectuer le contrôle des plans d'adressage de l'espace adressable par le microprocesseur 70, cet espace comprenant les mémoires 81, 82 et des registres d'entrée et de sortie accessibles par le circuit de gestion des entrées/sorties 77, Par ailleurs, la mémoire 80 est connectée aux bits de poids forts du bus d'adresse, ce qui permet d'associer des droits d'accès stockés dans la mémoire à chaque ensemble, par exemple de 512 octets, de l'espace adressable par le microprocesseur. Tel que représenté sur la figure 3, le circuit de contrôle 79 des accès à l'espace adressable par le microprocesseur 70 comprennent un registre 111 contenant le droit d'accès autorisé correspondant à la tranche de temps cyclique en cours, mis à jour par le microprocesseur 70 au début de chaque nouvelle tranche de temps, marqué par une interruption. Ce circuit est connecté au bus de données de la mémoire non volatile 80 qui contient les droits d'accès de chaque zone de l'espace adressable par le microprocesseur 70. Sur la figure 4, la mémoire contenant les programmes 81 et la mémoire contenant les données 82 sont divisées en partitions 114p, 115p, 114d, 115d, attribuées respectivement à deux fonctions distinctes F1, F2, les partitions 114p et 115p contenant respectivement le programme exécutable par le microprocesseur 70 permettant la réalisation des fonctions F1, F2, et les partitions 114d et 115d les données utilisées exclusivement, respectivement par F1, F2. Comme chaque fonction comprend plusieurs tâches Jl 1, J12, J21, les partitions 114p, 115p, 114d, 115d sont à leur tour divisées en plusieurs zones 116p, 117p, 118p, 116d, 117d, 118d, chaque zone mémoire contenant le programme, ou selon le cas, étant utilisable pour stocker des données, par une tâche Jij de la fonction Fi correspondante. Ainsi, L'espace adressable par le microprocesseur est structuré en partitions et en zones à l'intérieur d'une même partition, chaque zone étant associée à un droit d'accès. Avantageusement, les zones de mémoire utilisables par chaque tâche cyclique sont séparées les unes des autres par des zones de mémoire non utilisées (zones hachurées montrées sur la figure 4), ce qui permet de rendre sans effet pour les autres fonctions certaines erreurs d'adressage. Lorsque le microprocesseur 70 effectue un accès à une des mémoires 81, 82, à une adresse donnée, celle-ci est envoyée sur le bus d'adresse 72a à la fois vers la zone mémoire adressée dans l'espace adressable du microprocesseur 70, et vers la mémoire 80 qui fournit alors les droits d'accès de la zone adressée au service de contrôle 79. Le service de contrôle 79 comprend un comparateur 113 qui compare les droits d'accès provenant du registre 111 avec les droits d'accès lus dans la mémoire 80. Si le comparateur détecte une différence, il interdit au microprocesseur 70 d'accéder à la zone mémoire adressée lorsqu'il s'agit d'un accès en écriture, et génère une interruption de violation d'accès à la mémoire, à destination du microprocesseur 70. Lorsqu'il s'agit d'un accès en lecture, il signale simplement que la lecture a été effectuée dans une zone interdite. Si les droits d'accès lus dans la mémoire 80 et ceux stockés dans le registre 111 coïncident, les données peuvent être échangées sur le bus de données 72d entre le microprocesseur et la zone mémoire. Sur la figure 5, les mots de droit d'accès stockés dans la mémoire 80 peuvent comprendre chacun quatre champs, à savoir un champ 121 correspondant à un niveau de criticité, un champ 122 correspondant à un numéro de partition, un champ de protection en écriture 123, et un champ de protection en lecture 124. Selon une variante de l'invention, le comparateur 113 peut autoriser en outre l'accès à une zone correspondant à la même fonction que celle de la tranche de temps en cours, et dont le niveau de droit d'accès est inférieur à celui de la tâche en cours, ceci afin d'instaurer une hiérarchie dans les droits d'accès lors de l'exécution des tâches d'une fonction. Cette détection d'erreurs d'adressage permet de neutraliser les fautes en empêchant toute modification erronée de la mémoire ou accès erroné à un registre de sortie, et de stopper l'exécution de la tâche ou de la fonction en faute, en fonction de la gravité de la faute. De cette manière, on évite toute propagation de la faute aux autres fonctions exécutées par le microprocesseur, et aux autres parties de l'espace adressable. D'après la figure 6, le procédé selon l'invention permet d'exécuter séparément par un même processeur plusieurs fonctions comprenant chacune plusieurs tâches, le temps d'utilisation du microprocesseur 70 étant divisé en périodes par une interruption IT RTC cyclique produite par une horloge temps réelle du circuit de gestion de périphériques 78, l'intervalle de temps entre deux interruptions IT RTC étant lui-même divisé en autant de tranches de temps que de fonctions F1, F2, F3 exécutées par le microprocesseur, par des interruptions ITS2, ITS3 espacées les unes des autres en fonction du temps que l'on souhaite attribuer à chaque fonction F1, F2, F3, ces interruptions étant également produites par le circuit de gestion 78. La fonction F1 comprend six tâches Jl 1 à Jl6, la tâche Jl 1 étant exécutée à chaque interruption IT RTC marquant le début de la partition attribuée à F1, les tâches J12, J13 et J14 (non représentée) étant exécutées en alternance à la suite de la tâche J11, la tâche J15 étant exécutée à chaque partition attribuée à F1 à la suite de l'une des tâches J12, J13, J14, la tâche J16 étant exécutée en tache de fond dans le temps restant de la partition attribuée à F 1. De même, la fonction F2 comprend deux tâches J2 1 et J22, la tâche J2 1 étant exécutée à chaque interruption ITS2 marquant le début de la partition attribuée à F2, et la tâche J22 étant exécutée en tâche de fond dans le temps restant de la partition attribuée à F2. La fonction F3 comprend 5 tâches, à savoir la tâche J3 1 exécutée à la suite de chaque interruption ITS3, la tâche J32, et les tâches J33 et J34 (non représentées), exécutées en alternance à la suite de la tâche J3 1, et la tâche J35 exécutée en tâche de fond dans le temps restant dans la partition attribuée à F3. Les interruptions IT RTC, ITS2 et ITS3 sont masquables, c'est-à-dire qu'elles sont reportées dans le cas où le microprocesseur exécute une séquence de code qui ne doit pas être interrompue. Pour éviter qu'une erreur se produisant durant une telle séquence de code ne perturbe l'exécution des autres fonctions, une interruption non masquable IT FinS3, IT FinS 1, IT FinS2, est générée par le circuit de gestion des périphériques 78 juste après la fin normale de la tranche de temps correspondante, cette interruption étant systématiquement désactivée par le microprocesseur 70 à la fin de l'exécution de toutes les tâches de chaque cycle. De cette manière, en fonctionnement normal, cette interruption n'apparaît pas, mais si l'exécution d'une fonction F1, F2, F3 pour un cycle donné dépasse la durée du cycle, cette interruption apparaît, ce qui permet d'éviter dans ce cas que l'activation de la fonction au cycle suivant soit retardée. Le microprocesseur 70 a accès à une table stockée en mémoire 81 décrivant l'ordonnancement des tâches à chaque cycle délimité par les interruptions IT RTC, ITS2 et ITS3, et les droits d'accès attribués à chaque tâche. Au lancement de la chaque tâche, le microprocesseur met à jour le registre 111 avec le droit d'accès attribué à la tâche dans cette table. Par ailleurs, on peut prévoir d'attribuer dans cette table, un temps minimum et un temps maximum à l'exécution de chaque tâche. Le processeur peut alors accéder à un compteur de temps compris dans le circuit de gestion des périphériques 78 au début et à la fin de chaque tâche et contrôler que le temps d'exécution ainsi mesuré se situe entre les temps minimum et maximum. Si cela n'est pas le cas, il appelle alors un gestionnaire d'erreur logiciel pour prendre en compte l'erreur et éventuellement stopper l'exécution ultérieure de la tâche ou de la fonction concernée de manière à neutraliser les effets de l'erreur. Afin d'augmenter encore la sécurité de fonctionnement apportée par la structuration de l'espace adressable par le microprocesseur, les zones non utilisées des mémoires 81, 82 peuvent être remplies avec du code exécutable par le microprocesseur 70 qui, s'il venait à être exécuté par le microprocesseur, provoquerait par exemple son arrêt ou son blocage, et ainsi, un dépassement du temps maximum attribué à la tâche. REVENDICATIONS 1. Procédé pour l'exécution par un processeur (70) unique de plusieurs fonctions regroupant chacune plusieurs tâches, le processeur ayant accès par adressage à un espace adressable comprenant des mémoires de programme (81) et de données (82), et des registres (77) d'entrée et de sortie permettant au processeur de communiquer avec son environnement, caractérisé en ce qu'il comprend - l'attribution d'un droit d'accès à chaque fonction (F1, F2) à exécuter par le processeur (70), - la division de l'espace adressable par le processeur en partitions adressables et l'association de chaque partition adressable au droit d'accès d'une des fonctions, de manière à permettre à chaque fonction d'accéder à au moins une partition adressable, - la division du temps d'utilisation du processeur en tranches de temps cycliques, et l'association de chaque tranche de temps cyclique au droit d'accès d'une des fonctions, de manière à ce que chaque fonction soit exécutée au cours d'au moins une tranche de temps, - au début de chaque nouvelle tranche de temps, la vérification que le processeur a terminé l'exécution de la fonction précédente, et l'émission d'un signal d'erreur vers le processeur si l'exécution de la fonction précédente n'est pas terminée, la mise à jour d'un droit d'accès en cours correspondant au droit d'accès associé à la nouvelle tranche de temps, et l'activation des tâches de la fonction correspondante, et - lors de chaque accès par le processeur (70) à une partition adressable, la lecture du droit d'accès associé à la partition accédée, la comparaison de ce droit d'accès avec le droit d'accès associé à la tranche de temps en cours, et l'émission d'un signal d'erreur vers le processeur dans le cas où la comparaison révèle une incohérence. 2. Procédé selon la revendication 1, caractérisé en ce que les fonctions sont exécutées périodiquement, chaque tâche ayant un niveau de criticité, le procédé comprenant en outre - la division des partitions de l'espace adressable en zones adressables, et l'association de droits d'accès à ces zones, - I'attribution des droits d'accès des zones de chaque partition adressable aux tâches de la fonction correspondant à la partition adressable en fonction des niveaux de criticité respectifs des tâches, - lors de l'activation de chaque tâche, la mise à jour d'un droit d'accès en cours, et - lors de chaque accès à une zone adressable, la comparaison du droit d'accès associé à la zone adressable avec le droit d'accès de la tâche en cours d'exécution. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comprend en outre l'attribution à chaque tâche d'un temps d'exécution minimum et maximum, le contrôle à la fin de l'exécution de la tâche que la durée d'exécution de la tâche est comprise entre ces temps minimum et maximum, et l'émission d'un signal d'erreur si cette condition n'est pas remplie. 4. Procédé selon la revendication l ou 2, caractérisé en ce que les zones de l'espace adressable par le processeur (70) utilisables à chaque tranche de temps sont séparées par des zones non utilisées. 5. Procédé selon la revendication 4, caractérisé en ce que les zones non utilisées des mémoires de programme (81) et de données (82) sont remplies avec du code exécutable par le processeur (70) permettant l'arrêt ou le blocage de celui-ci, ce qui permet de provoquer un dépassement du temps maximum attribué à la tâche en cours d'exécution.. 6. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'accès par le processeur (70) à une zone de l'espace adressable est autorisé si le droit d'accès de la tâche en cours est supérieur au droit d'accès de la zone adressable, pour la même tranche de temps cyclique. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que le droit d'accès associé à chaque tâche contient un champ d'autorisation d'accès en lecture et un champ d'autorisation d'accès en écriture, le procédé comprenant en outre l'interdiction d'accéder à une zone mémoire en cas de violation d'accès en écriture, et le signalement des accès en lecture interdits. 8. Dispositif pour la mise en oeuvre du procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend - des moyens (79) pour diviser l'espace adressable par le microprocesseur en partitions adressables et en zones adressable, et pour attribuer à chaque fonction et chaque tâche exécutée par le microprocesseur, respectivement au moins une partition adressable et au moins une zone adressable, - des moyens (79) pour diviser le temps d'utilisation du processeur en tranches de temps cycliques, et pour attribuer ces tranches de temps respectivement à l'exécution de chacune des fonctions, - des moyens pour activer successivement dans un ordre prédéfini les tâches de chaque fonction pendant les tranches de temps attribuées à la fonction, - des moyens pour mettre à jour et stocker (111) les droits d'accès correspondant à la tâche en cours d'exécution, et des moyens (113) pour contrôler lors de chaque accès à une zone adressable que les droits d'accès attribués à la tâche en cours correspondent à ceux de la zone adressée. 9. Dispositif selon la revendication 8, caractérisé en ce qu'il comprend en outre des moyens pour contrôler que le temps d'exécution de chaque tâche respecte une durée minimum et une durée maximum, associées de la tâche, et l'émission d'un signal d'erreur lorsque ces durées ne sont pas respectées. 10. Dispositif selon la revendication 8 ou 9, caractérisé en ce qu'il comprend en outre des moyens (79) pour effectuer le contrôle des plans d'adressage de l'espace adressable par le microprocesseur (70), cet espace comprenant les mémoires (81, 82) et des registres d'entrée et de sortie, 11. Dispositif selon l'une des revendications 8 à 10, caractérisé en ce que les tranches de temps sont délimitées par des interruptions appliquées au processeur, qui peuvent être retardées lorsque le processeur exécute une séquence de programme non interruptible. 12. Dispositif selon la revendication 11, caractérisé en ce qu'il comprend des moyens pour générer une interruption non masquable par une séquence de programme non interruptible, juste après le début d'une tranche de temps cyclique dans le cas où, à cet instant, l'exécution de la fonction au cours de la tranche de temps précédente ne s'est pas terminée, et l'émission d'un signal d'erreur pour signaler que l'exécution de cette fonction est erronée.