FR 2906917 A1 20080411 FR 0708185 A 20071122 1 L'invention concerne une méthode de dimensionnement d'un paramètre global d'un calculateur, pour la mise en oeuvre d'une fonction globale. Dans le domaine de l'automobile notamment, de nombreux calculateurs sont aujourd'hui utilisés pour mettre en oeuvre diverses fonctionnalités, comme par exemple la commande de divers équipements (dispositif de climatisation, groupe motopropulseur, etc.), ou la surveillance du fonctionnement correct de divers équipements. Ces calculateurs comprennent classiquement un processeur, une ou plusieurs mémoires, éventuellement de différents types (mémoire morte, mémoire vive, à lecture seule, inscriptible ou réinscriptible, etc.), un ou plusieurs dispositifs d'entrée / sortie. Le développement d'un calculateur implique de déterminer le nombre et la capacité des éléments qui composent le calculateur. Actuellement, il n'existe pas d'outils connus et efficaces pour déterminer, à partir de la description d'une fonctionnalité à mettre en oeuvre, le nombre et la capacité des éléments d'un calculateur susceptible de mettre en oeuvre la dite fonctionnalité. Le dimensionnement du calculateur se fait de manière empirique, en fonction des expériences précédentes, pour des fonctionnalités identiques ou similaires. Un inconvénient d'une telle méthode de dimensionnement est qu'elle donne seulement une estimation grossière, de 10 à 80% près. Ceci peut entraîner un surcoût inutile si le calculateur dimensionné est surpuissant par rapport aux besoins réels, voire des frais de développement si le calculateur dimensionné n'est pas assez puissant et doit être changé. L'invention a pour but une nouvelle méthode de dimensionnement d'un calculateur ne présentant pas cet inconvénient. Pour cela, l'invention propose une nouvelle méthode de dimensionnement d'un 25 paramètre global d'un calculateur, pour la mise en oeuvre d'une fonction globale souhaitée, comprenant les étapes suivantes, consistant à : • décomposer la fonction globale en fonctions élémentaires prédéfinies, • pour chaque fonction élémentaire, déterminer le nombre total d'exécutions nécessaires à l'exécution de la fonction globale, 30 • déterminer le paramètre global du calculateur, à partir d'un paramètre élémentaire correspondant de chaque fonction élémentaire et, pour chaque fonction élémentaire, du nombre total d'exécutions. La méthode selon l'invention permet ainsi d'obtenir un dimensionnement du calculateur plus précis, plus proche des besoins réels. 35 L'invention permet de disposer d'un outil d'estimation précis pour, par exemple: 2906917 2 • simuler facilement plusieurs modes de mise en oeuvre (ou stratégies) d'une même fonction globale (comme par exemple la commande d'un piège à NOx), pour choisir ensuite le mode de mise en oeuvre utilisant le calculateur le plus rapide, le plus efficace, le plus petit, etc. 5 • choisir un processeur plutôt qu'un autre (car plus efficace, pour rapide, etc. pour mettre en oeuvre la fonction souhaitées. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre, d'un exemple de méthode de dimensionnement d'un calculateur selon l'invention. 10 Comme dit précédemment, l'invention concerne une méthode de dimensionnement d'un paramètre global d'un calculateur, pour la mise en oeuvre d'une fonction globale souhaitée. Dans un exemple, on cherche à dimensionner un calculateur approprié pour commander un groupe motopropulseur selon une stratégie de commande un peut 15 différente des stratégies connues. Les paramètres globaux du calculateur qu'il est nécessaire de dimensionner sont par exemple : • pour chaque type de mémoire possible (RAM, ROM, EEPROM, etc.), le nombre de mémoires et la taille de chaque mémoire, • pour chaque type d'opérateur logique, le nombre total d'opérateurs logiques que doit comprendre le calculateur, en considérant que deux opérateurs logiques, par exemple de type OU, comprenant un nombre d'entrée différent sont de deux types différents, • le nombre d'unités arithmétiques et logiques (ALU), les types d'ALU étant définis en fonction de la taille des mots qu'il et possible de traiter, du temps nécessaire à la réalisation d'une opération élémentaire prédéfinie (ex addition de deux mots de 16 bits, multiplication de deux mots de 32 bits, etc.), • les différents types de registres (registre général, registre d'état, registre d'adresse, pointeur de pile, etc.) et pour chaque type, une taille de registre, • un nombre de dispositifs d'entrée / sortie, nécessaires à la communication du calculateur avec son environnement. • Selon l'invention, on réalise les étapes suivantes, consistant à : • décomposer la fonction globale en fonctions élémentaires prédéfinies, • pour chaque fonction élémentaire, déterminer le nombre total d'exécutions nécessaires à l'exécution de la fonction globale, 20 25 30 35 2906917 3 • déterminer le paramètre global du calculateur, à partir d'un paramètre élémentaire correspondant de chaque fonction élémentaire et, pour chaque fonction élémentaire, du nombre total d'exécutions. La fonction globale à décomposer peut être par exemple définie sous la forme 5 d'un cahier des charges, d'un diagramme de blocs, d'un diagramme de flux, ou sous toute autre forme appropriée. Les fonctions élémentaires prédéfinies sont par exemple de type : • opérations de logique combinatoire, telles que OU, ET, NON-ET, NON • opérations d'arithmétique élémentaire telles qu'une addition, une 10 soustraction, une multiplication, • opérations d'écriture dans une mémoire, par exemple de type inscriptible ou réinscriptible, ou • opérations de lecture dans une mémoire. Des fonctions élémentaires ayant des paramètres élémentaires (nombre 15 d'entrées ou de sortie, temps d'exécution, taille des mots traités, etc.) différents sont de types différents. Les étapes de décomposition de la fonction globale, de détermination du nombre total d'exécutions et de détermination du paramètre global peuvent être répétées pour chaque paramètre global du calculateur. 20 De préférence, la méthode comprend également une étape d'initialisation consistant à déterminer, pour chaque fonction élémentaire, un ou plusieurs paramètres élémentaires. L'obtention de la valeur de certains paramètres élémentaires peut être immédiate, et résulter simplement de la définition de la fonction élémentaire. C'est le cas de paramètres tels que le nombre d'entrées ou la taille des mots susceptibles d'être traités par une fonction élémentaire. La valeur de certains autres paramètres peut nécessiter des essais et des mesures en situation réelle. C'est le cas de paramètres tels que le temps d'exécution. L'étape de détermination du paramètre global du calculateur, à partir d'un paramètre élémentaire correspondant de chaque fonction élémentaire et, pour chaque fonction élémentaire, du nombre total d'exécutions, peut prendre diverses formes, selon le paramètre global considéré. Dans un premier exemple, pour déterminer un paramètre global tel que la taille d'une mémoire d'un type donné, on pourra : • pour chaque type de fonction élémentaire, multiplier le paramètre élémentaire associé à la fonction élémentaire (dans l'exemple, la taille élémentaire de mémoire nécessaire pour l'exécution de la fonction 2906917 4 élémentaire) par le nombre de fonctions élémentaires du type considéré à exécuter, puis • additionner tous les résultats obtenus pour obtenir la valeur du paramètre global. 5 Pour une meilleure détermination du paramètre global, on pourra tenir compte du fait que certaines ressources peuvent être partagées en multipliant le résultat obtenu précédemment par un facteur correctif, à déterminer à partir d'essais ou par l'expérience. Dans l'exemple de la mémoire, on peut ainsi tenir compte du fait que deux fonctions élémentaires de type différents n'utilisent pas simultanément deux zones mémoires 10 différentes, et peuvent donc en conséquence partager une même zone mémoire. Dans l'exemple de la mémoire, le facteur correctif peut être par exemple de l'ordre de 0.5 à 0.95, selon le type de mémoire, le type de fonctions élémentaires à exécuter et le nombre d'exécution de chaque type de fonction élémentaire. Ce mode de détermination d'un paramètre global peut également s'appliquer plus 15 généralement à tous les paramètres globaux. Dans un deuxième exemple, pour déterminer un paramètre global tel que le nombre d'ALU nécessaires pour la mise en oeuvre de la fonction globale, on pourra tenir compte pour être plus précis de l'ordre d'exécution des fonctions élémentaires, et de la manière dont un même composant du processeur (par exemple une ALU) peut être utilisé 20 pour exécuter successivement plusieurs fonctions élémentaires, éventuellement différentes. REVENDICATIONS 1. Méthode de dimensionnement d'un paramètre global d'un calculateur, pour la mise en oeuvre d'une fonction globale souhaitée, comprenant les étapes suivantes, consistant à : • décomposer la fonction globale en fonctions élémentaires prédéfinies, • pour chaque fonction élémentaire, déterminer le nombre total d'exécutions nécessaires à l'exécution de la fonction globale, • déterminer le paramètre global du calculateur, à partir d'un paramètre élémentaire correspondant de chaque fonction élémentaire et, pour chaque fonction élémentaire, du nombre total d'exécutions. 2. Méthode selon la revendication 1, dans laquelle les étapes de décomposition de la fonction globale, de détermination du nombre total d'exécution et de détermination du paramètre globale sont répétées pour chaque paramètre global du calculateur. 3. Méthode selon l'une des revendications précédentes, comprenant également une étape d'initialisation consistant à déterminer, pour chaque fonction élémentaire, un ou plusieurs paramètres élémentaires. 4. Méthode selon l'une des revendications précédentes, dans laquelle les fonctions élémentaires prédéfinies sont de type : • opérations de logique combinatoire, telles que OU, ET, NON-ET, NON • opérations d'arithmétique élémentaire telles qu'une addition, une soustraction, une multiplication, • opérations d'écriture dans une mémoire, par exemple de type inscriptible ou réinscriptible, ou • opérations de lecture dans une mémoire. 5. Méthode selon l'une des revendications précédentes, dans laquelle le paramètre global est : • un nombre et / ou une taille et / ou un type de mémoire, • un nombre d'opérateurs de logique combinatoire, et / ou un nombre d'entrée et / ou de sortie d'opérateurs de logique combinatoire • une taille et / ou un temps d'utilisation d'une unité arithmétique et logique, • un nombre de registre et / ou une taille de registre, et / ou • un nombre de dispositifs d'entrée / sortie. 30