Microprocesseurs & microcontrôleurs



Principaux fondeurs

Ces entreprises conçoivent et produisent en série des microprocesseurs et microcontrôleurs, destinés à être intégrés sur des cartes.

Microcontrôleurs

Ils peuvent, grosso modo, être de deux catégories :

Une autre classification, orthogonale à la précédente, consisterait à les classer par jeu d'instruction (ex : CISC, RISC).

Dans le cadre de la console, les deux nous intéressent : les "simples" pour décharger le processeur principal de tâches spécialisées et annexes (ex : gestion de périphériques), et surtout les "puissants" en tant que processeurs centraux potentiels.

Choix

Tout dépend du nombre d'exemplaires de l'appareil qu'il est prévu de fabriquer : pour les petites séries, les efforts de développement (humains) seront prédominants par rapport au coût d'un microcontrôleur, de telle sorte qu'il est logique de s'accorder de la marge avec un composant puissant et que l'on connaît, mais cher, plutôt que de dépenser des ressources humaines précieuses pour s'accommoder d'un moindre processeur, surtout s'il l'on ne dispose pas d'expérience dessus.

Bien évidemment, pour les grandes séries, la réciproque s'applique, et pour les consoles du commerce, destinées à être produites à des centaines de milliers d'exemplaires, la puissance de chaque composant, donc son prix, est soigneusement étudiée au plus juste. En cours de production, de nouveaux choix peuvent être faits, à seule fin d'économiser quelques centimes sur une puce : leur prix, multiplié par le nombre d'unités produites, l'emporte sur le coût des développements et études, qui donc s'y adaptent, et non l'inverse.

Pour les microcontrôleurs puissants, des environnements de développement complets sont disponibles, et surtout des compilateurs en langage de plus haut niveau que l'assembleur, comme le C, ou le Basic. Comme, à partir d'un compilateur conforme au standard C, il est possible de compiler (bootstrap) la plupart des compilateurs et interpréteurs des langages de plus haut niveau (ex : C++, Java, Python etc., cf la collection de compilateurs GNU), en théorie au moins il est envisageable de disposer sur un microcontrôleur de tous les raffinements et commodités usuels sur ordinateur. Reste à valider le fait que ces langages plus gourmands s'accommodent des faibles ressources embarquées...

Programmation

Il est souvent possible de procéder au développement logiciel pour microcontrôleur depuis un ordinateur classique, l'exécution pouvant se faire depuis ce dernier, grâce à un émulateur du composant. Cet émulateur est dans le meilleur des cas gratuit, ce qui donne des coûts de mise au point faibles.

Pour les tests réels, il convient de disposer d'une carte embarquant ledit composant, reliée à l'ordinateur par un câble de chargement ou s'agrémentant d'un programmateur (pour le code et les données), souvent sur port paralèlle. Pour faire des économies, il est possible de monter soi-même... le programmateur aussi, qui peut être plus ou moins universel (i.e. apte à programmer plusieurs modèles voire marques de composants);

Système d'exploitation

Pour les processeurs devant prendre en charge une, voire plusieurs, applications complexes, simultanément ou non, il devient pratique d'avoir recours à un système d'exploitation.

Dans le cadre du projet Once Sol, les systèmes d'exploitation libres auront notre préférence (pour des raisons aussi bien philosophiques qu'économiques), notamment le noyau Linux (ou sa version destinées à être embarquée, µLinux), ou le micro-noyau The Hurd.

Linux

Les processeurs supportés par la branche principale de Linux sont, notamment :

Liens sur les processeurs, la mesure de leurs performances (benchmarks) et leur choix





N'hésitez pas à nous faire part de votre avis !

Si vous avez des remarques à formuler, ou si vous disposez d'informations plus détaillées ou plus récentes que celles présentées dans ce document, si vous avez remarqué des erreurs, oublis, ou points insuffisamment traités, ou si vous avez envie d'apporter une aide, aussi petite soit-elle, envoyez-nous un courriel !




[Retour en haut de page]

Dernière mise à jour : 18 Août 2004