Contexte matériel et exigences

Le projet, réalisé en 1993, devait fonctionner sur un ordinateur portable équipé d’un processeur Intel 486‑SX à 25 MHz, sans coprocesseur mathématique, de 32 Mo de RAM et d’une ROM contenant le logiciel. L’affichage était prévu en couleur à une résolution de 1024×768 pixels, bien supérieure aux écrans monochromes 360×240 des premiers GPS grand public. Ces contraintes imposaient une optimisation sévère des calculs géographiques, car le 486‑SX ne disposait que d’un jeu d’instructions entières et d’une capacité de calcul flottant très limitée.

Approche algorithmique de la bibliothèque Hipparchus

Pour contourner l’absence de coprocesseur, le développeur a intégré la bibliothèque Hipparchus de la société Geodesy. Cette bibliothèque remplace les traditionnels calculs trigonométriques en virgule flottante par une représentation basée sur des cellules de Voronoï. La plupart des opérations sont réduites à des calculs sur des entiers de 8 bits ou 16 bits, avec seulement une ou deux opérations en simple précision flottante. Selon l’article de Dr. Dobb’s, cette méthode offre une résolution supérieure à celle obtenue avec des calculs en précision étendue, tout en diminuant la charge CPU de façon drastique.

Performance obtenue et comparaison avec les premiers GPS

Le prototype a permis de rafraîchir l’affichage couleur 1024×768 toutes les deux secondes, soit un taux de mise à jour deux fois plus rapide que les premiers appareils GPS grand public (Garmin, Magellan) qui n’apparaissent qu’en 1998‑1999. Ces appareils utilisaient des écrans 360×240 monochromes et dépendaient d’un processeur capable de calculs flottants plus rapides, ce qui limitait leur fréquence de mise à jour. Le système basé sur le 486‑SX, grâce à Hipparchus, a donc atteint une performance équivalente à celle de ces appareils tout en restant économique et sans coprocesseur.

Limites et héritage

Le code était stocké en ROM, ce qui rendait les mises à jour logicielles difficiles. De plus, la dépendance à la bibliothèque propriétaire Hipparchus a limité la diffusion du projet : le client a finalement cédé le code, et aucune suite commerciale n’est documentée. Malgré ces contraintes, l’expérience montre que des algorithmes basés sur des structures géométriques (Voronoï) et des calculs entiers peuvent compenser l’absence de puissance flottante, une leçon encore pertinente pour les systèmes embarqués à faible consommation aujourd’hui.