Brevet FR3075414A1 — publié le 20190621

La presente invention se rapporte au domaine des calculateurs embarques dans les vehicules automobiles et concerne plus particulierement un procede de gestion d'une pluralite de taches par un microcontroleur multicceur embarque dans un vehicule automobile. De maniere connue, un vehicule automobile comporte de nos jours une pluralite de calculateurs utilises pour executer diverses fonctions telles que, notamment, le controle du moteur du vehicule. Chaque calculateur comprend au moins un processeur ou un microcontroleur qui execute un ou plusieurs logiciels af in de remplir les fonctions desirees. Un logiciel definit une pluralite de fonctions qui sont executees dans un ordre précis ou selon les donnees d'entree regues ou les donnees de sortie generees. Quand un logiciel s'execute sur un processeur ou un microcontroleur qui possede plusieurs cceurs, le traitement des fonctions est realise en parallele sur les differents cceurs. Dans ce but, chaque fonction est divisee en une pluralite de taches, 15 chaque tache etant executee par l'un des cceurs. Certaines fonctions, dites « regulieres », par exemple liees a la gestion de ('injection de carburant, sont executees de maniere reguliere, par exemple toutes les 10 ou 100 ms, tandis que d'autres fonctions, dites « singulieres », sont executees de maniere asynchrone lorsque des evenements singuliers surviennent. 20 Les fonctions d'initialisation, par exemple la fonction executee lors du dernarrage du logiciel, sont considerees comme des fonctions singulieres et traitees comme telles. A titre d'exemple, it peut etre necessaire de mettre en oeuvre une fonction de transition lorsque certains evenements notables sont detectes, tels que le changement de la position de la cle de contact ou le dernarrage ou l'arret du moteur du vehicule. 25 Lorsqu'un tel evenement singulier survient, it est necessaire de suspendre ('execution de toutes les fonctions regulieres sur ('ensemble des cceurs afin de traiter la fonction singuliere d'initialisation ou de transition requise pour cet evenement. Autrement dit, tant que le traitement de la fonction singuliere n'est pas termine, les cceurs n'executent aucune fonction reguliere. 30 Une fonction singuliere d'initialisation ou de transition comprend une pluralite de taches qui sont executees en parallele sur les differents cceurs, chaque cceur prenant en charge certaines des taches. La repartition de ces taches entre les differents cceurs est predeterminee, par exemple en usine ou a la generation du logiciel, et est stock& dans une zone memoire du microcontroleur. En d'autres termes, la repartition des taches 2 des fonctions singulieres est statique et est donc toujours realisee de maniere identique pendant la duree de vie du logiciel. A titre d'exemple, on a represents a la figure 1 le traitement de trois fonctions regulieres F1, F2, F3 respectivement par trois cceurs 01, C2, C3 interrompues a un 5 instant t1 par la mise en oeuvre d'une fonction singuliere FS d'initialisation ou de transition comportant neuf taches T1, T2, T3, T4, T5, T6, T7, T8, T9. La repartition des taches T1, T2, T3, T4, T5, T6, T7, T8, T9 est predeterminee de sorte que le premier cceur 01 traite les taches T1, T4 et T7, que le deuxieme cceur C2 traite les taches T2, T5 et T8 et que le troisieme cceur C3 traite les taches T3, T6 et T9. 10 La reprise des fonctions regulieres ne peut alors avoir lieu que lorsque la derniere tache aura ete achevee a un instant t2 par le cceur qui la met en oeuvre, en l'espece la tache T7 mise en oeuvre par le premier cceur 01. Afin d'optimiser la repartition statique des taches d'une fonction singuliere, it est connu de repartir prealablement les taches de sorte que les cceurs 01, C2, C3 15 terminent leur derniere tache a des instants proches les uns des autres. Cependant, la vitesse de traitement des cceurs pouvant varier et ce travail d'optimisation n'etant pas toujours realise ou n'etant pas possible faute de mesures pertinentes et representatives, it s'avere qu'en pratique un cceur peut traiter sa derniere tache significativement longtemps apres les dernieres taches respectives des autres 20 cceurs, ces derniers etant inactifs pendant ce temps, ce qui peut ralentir significativement le fonctionnement du logiciel et rendre le systeme moins reactif. II existe donc un besoin pour une solution optimisant en temps reel la repartition des taches afin de recluire le temps de traitement des fonctions singulieres et rendre ainsi le systeme le plus reactif possible. 25 A cette fin, ('invention a pour objet un procede de gestion d'une pluralite de taches d'une fonction singuliere mise en oeuvre par un calculateur de vehicule automobile, ledit calculateur comprenant un microcontroleur, ledit microcontroleur, dit « multicceur », comprenant une pluralite de cceurs aptes chacun a traiter des fonctions regulieres et des fonctions singulieres, chaque fonction singuliere comportant une pluralite 30 de taches a executer identifiees chacune par un identifiant. Ledit procede etant remarquable en ce qu'il comprend, lors du traitement des taches d'une fonction singuliere, a chaque fois qu'un cceur de la pluralite de cceurs est disponible pour traiter une tache, une etape de selection, par ledit cceur disponible, dans une liste ordonnee predeterminee d'identifiants des taches de la fonction singuliere, de l'identifiant de la 35 premiere tache qui n'a pas encore ete traitee par les autres cceurs et une etape de traitement de la tache correspondant a l'identifiant selectionne par ledit cceur disponible. 3 Le procede selon l'invention permet ainsi d'equilibrer automatiquement, lors de ('execution du logiciel, la charge des cceurs du microcontroleur lors des phases d'initialisation et de transition. De preference, la fonction singuliere est une fonction d'initialisation ou de 5 transition entre deux etats du moteur du vehicule. Selon un aspect de l'invention, le procede comprend en outre, anterieurement a l'etape de selection, les etapes de traitement d'une pluralite de fonctions regulieres par la pluralite de cceurs du microcontroleur, de detection d'un evenement de declenchement de la fonction singuliere, et de suspension du traitement de la pluralite de fonctions 10 regulieres par la pluralite de cceurs suite a ladite detection. Selon une caracteristique de l'invention, l'etape de selection est realisee par une fonction de gestion commune a tous les cceurs. Avantageusement, la fonction de gestion commune utilise pour chaque tache une variable binaire (ou « flag ») pour indiquer l'etat de prise en charge de ladite tache par 15 l'un des cceurs. De maniere preferee, la fonction de gestion commune utilise une fonction atomique (c'est-a-dire non interruptible) pour gerer la mise a jour de la variable binaire associee a chaque tache. Ainsi, au demarrage du traitement de la fonction singuliere, chaque cceur execute cette fonction de gestion commune. Le premier cceur qui execute la 20 fonction atomique associee a la premiere tache verrouille la variable binaire (flag) associee (par exemple en passant de la valeur binaire 0 a la valeur binaire 1) et rend ainsi cette premiere tache inaccessible aux autres cceurs. Lorsque le deuxierne cceur lit la variable binaire associee a la premiere tache et constate qu'elle a pour valeur 1, it teste alors la variable binaire associee a la deuxierne tache. Si aucun autre cceur n'a encore 25 pris en charge la deuxierne tache, alors le second cceur verrouille la variable binaire associee et rend ainsi cette deuxierne tache inaccessible aux autres cceurs. Et ainsi de suite pour les autres cceurs et les traitements des autres taches qui composent la fonction singuliere. De maniere avantageuse, le procede comprend en outre une etape 30 d'initialisation des variables binaires prealablement a ('execution de la fonction singuliere. De preference, le procede comprend en outre, une etape de detection de la fin d'execution de la tache relative au dernier identifiant de la liste ordonnee predeterminee par l'un des cceurs de la pluralite de cceurs. De preference encore, le procede comprend en outre posterieurement a 35 l'etape de detection de la fin d'execution de la tache relative au dernier identifiant de la liste ordonnee predeterminee, une etape de reprise du traitement de la pluralite de fonctions regulieres par la pluralite de cceurs du microcontroleur. 4 Selon un aspect de ('invention, le procede comprend en outre une etape preliminaire de determination de la liste ordonnee d'identifiants des taches de la fonction singuliere. Avantageusement, le procede comprend en outre une etape de stockage de 5 la liste ordonnee predeterminee dans une zone memoire du calculateur. L'invention concerne aussi un calculateur pour vehicule automobile, ledit calculateur comprenant un microcontroleur, ledit microcontroleur, dit « multicceur », comprenant une pluralite de cceurs aptes chacun a traiter des fonctions regulieres et des fonctions singulieres, chaque fonction singuliere comportant une pluralite de taches a 10 executer identifiees chacune par un identifiant. Ledit calculateur est remarquable en ce que, lors du traitement des taches d'une fonction singuliere, chaque fois qu'un cceur de la pluralite de cceurs est disponible pour traiter une tache, ledit cceur disponible est apte a selectionner, dans une liste ordonnee predeterminee d'identifiants des taches de la fonction singuliere, ('identifiant de la premiere tache qui n'a pas encore ete traitee par les autres cceurs et pour traiter ladite tache correspondant a ('identifiant selectionne. Avantageusement, le calculateur comprend une zone memoire dans laquelle est stockee la liste ordonnee predeterminee d'identifiants des taches de la fonction singuliere. Avantageusement encore, le calculateur est apte a commander le traitement d'une pluralite de fonctions regulieres par la pluralite de cceurs du microcontroleur, a detecter un evenement de declenchement de la fonction singuliere, et a suspendre le traitement de la pluralite de fonctions regulieres par la pluralite de cceurs suite a ladite detection. De maniere preferee, le calculateur est apte a commander ('execution, par 25 chaque cceur, d'une tache predeterminee de la liste ordonnee predeterminee. L'invention concerne enfin un vehicule automobile comprenant un calculateur tel que presente precedemment. - La figure 1 (déja commentee) illustre un exemple de repartition statique des taches selon ('art anterieur. 30 - La figure 2 illustre schernatiquement une forme de realisation du calculateur selon ('invention. - La figure 3 illustre un exemple de liste ordonnee d'identifiants des taches relatives a une fonction singuliere. - La figure 4 illustre schernatiquement un mode de realisation du procede 35 selon ('invention. - La figure 5 illustre un exemple de repartition dynamique des taches selon l'invention. 5 - La figure 6 illustre un exemple de tache commune de gestion. L'invention est destinee a etre mise en oeuvre par un microcontroleur ou un processeur multicceur d'un calculateur embarque dans un vehicule automobile afin de gerer les taches relatives au fonctionnement du vehicule, notamment de son ou ses 5 moteurs. Afin d'illustrer la presente invention, on a represents schematiquement a la figure 2 un calculateur 1 comprenant un microcontroleur 10. Le microcontroleur 10 comprend trois cceurs C1, C2, C3 et une zone memoire 100. On notera que l'invention pourrait tout aussi bien etre mise en oeuvre par un 10 microcontroleur ou un processeur comportant deux ou plus de trois cceurs. De merne, en variante, on notera que la zone memoire 100 pourrait etre externe au microcontroleur et se trouver dans une autre partie du calculateur 1, voire hors du calculateur 1. Dans un microcontroleur 10 multicceur, chaque cceur C1, C2, C3 est configure pour traiter sequentiellement des taches caracterisees chacune par un identifiant T1, T2, 15 T3, T4, T5, T6, T7, T8, T9. On a illustre par la suite la mise en oeuvre de neuf taches par les trois cceurs C1, C2, C3, mais it va de soi que le nombre de taches pourrait etre inferieur ou superieur a neuf. Ces taches sont definies dans un logiciel (ou programme), stocks dans la 20 zone memoire 100, et permettent de mettre en oeuvre des fonctions necessaires au fonctionnement du vehicule. Parmi ces fonctions, on distingue les fonctions regulieres, par exemple mises en oeuvre de maniere periodique toutes les 10 ou 100 ms et liees au controle du ou des moteurs du vehicule, et les fonctions singulieres, survenant de facon asynchrone et liees 25 a des operations d'initialisation ou de transition entre differents etats. A titre d'exemple, une initialisation du microcontroleur peut etre necessaire lorsque le logiciel dernarre ou redernarre, par exemple en cas d'erreur d'execution ou de perturbation electromagnetique. Toujours a titre d'exemple, une fonction de transition est necessaire lors d'un changement d'etat de la clef de contact ou bien lorsque le moteur est 30 dernarre ou arrete. Lorsqu'un evenement necessitant ('activation d'une fonction singuliere survient, it est necessaire de suspendre le traitement des taches associees aux fonctions regulieres par tous les cceurs du microcontroleur 10 afin de traiter les taches de la fonction singuliere requise, qui est davantage prioritaire qu'une fonction reguliere. 35 Selon l'invention, une liste ordonnee et predeterminee d'identifiants des taches est stockee dans la zone memoire 100 pour chaque fonction singuliere, chaque cceur C1, C2, C3 du microcontroleur 10 etant alors configure, suite a la detection d'un 6 evenement singulier necessitant le declenchement d'une fonction singuliere determinee et a chaque fois que ledit cceur 01, C2, C3 est disponible, pour selectionner, dans la liste ordonnee d'identifiants des taches relatives a la fonction singuliere determinee, I'identifiant de la premiere tache qui n'a pas encore ete traitee par un autre cceur Cl, C2, 5 C3 et pour traiter ladite tache selectionnee. L'invention va maintenant etre decrite dans sa mise en oeuvre en reference aux figures 3 a 6. En prerequis, on considere que Ia liste ordonnee des identifiants des taches a ete prealablement determinee. 10 Dans une etape EO, chaque cceur Cl, C2, C3 met en oeuvre une fonction reguliere Fl, F2, F3 (ou est inactif en ('absence de fonction a mettre en oeuvre). Dans une etape E1, un evenement singulier ES survient, necessitant Ia mise en oeuvre immediate d'une fonction singuliere associee, par exemple d'initialisation ou de transition. 15 Dans une etape E2, ('execution des fonctions regulieres est suspendue pour permettre ('execution des taches de Ia fonction singuliere FS a mettre en oeuvre suite a Ia detection de l'evenement singulier ES. Dans une etape E3, les valeurs des indicateurs de chaque tache de Ia liste sont initialisees, par exemple en les mettant a zero. 20 Ensuite, dans une etape E4, une merne tache commune, appelee tache de gestion TG commune (figure 6) est executee par les trois cceurs Cl, C2, C3 afin que chaque cceur Cl, C2, C3 selectionne dans Ia liste ordonnee d'identifiants des taches relatives a Ia fonction singuliere associee, illustree a Ia figure 3, un identifiant de Ia prochaine tache de Ia liste qui n'a pas encore ete selectionnee par un autre cceur Cl, C2, C3 comme cela sera decrit ci-apres. On notera que, de maniere optionnelle, Ia fonction singuliere FS peut comporter egalement des taches dites « fixes » (non representee) TF1, TF2 et TF3, eventuellement vides (c'est-a-dire ne necessitant pas de traitement) qui doivent imperativement etre executees sur un cceur Cl, C2, C3 particulier (par exemple pour des raisons de protection de memoire entre les cceurs) avant Ia mise en oeuvre des taches dynamiques T1, T2, T3, T4, T5, T6, T7, T8, T9. La tache TF1 peut ainsi representer Ia tache fixe de Ia fonction singuliere FS associee au premier cceur Cl, Ia tache TF2 Ia tache fixe de Ia fonction singuliere FS associee au deuxierne cceur C2 et Ia tache TF3 Ia tache fixe de Ia fonction singuliere FS associee au troisierne cceur C3. Ces taches fixes TF1, TF2, TF3, c'est-a-dire liees a un cceur Cl, C2, C3, n'apparaissent pas dans Ia liste des identifiants des taches et ne sont donc pas gerees par Ia fonction de gestion commune. Cependant, elles seront realisees avant que Ia fonction de gestion commune 7 ne debute. Dans le cas ou la fonction singuliere FS comporte des taches fixes TF1, TF2, TF3, ('initialisation (etape E3) des indicateurs associes aux taches T1, T2, T3, T4, T5, T6, T7, T8, T9 est realisee avant ('execution de la plus rapide des taches fixes TF1, TF2 ou TF3. De plus, dans ce cas, la fonction de gestion commune pourra etre activee par le 5 cceur 01, C2, C3 qui a acheve en premier la mise en oeuvre de sa tache fixe de maniere a optimiser la mise en oeuvre et la gestion des taches T1, T2, T3, T4, T5, T6, T7, T8, T9. Dans l'exemple de la figure 5, au debut, le premier cceur Cl selectionne dans la liste ordonnee d'identifiants des taches relatives a la fonction singuliere associee le premier identifiant, et commence a executer la tache T1 correspondante a un instant tic,. 10 Simultanement, le deuxierne cceur C2 selectionne dans la liste ordonnee d'identifiants des taches relatives a la fonction singuliere associee le deuxierne identifiant, et commence a executer la tache T2 correspondante a l'instant t,o. Simultanement, le troisierne cceur C3 selectionne dans la liste ordonnee d'identifiants des taches relatives a la fonction singuliere associee le troisierne identifiant, et commence a executer la tache T3 15 correspondante a l'instant tlo. II va de soi que tout autre schema d'allocation initiale des taches aux cceurs Cl, C2, C3 pourrait etre utilise (par exemple, le troisierne cceur C3 pourrait traiter la tache T1 en premier tandis que le deuxierne cceur C2 traiterait la tache T3 et que le premier cceur Cl traiterait la tache T2). Ensuite, le cceur Cl, C2, C3 qui termine d'executer la tache T1, T2, T3 en premier va selectionner (etape E4) et 20 executer (etape E5) la tache dont l'identifiant suivant est stocke dans la liste ordonnee apres les identifiants des taches prealablement selectionnees et donc des taches qui ont ete ou sont traitees. En pratique, comme mentionne ci-avant, chaque cceur 01, C2, C3 va executer une merne tache commune, appelee tache de gestion TG commune (figure 6), 25 qui est configuree pour parcourir la liste ordonnee et selectionner le premier identifiant T1, T2, T3, T4, T5, T6, T7, T8, T9 dont la tache n'a pas encore ete prise en charge par l'un des cceurs 01, C2, C3. Pour ce faire, un indicateur, par exemple une variable binaire (« flag » en langue anglaise) associee a chaque tache (nomme flag ti ou i est en entier nature) compris entre 1 et 9 dans cet exemple), peut etre avantageusement utilise 30 pour signifier qu'un identifiant a déjà ete selectionne par l'un des cceurs. Par exemple, chaque identifiant de la liste peut etre associe a un indicateur prenant pour valeur 0 lorsque l'identifiant n'a pas ete selectionne (i.e. lorsque la tache correspondante n'a pas encore ete prise en charge par l'un des cceurs 01, C2, C3) et pour valeur 1 lorsque l'identifiant a déjà ete selectionne par l'un des cceurs 01, C2, C3. 35 Pour s'assurer qu'une tache reperee par son identifiant T1, T2, T3, T4, T5, T6, T7, T8, T9 n'est traitee que par un seul cceur, ('indicateur qui lui est associe est Ore par une fonction atomique (c'est-a-dire non seeable, non interruptible) appelee TEST SET, et 8 mentionnee TS dans l'algorigramme de la figure 6, qui teste la valeur de ce flag, le positionne a la valeur 1 si celui-ci est a 0, et retourne la valeur de ce flag. Ainsi, si deux cceurs executent simultanement cette fonction atomique TEST SET(flag ti) mentionnee a la figure 6 TS (fg ti), des que le tout premier cceur ('execute, le flag ti associe a la tache 5 Ti passe a 1, le second cceur voit ce flag a 1 et passe donc au test du prochain flag, comme illustre a la figure 6. Dans l'exemple de la figure 5, l'indicateur (ou flag ; fg) associe a l'identifiant de chacune des taches T1, T2 et T3 est modifie de 0 a 1 lorsque chacun des trois cceurs selectionne respectivement les identifiants desdites taches T1, T2, T3. De preference, le procede comprend une initialisation des indicateurs associes a 10 chaque tache, par exemple a la valeur 0, realisee prealablement a la mise en oeuvre de la fonction singuliere FS. Toujours dans l'exemple de la figure 5, le troisieme cceur C3 termine la tache T3 a un instant til avant que le premier cceur Cl n'ait termine d'executer la tache T1 et que le deuxieme cceur C2 n'ait termine d'executer la tache T2. Le troisieme cceur C3 15 selectionne alors l'identifiant de la tache suivante de la liste qui n'a pas encore ete attribuee en choisissant le premier identifiant de la liste dont l'indicateur associe est a 0, en l'occurrence l'identifiant de la tache T4 et met en oeuvre ladite tache T4. Ensuite, le deuxieme cceur C2 ayant termine la tache T2 a un instant t12 alors que le troisieme cceur C3 est en train d'executer la tache T4 et que le premier cceur C1 20 est toujours en train d'executer la tache T1, ledit deuxieme cceur C2 selectionne alors l'identifiant de la tache suivante de la liste qui n'a pas encore ete attribuee en choisissant le premier identifiant de la liste dont l'indicateur associe est a 0, en l'occurrence l'identifiant de la tache T5, et met en oeuvre ladite tache T5. Ensuite, le premier cceur C1 ayant termine la tache T1 a un instant t13 alors 25 que le deuxieme cceur C2 est en train d'executer la tache T5 et que le troisieme cceur C3 est en train d'executer la tache T4, ledit premier cceur 01 selectionne alors l'identifiant de la tache suivante de la liste qui n'a pas encore ete attribuee en choisissant le premier identifiant de la liste dont l'indicateur associe est a 0, en l'occurrence l'identifiant de la tache T6 et met en oeuvre ladite tache T6. 30 Ensuite, le deuxieme cceur C2 ayant termine la tache T5 a un instant t14 alors que le troisieme cceur C3 est en train d'executer la tache T4 et que le premier cceur C1 est toujours en train d'executer la tache T6, ledit deuxieme cceur C2 selectionne alors l'identifiant de la tache suivante de la liste qui n'a pas encore ete attribuee en choisissant le premier identifiant de la liste dont l'indicateur associe est a 0, en l'occurrence 35 l'identifiant de la tache T7, et met en oeuvre ladite tache T7. Ensuite, le troisieme cceur C3 ayant termine la tache T4 a un instant t15 alors que le premier cceur C1 est en train d'executer la tache T6 et que le deuxieme cceur C2 9 est toujours en train d'executer la tache T7, ledit troisierne cceur C3 selectionne alors l'identifiant de la tache suivante de la liste qui n'a pas encore ete attribuee en choisissant le premier identifiant de la liste dont l'indicateur associe est a 0, en l'occurrence l'identifiant de la tache T8, et met en oeuvre ladite tache T8. 5 Ensuite, le premier cceur C1 ayant termine la tache T6 a un instant t16 alors que le deuxierne cceur C2 est en train d'executer la tache T7 et que le troisierne cceur C3 est en train d'executer la tache T8, ledit premier cceur C1 selectionne alors l'identifiant de la tache suivante de la liste qui n'a pas encore ete attribuee en choisissant le premier identifiant de la liste dont l'indicateur associe est a 0, en l'occurrence l'identifiant restant 10 de la tache T9, et met en oeuvre ladite tache T9. Le procede est ainsi mis en oeuvre tant que toutes les taches n'ont pas ete selectionnees pour etre mises en oeuvre. La detection (etape E6) de la fin du traitement de toutes les taches entraine la reprise des fonctions regulieres F1, F2, F3 (etape E7). Autrement dit, la mise en oeuvre des fonctions regulieres F1, F2, F3, suspendue 15 precedemment a l'instant tlo, reprend ensuite a un instant t20 (etape E7) lorsque chacun des cceurs C1, C2, C3 a termine de traiter la tache qu'il traitait et qu'il n'y a plus d'identifiants de taches a traiter dans la liste ordonnee (i.e. toutes les taches ont ete traitees et tous les indicateurs dits flags sont a 1). Dans l'exemple de la figure 5, lorsque le troisierne cceur C3 a termine 20 d'executer la tache T8 et constate qu'il n'y a plus d'identifiant a selectionner dans la liste ordonnee (tous les flags sont a 1), it devient inactif et attend que les autres cceurs aient termine d'executer leurs taches. De meme, lorsque le deuxierne cceur C2 a termine d'executer la tache T7 et constate qu'il n'y a plus d'identifiant a selectionner dans la liste ordonnee, it devient inactif et attend que les autres cceurs aient termine d'executer leurs 25 taches. Lorsque le premier cceur 01 a termine d'executer la tache T9 et constate qu'il n'y a plus d'identifiant a selectionner dans la liste ordonnee (etape E6), la mise en oeuvre des fonctions regulieres F1, F2, F3, suspendue precedemment a l'instant tlo, reprend ensuite (etape E7) a un instant t20 respectivement sur chacun des trois cceurs 01, C2, C3. On constate ainsi entre la figure 1 d'art anterieur et la figure 5 selon 30 ('invention une reduction du temps de traitement (t ,.20 - tic)) REVENDICATIONS1. Procede de gestion d'une pluralite de taches d'une fonction singuliere mise en oeuvre par un calculateur (1) de vehicule automobile, ledit calculateur (1) comprenant un microcontroleur (10), ledit microcontroleur (10), dit « multicceur », comprenant une pluralite de cceurs (C1, C2, C3) aptes chacun a traiter des fonctions regulieres et des fonctions singulieres (FS), chaque fonction singuliere (FS) comportant une pluralite de taches a executer identifiees chacune par un identifiant (T1, T2, T3, T4, T5, T6, T7, T8, T9), ledit procede etant caracterise en ce qu'il comprend, lors du traitement des taches d'une fonction singuliere, a chaque fois qu'un cceur (C1, C2, C3) de la pluralite de cceurs (C1, C2, C3) est disponible pour traiter une tache, une etape (E4) de selection, par ledit cceur disponible (C1, C2, C3), dans une liste ordonnee predeterminee d'identifiants (T1, T2, T3, T4, T5, T6, T7, T8, T9) des taches de la fonction singuliere (FS), de l'identifiant (T1, T2, T3, T4, T5, T6, T7, T8, T9) de la premiere tache qui n'a pas encore ete traitee par les autres cceurs (C1, C2, C3) et une etape (E5) de traitement de la tache correspondant a l'identifiant selectionne par ledit cceur (C1, C2, C3) disponible. 2. Procede selon la revendication 1, comprenant en outre, anterieurement a l'etape de selection, les etapes de : - traitement (E0) d'une pluralite de fonctions regulieres par la pluralite de cceurs (C1, C2, C3) du microcontroleur (10), - detection (El ) d'un evenement de declenchement de la fonction singuliere (FS), - suspension (E2) du traitement de la pluralite de fonctions regulieres par la pluralite de cceurs (C1, C2, C3) suite a ladite detection. 3. Procede selon l'une des revendications precedentes, dans lequel l'etape (E4) de selection est realisee par une fonction de gestion commune a tous les cceurs (C1, C2, C3). 4. Procede selon la revendication precedente, dans lequel la fonction de gestion commune utilise pour chaque tache une variable binaire pour indiquer l'etat de prise en charge de ladite tache par l'un des cceurs (C1, C2, C3). 5. Procede selon la revendication precedente, dans lequel la fonction de gestion commune utilise une fonction atomique pour gerer la mise a jour de la variable binaire 30 associee a chaque tache. 6. Procede selon l'une des revendications 4 et 5, comprenant en outre une etape d'initialisation des variables binaires prealablement a ('execution de la fonction singuliere (FS). 12 7. Procede selon l'une des revendications precedentes, comprenant en outre une etape (E6) de detection de la fin d'execution de la tache relative au dernier identifiant de la liste ordonnee predeterminee par l'un des cceurs de la pluralite de cceurs (C1, C2, C3). 5 8. Procede selon la revendication precedente, comprenant en outre posterieurement a l'etape (E6) de detection de la fin d'execution de la tache relative au dernier identifiant de la liste ordonnee predeterminee une etape (E7) de reprise du traitement de la pluralite de fonctions regulieres par la pluralite de cceurs du microcontroleur (10). 10 9. Calculateur (1) pour vehicule automobile, ledit calculateur (1) comprenant un microcontroleur (10), ledit microcontroleur (10), dit « multicceur », comprenant une pluralite de cceurs (C1, C2, C3) aptes chacun a traiter des fonctions regulieres et des fonctions singulieres, chaque fonction singuliere comportant une pluralite de taches a executer, identifiees chacune par un identifiant (T1, T2, T3, T4, T5, T6, T7, T8, T9), ledit 15 calculateur (1) etant caracterise en ce que, lors du traitement des taches d'une fonction singuliere, chaque fois qu'un cceur de la pluralite de cceurs est disponible pour traiter une tache, ledit cceur disponible est apte a selectionner, dans une liste ordonnee predeterminee d'identifiants (T1, T2, T3, T4, T5, T6, T7, T8, T9), des taches de la fonction singuliere, l'identifiant (T1, T2, T3, T4, T5, T6, T7, T8, T9) de la premiere tache qui n'a 20 pas encore ete traitee par les autres cceurs (C1, C2, C3) et pour traiter ladite tache correspondant a l'identifiant (T1, T2, T3, T4, T5, T6, T7, T8, T9) selectionne. 10. Vehicule automobile comprenant un calculateur (1) selon la revendication precedente.