Brevet FR3161964A1 — publié le 20251107

TITRE : Procédé de calcul haute intégrité sur calculateur mono-composant Un aspect de l’invention concerne un procédé d’obtention d’un résultat de calcul dans lequel deux calculs (CA, CB) sont réalisés respectivement par un même processeur (P) dans des fenêtres temporelles (FT1,FT2) différentes, les résultats étant ensuite comparés et l’intégrité des résultats étant ensuite comparées pour s’assurer de l’intégrité des calculs. Figure à publier avec l’abrégé : Figure 4 Procédé de calcul haute intégrité sur calculateur mono-composant DOMAINE TECHNIQUE DE L’INVENTION Le domaine technique de l’invention est celui du traitement de données critiques. La présente invention concerne un procédé de calcul haute intégrité sur calculateur mono-composant et en particulier un procédé permettant une redondance du calcul sans redondance du composant mettant en œuvre le calcul. ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION Dans le cadre de l’évolutions des mobilités, et en particulier de l’évolution des véhicules aéroportés de plus faible dimension et de l’augmentation de la valeur associée au traitement de la donnée, il est nécessaire de créer des systèmes d’acquisition fiables, compacts, peu énergivores et à bas coût. En parallèle, la maintenance programmée est de moins en moins plébiscitée au profit de solutions permettant d’effectuer la maintenance en fonction de l’état mesuré réel. Cela permet du report de maintenance. Les systèmes de mesure de l’état réel sont des systèmes hautement critiques. Il existe actuellement beaucoup de systèmes de capture et de traitement de la donnée. Certains de ces systèmes existants sont faiblement ou moyennement critiques et ne permettent pas d’avoir une intégrité suffisante pour réaliser du report de maintenance pour des pièces critiques. Certains autres de ces systèmes existants permettent d’avoir une intégrité suffisante pour une application à du report de maintenance mais sont basés sur de la redondance d’unité de calcul et sont donc plus chers et plus complexes. En aéronautique, il est exigé sur les systèmes critiques d’avoir un haut niveau d’intégrité conjugué à une haute disponibilité. Pour y répondre, une architecture matérielle est habituellement faite de plusieurs calculateurs. Par exemple, peuvent être mises en œuvre une redondance de deux processeurs appelés COM pour « computation » (« calcul » en français) et MON pour monitoring (« contrôle » en français) et/ou une redondance de deux processeurs appelés PRIM pour « Primaire » et SEC pour « secondaire ». Le principe de ces redondances est de vérifier, respectivement par le processeur secondaire ou de contrôle, les opérations réalisées respectivement par le processeur principal ou de calcul. Certaines applications telles que le contrôle à des fins de maintenance nécessitent toujours un très haut niveau d’intégrité des données. Pour ces systèmes, utiliser une architecture traditionnelle DAL (« Development Assurance Level » pour « Niveau d’Assurance de Développement » en français) de niveau A, c’est-à-dire de niveau critique tel que défini par les normes ED-12C et DO-178C « Software considerations in airborne systems and equipment certification » (« Considérations logicielles dans la certification des systèmes et équipements aéroportés » en français), est très coûteux. Il existe donc un besoin de pouvoir assurer, par un système de contrôle à des fins de maintenance, une haute intégrité des calculs tout en ayant un coût limité, et nécessitant moins de redondance de calculs que dans l’art antérieur. L’invention offre une solution aux problèmes évoqués précédemment, en permettant un haut niveau d’intégrité des calculs tout en diminuant les coûts de développement, de production et de maintenance. Un aspect de l’invention concerne ainsi un procédé d’obtention d’un résultat de calcul par un processeur, le procédé étant caractérisé en ce qu’il comprend : Obtenir au moins une première donnée et au moins une intégrité de la première donnée, Vérifier si la première donnée est intègre à partir de l’intégrité de la première donnée, et interrompre le procédé quand la première donnée n’est pas intègre, Mettre en œuvre un premier calcul par le processeur dans une première fenêtre temporelle pour obtenir un premier résultat de calcul, le premier calcul prenant en compte la première donnée, Calcul d’intégrité du premier résultat de calcul pour obtenir une première intégrité, Obtenir au moins une deuxième donnée et au moins une intégrité de la deuxième donnée, Vérifier si la deuxième donnée est intègre à partir de l’intégrité de la deuxième donnée, et interrompre le procédé quand la deuxième donnée n’est pas intègre, Mettre en œuvre un deuxième calcul par le processeur dans une deuxième fenêtre temporelle différente de la première fenêtre temporelle pour obtenir un deuxième résultat de calcul, le deuxième calcul prenant en compte la deuxième donnée, Calcul d’intégrité du deuxième résultat de calcul pour obtenir une deuxième intégrité, Comparaison du premier résultat de calcul et du deuxième résultat de calcul pour obtenir une première différence de résultat de calcul, Comparaison de la première intégrité et de la deuxième intégrité pour obtenir une première différence d’intégrité de résultat de calcul, Lorsque chaque différence est nulle parmi la première différence de résultat et la première différence d’intégrité, obtention du résultat de calcul, le résultat de calcul étant le premier résultat et/ou le deuxième résultat. Grâce à l’invention, il est possible de proposer une haute intégrité des calculs sans avoir à utiliser un système coûteux et complexe comprenant plusieurs processeurs. L’invention, au contraire de l’art antérieur, propose un procédé permettant une haute intégrité de calcul dans un unique processeur. Ce procédé, au contraire de procédés proposés dans l’art antérieur, ne nécessite pas de nombreuses redondances, mais utilise avantageusement des fenêtres temporelles de calcul différentes dans le même processeur pour réaliser deux calculs ayant un même résultat théorique. Si les deux calculs aboutissent au même résultat, l’intégrité des données ayant été vérifiée préalablement, le processeur est intègre. Des tests d’intégrité additionnels sont proposés dans la suite, permettant d’assurer un niveau d’intégrité maximal. L’invention permet d’éviter de redonder le matériel et de limiter les risques d’intrusion et de compromission des données en limitant les échanges entre composants matériels L’invention trouve une application particulièrement pertinente dans les systèmes aéronautiques et notamment dans les systèmes de contrôle à des fins de maintenance, pour lesquels la perte de la donnée n'entraîne pas de conséquences catastrophiques contrairement à la corruption non détectée des données. Ainsi, l’invention est particulièrement intéressante dans toutes les applications dans lesquelles l’intégrité des données est plus importante que la disponibilité des données. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon un aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles : le premier calcul est mis en œuvre par un premier cœur du processeur et le deuxième calcul est mis en œuvre par un deuxième cœur du processeur. Le fait d’avoir deux fenêtres temporelles différentes sur deux cœurs différents permet de limiter les interférences sur les ressources partagées entre les deux cœurs, et notamment en cas d’atteinte de sécurité de ces ressources. le premier calcul et le deuxième calcul sont différents et ont un même résultat théorique. lorsqu’au moins une différence n’est pas nulle parmi la première différence de résultat et la première différence d’intégrité, une alerte de défaut d’intégrité du processeur est émise. une alerte de défaut d’intégrité du processeur est émise et le procédé est arrêté lorsqu’un test d’intégrité préliminaire mis en œuvre avant la mise en œuvre du premier calcul et/ou du deuxième calcul indique que le processeur, le premier cœur et/ou le deuxième cœur n’est pas intègre. Cela permet de garantir un niveau de sécurité plus élevé concernant la vérification de l'intégrité et le calcul de la nouvelle intégrité. une alerte de défaut d’intégrité du processeur est émise et le procédé est arrêté lorsqu’un test d’intégrité postérieur mis en œuvre après la mise en œuvre du premier calcul et/ou du deuxième calcul indique que le processeur, le premier cœur et/ou le deuxième cœur n’est pas intègre. Cela permet de détecter l'apparition d'une défaillance qui aurait eu lieu postérieurement au premier test d'intégrité du processeur. les vérifications d’intégrité se basent sur une fonction de contrôle de redondance cyclique et l’intégrité de la première donnée, l’intégrité de la deuxième donnée, la première intégrité et la seconde intégrité obtenues sont le résultat de l’application de la fonction de contrôle de redondance cyclique respectivement à la première donnée, à la deuxième donnée, au premier résultat et au second résultat. le procédé comprend en outre, lorsque chaque différence est nulle parmi la première différence de résultat, la première différence d’intégrité au moins une étape de stockage, dans la mémoire, du résultat de calcul. le résultat de calcul est une information de choc d’une pièce d’un rotor d’aéronef et selon lequel la première donnée et la deuxième donnée sont acquises par au moins un capteur du rotor d’aéronef. le capteur est un résolveur relié à un arbre du rotor et selon lequel l’intégrité de la première donnée et l’intégrité de la deuxième donnée sont calculées par un convertisseur résolveur-numérique à partir de la première donnée et de la deuxième donnée acquises par le résolveur. Un autre aspect de l’invention porte sur un système embarqué configuré pour mettre en œuvre le procédé selon l’invention, le système embarqué comprenant au moins un processeur comprenant un premier cœur et un deuxième cœur et une mémoire, et au moins un capteur configuré pour acquérir la première donnée et la deuxième donnée, le capteur étant un accéléromètre ou un résolveur. Encore un autre aspect de l’invention porte sur un aéronef comprenant le système embarqué selon l’invention. L’invention est particulièrement intéressante pour les systèmes dont le besoin porte sur un haut niveau d’intégrité des résultats de calculs, et pour lesquels la haute disponibilité des résultats est moins importante. L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent. BREVE DESCRIPTION DES FIGURES Les figures sont présentées à titre indicatif et nullement limitatif de l’invention. La FIG. 1 montre une représentation schématique d’un premier mode de réalisation d’un procédé de mise en œuvre de calcul principal selon l’invention, La FIG. 2 montre une représentation schématique d’un système pour la mise en œuvre d’un procédé selon l’invention, La FIG. 3 montre une représentation schématique d’un système de contrôle à des fins de maintenance pour la mise en œuvre du procédé selon l’invention, La FIG. 4 montre une représentation schématique de la réalisation de calculs par deux cœurs d’un processeur dans un procédé selon l’invention. DESCRIPTION DETAILLEE Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique. La FIG. 1 montre une représentation schématique d’un procédé de mise en œuvre de calcul selon l’invention. Le procédé de mise en œuvre de calcul 1 représenté à la FIG. 1 est mis en œuvre au moins par un processeur P tel que le processeur P représenté à la FIG. 2 . Le processeur P est aussi appelé « calculateur mono-composant » en ce qu’il est un unique processeur P permettant de réaliser des calculs. Le processeur P comprend au moins un premier cœur P1. Dans un mode de réalisation préférentiel représenté à la FIG. 1 , le processeur P comprend en outre au moins un deuxième cœur P2. Bien sûr, l’invention couvre alors tout processeur P comprenant deux cœurs ou plus. La FIG. 2 montre une représentation schématique d’un système pour la mise en œuvre d’un procédé selon l’invention. Le système représenté à la FIG. 2 comprend un processeur P et une mémoire M. La mémoire M comprend des instructions qui, lorsqu’elles sont exécutées par le processeur P, conduisent le processeur P à mettre en œuvre le procédé 1 selon l’invention. Dans le cadre de la mise en œuvre du procédé 1, le processeur P peut être amené à stocker d’autres données dans la mémoire M ou à supprimer des données stockées dans la mémoire M. Le système S peut par exemple être embarqué dans un système aéroporté, par exemple dans un aéronef. Le système S mettant en œuvre le procédé 1 peut alors avantageusement être utilisé en tant que système de contrôle à des fins de maintenance d’au moins un équipement de l’aéronef. Le système S mettant en œuvre le procédé 1 peut aussi être utilisé en tant que système de contrôle à des fins de maintenance d’au moins un équipement qui ne soit pas un équipement d’aéronef. On entend par « système de contrôle à des fins de maintenance » un système capable d’informer de l’état d’un équipement surveillé et d’indiquer si celui-ci requiert une maintenance. De tels systèmes réalisent donc des calculs pour décider si l’équipement a besoin d’une maintenance. Par exemple, la FIG. 3 montre une représentation schématique d’un mode de réalisation d’un système de contrôle à des fins de maintenance S1 comprenant le processeur P et la mémoire M, ainsi qu’un capteur C et un convertisseur ADC/RDC. Le résultat de calcul est alors par exemple une information de choc d’une pièce d’un rotor d’aéronef. Préférentiellement, le capteur de rotor d’aéronef est un résolveur relié à un arbre du rotor de l’aéronef. Dans un tel cas, le convertisseur est un convertisseur résolveur/numérique. L’intégrité de la première donnée et l’intégrité de la deuxième donnée peuvent alors être calculées par le convertisseur résolveur-numérique à partir de la première donnée et de la deuxième donnée acquises par le résolveur. . Le capteur est alternativement tout capteur analogique, et dans un tel cas le convertisseur est un convertisseur analogique/numérique, qui peut aussi être configuré pour calculer l’intégrité de la première donnée et l’intégrité de la deuxième donnée. Le procédé 1 décrit à la FIG. 1 comprend plusieurs étapes permettant d’obtenir un résultat de calcul quand le processeur P le mettant en œuvre est intègre et quand les données sur lesquelles le calcul se base sont intègres. Un processeur P intègre est un dispositif n’ayant pas connu d’altération qui le mènerait à un comportement déviant, c’est-à-dire à un comportement différent du comportement attendu. Un processeur P intègre fonctionne donc de manière attendue, c’est-à-dire qu’il réalise des calculs de la manière selon laquelle il a été configuré. Un processeur P peut être dit « intègre » en fonction d’une probabilité de défaillance calculée du processeur. Si la crainte de défaillance est forte, par exemple dû à une probabilité de défaillance élevée, une vérification que le processeur P n'a pas connu d'altération peut être mise en œuvre, par exemple en réalisant des calculs dont les résultats sont connus à l’avance, et en comparant les résultats attendus et obtenus. Des données intègres sont des données non corrompues, c’est-à-dire des données n’ayant pas subi d’altération qui les mènerait à modifier le comportement des dispositifs les utilisant ou des fonctions qui leurs sont appliquées. Les données sur lesquelles le calcul se base peuvent être stockées dans une mémoire, conjointement avec une intégrité de la donnée calculée pour cette donnée à sa création. Par exemple, en sortie du capteur C, une intégrité d’une donnée analogique peut être calculée par un dispositif adapté, par exemple par le convertisseur ADC/RDC. Le procédé 1 décrit à la FIG. 1 ne permet pas d’obtenir un résultat du calcul lorsque le processeur P ou les données sur lesquelles le calcul se base ne sont pas intègres. On entend par « résultat d’un calcul » une donnée représentant une valeur de résultat d’un calcul. On entend par « calcul » au moins une opération à appliquer sur au moins une donnée obtenue par le processeur P et permettant d’obtenir au moins un résultat. Un exemple de calcul peut être réalisé dans le cadre d’un système S ou S1 de contrôle à des fins de maintenance. Le procédé 1 selon l’invention est un procédé d’obtention d’un résultat de calcul par le processeur P. Le procédé 1 selon l’invention n’est pas limité à la redondance d’un même calcul, et peut au contraire comprendre la mise en œuvre de deux calculs différents mais devant théoriquement aboutir au même résultat. Quand ces résultats obtenus sont identiques, un unique résultat de calcul est obtenu, considéré intègre. Le procédé 1 est représenté à la FIG. 1 comme comprenant trois parties A, B et C. Cette représentation est seulement utilisée pour une compréhension plus simple du procédé et l’invention ne se limite pas à un tel découpage. Le procédé 1 représenté à la FIG. 1 est un premier mode de réalisation d’un procédé selon l’invention. Le procédé 1 représenté à la FIG. 1 comprend une première partie A de mise en œuvre d’un premier calcul à partir de premières données et de calcul l’intégrité du résultat, une seconde partie B de mise en œuvre d’un deuxième calcul et de calcul de l’intégrité du résultat, et une troisième partie C de vérification de l’intégrité du processeur P par la comparaison des données obtenues aux différentes étapes des parties A et B précédentes. Bien entendu, l’invention n’est pas limitée à la mise en œuvre de deux calculs mais couvre aussi la mise en œuvre de plus de deux calculs, par exemple trois, quatre ou plus. Dans une première étape 11 du procédé 1 selon l’invention comprise dans la première partie A de la FIG. 1 , une première donnée DATA_A est obtenue. Cette donnée provient par exemple directement d’un capteur, via un convertisseur analogique-numérique et/ou résolveur-numérique. Cette donnée peut alternativement avoir été stockée préalablement dans une mémoire, par exemple dans la mémoire M. Cette première donnée DATA_A est obtenue avec son intégrité I_A, c’est-à-dire avec le résultat d’un calcul d’intégrité de la première donnée DATA_A. Ce calcul d’intégrité peut avoir été mené au plus près du capteur, par exemple par un convertisseur analogique-numérique et/ou résolveur-numérique, ou par un autre dispositif adapté. Il existe plusieurs moyens de calculer l’intégrité d’une donnée. L’invention couvre tout moyen de calculer une intégrité du résultat d’un calcul permettant d’obtenir en sortie une information concernant l’intégrité du résultat ou une donnée sur la base de laquelle il est possible de vérifier l’intégrité du résultat. Dans un mode de réalisation préférentiel, au moins un et préférentiellement tout calcul d’intégrité de l’invention utilise une fonction de contrôle de redondance cyclique, aussi appelée CRC. Une fonction CRC permet d’obtenir une donnée d’intégrité. Cette première donnée d’intégrité peut être ensuite comparée à une seconde donnée d’intégrité obtenue à partir des mêmes données en utilisant une seconde fois la même fonction CRC. Si la première donnée d’intégrité et la seconde donne d’intégrité sont égales, c’est-à-dire si la différence entre ces deux données d’intégrité est nulle ou égale à une valeur prédéterminée, alors l’intégrité est vérifiée. Les fonctions CRC sont principalement utilisées pour la transmission de données en annexant aux données desquelles on veut vérifier l’intégrité la donnée d’intégrité obtenue par l’utilisation de la fonction CRC sur ces données. Si les données ont été compromises pendant leur transmission, l’utilisation une nouvelle fois de la fonction CRC sur ces données donne un résultat non nul, ou différent d’un résultat attendu. Dans une deuxième étape 12 du procédé 1, l’intégrité de la première donnée est vérifiée. Pour cela, une intégrité I_A2 de la première donnée DATA_A est calculée par le processeur P, et est comparée avec l’intégrité I_A obtenue avec la première donnée DATA_A. Si les deux intégrités I_A et I_A2 sont identiques, alors la première donnée DATA_A est intègre et le procédé 1 continue. Au contraire, si les deux intégrités I_A et I_A2 sont différentes, alors le procédé 1 est arrêté (« N » à la FIG. 1 ). Une alerte peut alors être émise suite à cette détection d’anomalie « Anom ». Dans une troisième étape 13, un premier calcul est mis en œuvre par le processeur P. On entend par « un premier calcul est mis en œuvre » le fait d’exécuter au moins une opération constituant un premier calcul sur des données d’entrée, obtenues à l’étape 11 par le processeur P. Ces données sont les premières données DATA_A. Ces premières données DATA_A proviennent par exemple d’un équipement surveillé par le processeur P, ou de tout autre dispositif capable d’envoyer des données au processeur P. L’étape 13 de mise en œuvre du premier calcul permet d’obtenir un premier résultat RA. Ce premier résultat est une donnée représentant une valeur résultat du premier calcul mis en œuvre par le processeur P. Dans un mode de réalisation non représenté, le résultat RA est ensuite stocké dans la mémoire M. Dans un mode de réalisation dit « à deux cœurs », dans lequel le processeur P comprend au moins deux cœurs P1 et P2 et dans lequel les deux calculs CA et CB sont respectivement mis en œuvre par des cœurs différents du processeur P, ce premier calcul est mis en œuvre par le premier cœur P1. Dans une quatrième étape 14 du procédé 1 selon l’invention comprise dans la première partie A de la FIG. 1 , un calcul d’intégrité du premier résultat RA issu de la première mise en œuvre 13 du premier calcul est réalisé. L’étape 14 comprend donc la mise en œuvre d’un calcul d’intégrité sur le résultat obtenu à l’étape 13, pour obtenir une première intégrité I_RA, ou première « donnée d’intégrité » I_RA. Dans un mode de réalisation non représenté, la première intégrité I_RA est ensuite stockée dans la mémoire M. Il est important de noter que l’étape 14 de calcul d’intégrité permet d’obtenir une première donnée d’intégrité, et pas de vérifier l’intégrité du résultat du calcul. Pour vérifier que le processeur P ayant mis en œuvre les étapes 11 à 14 est intègre, le procédé 1 comprend, dans un mode de réalisation non représenté, une première étape T1 de test d’intégrité du processeur P avant les étapes 11 à 14 et une second étape T2 de test d’intégrité du processeur P après les étapes 11 à 14. Alternativement, un test d’intégrité T1 unique peut être mené avant ou entre les étapes 11 à 14, ou un test d’intégrité unique T2 peut être mené après ou entre les étapes 11 à 14. Ainsi, il est possible de détecter si un problème d’intégrité existe sur le processeur P avant et/ou après avoir mis en œuvre les étapes 11 à 14, et donc de savoir d’où provient le problème d’intégrité, c’est-à-dire s’il existait avant les étapes 11 à 14 ou non. De telles étapes T1 et T2 de test d’intégrité comprennent chacune la vérification de la capacité du processeur P à aboutir au résultat correct pour un calcul connu, par exemple pour un calcul de checksum (« somme de contrôle ») ou de contrôle de redondance cyclique (CRC), et/ou à bien comparer deux résultats obtenus, par exemple deux checksums (sommes de contrôle) ou deux CRC obtenus de deux calculs de checksum ou de CRC, respectivement. Un calcul de checksum ou de CRC comprend l’utilisation d’une fonction de calcul sur un ensemble de données permettant d’obtenir un résultat attendu. Le calcul de checksum ou de CRC est préférentiellement réalisé avec un jeu de valeurs dont le résultat est connu. La vérification de la capacité de comparaison du processeur P comprend, avec des jeux de valeurs connus, une vérification que le processeur P est capable de distinguer des valeurs incorrectes obtenues de valeurs correctes obtenues. Dans le cas où un problème d’intégrité est détecté durant au moins l’une des étapes T1 et/ou T2, une alerte de défaut d’intégrité, ou anomalie d’intégrité Anom, est levée et le procédé 1 peut être stoppé. Les données de résultat RA, d’intégrité I_RA et/ou toute donnée liée au calcul peuvent aussi être supprimées de la mémoire M lorsqu’elles y ont été stockées. Préférentiellement, dans le mode de réalisation dans lequel le processeur P comprend au moins deux cœurs P1 et P2, les tests d’intégrité T1 et/ou T2 comprennent un test des cœurs P1 et P2 du processeur, afin de s’assurer qu’un cœur P1 du processeur ne provoque des perturbations sur l’autre cœur pendant un calcul. Cela peut être réalisé en surveillant un bus de communication commun et/ou un nœud central d'interconnexion (aussi appelé « interconnect ») auquel sont connectés les cœurs. Dans une première variante au deuxième mode de réalisation, la variante étant non représentée, un test d’intégrité tel que les tests T1 et T2 est réalisé après chaque mise en œuvre de calcul, c’est-à-dire après les étapes 14 et 18 à la FIG. 3 . Dans cette variante, la FIG. 3 comprendrait une étape T2 après l’étape 14 et une étape T2 après l’étape 18. L’étape T1 peut n’être réalisée qu’une fois au début du procédé 1, ou avant chaque calcul. Dans le cas où un problème d’intégrité est détecté durant au moins l’une des étapes de test d’intégrité T1 et/ou T2, une alerte de défaut d’intégrité, ou anomalie d’intégrité Anom, est levée et le procédé 1 peut être stoppé. Les données de résultat RA, d’intégrité I_RA et/ou toute donnée liée au calcul peuvent aussi être supprimées de la mémoire M lorsqu’elles y ont été stockées. Dans une deuxième variante au deuxième mode de réalisation, la variante étant non représentée, un test d’intégrité tel que les tests T1 et T2 est réalisé après l’ensemble des mises en œuvre de calculs, c’est-à-dire après l’étape 18 à la FIG. 1 . Dans cette variante, la FIG. 1 comprendrait une unique étape T2 après l’étape 18 l’étape 18 étant la dernière mise en œuvre de calcul du procédé 1. L’étape T1 peut n’être réalisée qu’une fois au début du procédé 1, ou avant chaque calcul. Dans le cas où un problème d’intégrité est détecté durant au moins l’une des étapes de test d’intégrité T1 et/ou T2, une alerte de défaut d’intégrité, ou anomalie d’intégrité Anom, est levée et le procédé 1 peut être stoppé. Les données de résultat RA, d’intégrité I_RA et/ou toute donnée liée au calcul peuvent aussi être supprimées de la mémoire M lorsqu’elles y ont été stockées. Les premier et deuxième modes de réalisation sont ensuite identiques. Le procédé 1 comprend ensuite, dans la partie B, une étape 15 d’obtention d’une deuxième donnée DATA_B. Cette donnée peut avoir été obtenue de la même manière que la première donnée DATA_A, ou d’une manière différente, par exemple via un autre capteur ou en étant déjà stockée dans une mémoire. Cette deuxième donnée DATA_B est obtenue conjointement avec son intégrité I_B. Le procédé 1 comprend ensuite une étape 16 de vérification de l’intégrité de cette deuxième donnée DATA_B, de la même manière que la vérification d’intégrité de la première donnée DATA_A à l’étape 11, mais à partir de l’intégrité I_B de la deuxième donnée DATA_B. Puis une étape 17 de mise en œuvre d’un deuxième calcul CB permet d’obtenir un second résultat RB. Ce second résultat RB est une donnée représentant une valeur résultat du deuxième calcul CB mis en œuvre par le processeur P. Ce deuxième calcul CB peut être identique au premier calcul CA, ou être différent du premier calcul CA mais avec un résultat attendu identique. Dans ce deuxième cas, les deux calculs CA et CB doivent donner les mêmes résultats, même si les données d’entrées et la façon d’obtenir le résultat sont différentes. Dans un tel cas, l’avantage est de ne pas nécessiter une redondance stricte du même calcul. Pour cela, des bibliothèques de calcul différentes peuvent être utilisées, chaque bibliothèque de calcul étant utilisée par le cœur du processeur P mettant en œuvre le calcul associé. Alternativement, les différentes bibliothèques peuvent utiliser des blocs internes différents du processeur P. Par exemple, une bibliothèque peut utiliser l’unité de calcul entier, et une autre bibliothèque peut utiliser l’unité de calcul flottant. Alternativement encore, une bibliothèque de calcul commune peut être utilisée, sans que cela implique des calculs identiques, c’est-à-dire même dans le cas de calculs CA et CB différents. Dans le mode de réalisation dit « à deux cœurs », l’étape 17 de mise en œuvre du deuxième calcul CB est réalisée par un cœur du processeur P différent du cœur ayant mis en œuvre le premier calcul CA. Sinon, les étapes 15 à 18 sont mises en œuvre par le même cœur P1 ayant mis en œuvre le premier calcul CA. Préférentiellement, dans le mode de réalisation « à deux cœurs » toutes les étapes 15 à 18 de la partie B du procédé 1 sont réalisées par un cœur du processeur P différent du cœur du processeur P ayant mis en œuvre les étapes 11 à 14. Par exemple, comme représenté à la FIG. 4 , si le cœur P2 du processeur P a mis en œuvre les étapes 11 à 14, le cœur P1 du processeur P met en œuvre les étapes 15 à 18. Cela permet de s’assurer de l’intégrité du résultat de calcul, identifiant les cas dans lesquels un seul des cœurs est corrompu. De plus, l’étape 17 de mise en œuvre du deuxième calcul CB est réalisée dans une fenêtre temporelle FT2 différente d’une fenêtre temporelle FT1 de réalisation du premier calcul CA. Plus largement, et de manière préférentielle, les étapes 15 à 18 sont réalisées dans une fenêtre temporelle FT2 différente d’une fenêtre temporelle FT1 de réalisation des étapes 11 à 14. Cela permet d’identifier les cas dans lesquels le processeur P (ou chaque cœur du processeur P dans le mode de réalisation dit « à deux cœurs ») est corrompu à un instant donné, et d’identifier les périodes dans lesquels le processeur P a été intègre et les périodes dans lesquelles il ne l’a pas été. Les fenêtres temporelles FT1 et FT2 sont différentes en ce qu’elle ne se recoupent pas, et en ce qu’elles débutent à des instants différents. L’invention couvre toute durée de fenêtre temporelle, les deux fenêtres temporelles FT1 et FT2 pouvant être de durée identique ou différente. La fenêtre temporelle FT1 peut précéder ou succéder à la fenêtre temporelle FT2. Dans un mode de réalisation non représenté, le second résultat RB est ensuite stocké dans la mémoire M. L’étape 17 de mise en œuvre du deuxième calcul est suivie par une étape 18 de calcul d’intégrité du second résultat RB issu de la mise en œuvre 17 du deuxième calcul CB. Le calcul d’intégrité à l’étape 18 est le même calcul d’intégrité que le calcul d’intégrité à l’étape 14, c’est-à-dire que les étapes 18 et 14 utilisent la même fonction de calcul d’intégrité, respectivement sur les résultats RA et RB. L’étape 18 de calcul d’intégrité permet d’obtenir une seconde intégrité I_RB, de la même façon que l’étape 14 a permis d’obtenir une première intégrité I_RA. Dans un mode de réalisation non représenté, la seconde intégrité I_RB est ensuite stockée dans la mémoire M. Le procédé 1 selon l’invention comprend ensuite les étapes 19 et 20, comprises dans la partie C de vérification de l’intégrité du processeur P. À une étape 19, une comparaison du premier résultat RA et du deuxième résultat RB est réalisée par le processeur P. Cela permet d’obtenir une différence de résultat RB-RA. Cette différence n’est pas limitée à une soustraction ou une division. Toute fonction permettant de vérifier la similarité des résultats RA et RB est couverte par l’invention. La différence de résultat RB-RA est une donnée représentative de la similarité des premier et second résultats RA et RB. À une étape 20, une comparaison de la première intégrité I_RA et de la seconde intégrité I_RB est réalisée par le processeur P. Cela permet d’obtenir une différence d’intégrité I_RB-I_RA. Cette différence n’est pas limitée à une soustraction ou une division. Toute fonction permettant de vérifier la similarité des données d’intégrité I_RA et I_RB est couverte par l’invention. La différence d’intégrité I_RB-I_RA est une donnée représentative de la similarité des première et seconde intégrités I_RA et I_RB. Les étapes 19 et 20 peuvent être redondées pour une plus haute intégrité du calcul, c’est-à-dire que, dans un autre mode de réalisation, le procédé selon l’invention comprend deux étapes ou plus de comparaison des intégrités et deux étapes ou plus de comparaison des résultats. L’invention couvre toute redondance des étapes de comparaison des résultats et de redondance des étapes de comparaison des intégrités. Le procédé 1 comprend ensuite une étape de vérification Verif1 que chaque différence est nulle ou égale à une valeur prédéterminée parmi la différence de résultat RB-RA et la différence d’intégrité I_RB-I_RA. On entend par « chaque différence est nulle » le fait que les résultats sont égaux ou similaires et que les intégrités sont égales ou similaires. On entend par « chaque différence est égale à une valeur prédéterminée » le fait qu’une valeur a été prédéterminée, par exemple par un opérateur, et stockée dans une mémoire, et que la différence des résultats est égale à la valeur prédéterminée. Lorsque cette vérification Verif1 est confirmée « O », c’est-à-dire lorsque que chaque différence parmi la différence de résultat RB-RA et la différence d’intégrité I_RB-I_RA est nulle ou égale à une valeur prédéterminée, le résultat de calcul est fourni par le processeur P à une étape Res. Cette fourniture Res du résultat de calcul peut être un envoi, par le processeur P, du résultat de calcul, à un autre dispositif, le stockage du résultat de calcul dans la mémoire M, et/ou l’utilisation du résultat de calcul dans une autre fonction mise en œuvre par le processeur P. Le résultat de calcul est le premier résultat et/ou le deuxième résultat, qui peuvent être identiques ou dont la différence est égale à une valeur prédéterminée. Lorsqu’au moins une différence parmi la différence de résultat RB-RA et la différence d’intégrité I_RB-I_RA n’est pas nulle, c’est-à-dire lorsque les résultats sont inégaux ou dissimilaires, et/ou que les intégrités sont inégales ou dissimilaires, ou lorsqu’au moins une différence parmi la différence de résultat RB-RA et la différence d’intégrité I_RB-I_RA n’est pas égale à une valeur prédéterminée si une valeur prédéterminée a été définie, le résultat de calcul n’est pas fourni par le processeur P. Dans un tel cas, une destruction des données peut être réalisée à une étape « Dest ». Dans une variante, les données peuvent ne pas être détruites, ou supprimées de la mémoire M, mais peuvent être marquées comme non intègres. Des données « marquées » peuvent se voir annexer des données indiquant qu’elles ne sont pas fiables. Des données « marquées » peuvent aussi être des données modifiées pour ne plus être reconnues par un destinataire. Une alerte de défaut d’intégrité du processeur P Anom peut aussi être levée lorsque la vérification Verif1 n’est pas confirmée « N ». On entend par « lever une alerte » le fait d’émettre une alerte vers un autre dispositif, ou de stocker dans la mémoire M une information lié au défaut d’intégrité du processeur P. Procédé (1) d’obtention d’un résultat de calcul par un processeur (P), le procédé (1) étant caractérisé en ce qu’il comprend : Obtenir (11) au moins une première donnée (DATA_A) et au moins une intégrité de la première donnée (I_A), Vérifier (12) si la première donnée (DATA_A) est intègre à partir de l’intégrité de la première donnée (I_A), et interrompre le procédé (1) quand la première donnée (DATA_A) n’est pas intègre, Mettre en œuvre (13) un premier calcul (CA) par le processeur (P) dans une première fenêtre temporelle (FT1) pour obtenir un premier résultat de calcul (RA), le premier calcul (CA) prenant en compte la première donnée (DATA_A), Calcul d’intégrité (14) du premier résultat de calcul (RA) pour obtenir une première intégrité (I_RA), Obtenir (15) au moins une deuxième donnée (DATA_B) et au moins une intégrité de la deuxième donnée (I_B), Vérifier (16) si la deuxième donnée (DATA_B) est intègre à partir de l’intégrité de la deuxième donnée (I_B), et interrompre le procédé quand la deuxième donnée n’est pas intègre, Mettre en œuvre (17) un deuxième calcul (CB) par le processeur (P) dans une deuxième fenêtre temporelle (FT2) différente de la première fenêtre temporelle (FT1) pour obtenir un deuxième résultat de calcul (RB), le deuxième calcul (CB) prenant en compte la deuxième donnée (DATA_B), Calcul d’intégrité (18) du deuxième résultat de calcul (RB) pour obtenir une deuxième intégrité (I_RA), Comparaison (19) du premier résultat de calcul (RA) et du deuxième résultat de calcul (RB) pour obtenir une première différence de résultat de calcul (RB-RA), Comparaison (20) de la première intégrité (I_RA) et de la deuxième intégrité (I_RB) pour obtenir une première différence d’intégrité de résultat de calcul (I_RB-I_RA), Lorsque (Verif1) chaque différence est nulle ou égale à une valeur prédéterminée (O) parmi la première différence de résultat (RB-RA) et la première différence d’intégrité (I_RB-I_RA), obtention (Res) du résultat de calcul, le résultat de calcul étant le premier résultat (RA) et/ou le deuxième résultat (RB). Procédé (1) selon la revendication précédente selon lequel le premier calcul (CA) est mis en œuvre par un premier cœur (P1) du processeur (P) et selon lequel le deuxième calcul (CB) est mis en œuvre par un deuxième cœur (P2) du processeur (P). Procédé (1) selon l’une quelconque des revendications précédentes selon lequel le premier calcul (CA) et le deuxième calcul (CB) sont différents et ont un même résultat théorique. Procédé (1) selon l’une quelconque des revendications précédentes selon lequel lorsqu’au moins une différence n’est pas nulle (N) ou n’est pas égale à une valeur prédéterminée parmi la première différence de résultat (RB-RA) et la première différence d’intégrité (I_RB-I_RA), une alerte de défaut d’intégrité (Anom) du processeur (P) est émise. Procédé (1) selon l’une quelconque des revendications précédentes selon lequel une alerte de défaut d’intégrité (Anom) du processeur (P) est émise et le procédé (1) est arrêté lorsqu’un test d’intégrité préliminaire (T1) mis en œuvre avant la mise en œuvre (11) du premier calcul (CA) et/ou du deuxième calcul (CB) indique que le processeur (P)n’est pas intègre. Procédé (1) selon l’une quelconque des revendications précédentes selon lequel une alerte de défaut d’intégrité du processeur (P) est émise et le procédé (1) est arrêté lorsqu’un test d’intégrité postérieur (T2) mis en œuvre après la mise en œuvre (13) du premier calcul (CA) et/ou du deuxième calcul (CB) indique que le processeur (P)n’est pas intègre. Procédé (1) selon l’une quelconque des revendications précédentes selon lequel les vérifications d’intégrité (12,16) se basent sur une fonction de contrôle de redondance cyclique et l’intégrité de la première donnée (I_A), l’intégrité de la deuxième donnée (I_B), la première intégrité (I_RA) et la seconde intégrité (I_RB) obtenues sont le résultat de l’application de la fonction de contrôle de redondance cyclique respectivement à la première donnée (DAT_A), à la deuxième donnée (DATA_B), au premier résultat (RA) et au second résultat (RB). Procédé (1) selon l’une quelconque des revendications précédentes comprenant en outre, lorsque chaque différence est nulle ou égale à une valeur prédéterminée (O) parmi la première différence de résultat (RB-RA) et la première différence d’intégrité (I_RB-I_RA), au moins une étape de stockage dans la mémoire (M), du résultat de calcul. Procédé (1) selon l’une quelconque des revendications précédentes selon lequel le résultat de calcul est une information de choc d’une pièce d’un rotor d’aéronef et selon lequel la première donnée et la deuxième donnée sont acquises par au moins un capteur du rotor d’aéronef. Procédé (1) selon la revendication 9 selon lequel le capteur est un résolveur relié à un arbre du rotor et selon lequel l’intégrité de la première donnée (I_A) et l’intégrité de la deuxième donnée (I_B) sont calculées par un convertisseur résolveur-numérique (RDC) à partir de la première donnée (DATA_A) et de la deuxième donnée (DATA_B) acquises par le résolveur. Système embarqué (S) configuré pour mettre en œuvre le procédé selon l’une quelconque des revendications précédentes, le système embarqué (S) comprenant au moins un processeur (P) comprenant un premier cœur (P1) et un deuxième cœur (P2) et une mémoire (M), et au moins un capteur configuré pour acquérir la première donnée (DATA_A) et la deuxième donnée (DATA_B), le capteur étant un accéléromètre ou un résolveur. Aéronef comprenant le système embarqué (S) selon la revendication 11.