Nanoréseau Thomson sur PC "récents" : c'est possible !

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Fool-DupleX
Messages : 2271
Inscription : 06 avr. 2009 12:07

Re: Nanoréseau Thomson sur PC "récents" : c'est possible !

Message par Fool-DupleX »

Merci beaucoup, Jacques !

Ce résultat permet d'imaginer de véritablement ressusciter le NR, un peu trop tard certes, mais c'est tout un monde passionnant à explorer.

Il y a deux aspects sur lesquels j'aimerais donner quelques détails :

1. L'interruption IRQ2 est utilisée par la carte nanoréseau. Or, celle-ci sur PC-AT est en fait redirigée sur l'IRQ 9 et l'IRQ2 est utilisée pour gérer le deuxième contrôleur d'interruption (1 seul sur PC-XT). J'avais raté ce détail. Une des premières choses que j'ai faites avec Fabrice a été de modifier le pilote pour utiliser l'IRQ9 et proprement gérer l'indirection du deuxième contrôleur sur l'IRQ2. C'est un point fondamental.

2. Pour les boucles de temporisation, il n'existe AUCUNE méthode logicielle fiable de mesure du temps à la résolution de la us à partir du moment ou le processeur a un cache. Ce problème a été partiellement corrigé sur les Pentium et supérieur avec l'ajout de l'instruction assembleur RDTSC qui compte les cycles d'exécution. Sauf que ça ne fonctionne pas toujours de la même manière suivant l'architecture (en particulier Intel vs. AMD) et qu'évidemment, ce n'est plus fiable dès que l'horloge du processeur est dynamique, ce qui est apparu avec le PIII. Une autre manière aurait été d'utiliser le HPET, mais sa programmation est complexe puisqu'il faut d'abord initialiser l'ACPI et interroger ce dernier pour configurer le HPET. Beaucoup de code à écrire et plusieurs versions d'ACPI à gérer.

J'ai d'abord cru que j'allais devoir écrire une routine spécifique à chaque architecture et je dois bien avouer que cette perspective ne m'enchantait guère.

Mais je me suis souvenu qu'il y a un timer 8253 inutilisé sur la carte NR. Il tourne à la cadence de 447 KHz, soit une résolution de 2.23 us, quelle que soit la machine hôte. Et là, c'est gagné : on a une base de temps unique sur tous les PCs.

Cette approche s'est avéré excellente. Les chronogrammes entre le central sur le Duron 1.2 GHz et celui sur l'AthlonXP 2400+ cadencé à 2.175 GHz ne diffèrent que de 10-30 us sur un échange de 2 secondes environ.
Fool-DupleX
Messages : 2271
Inscription : 06 avr. 2009 12:07

Re: Nanoréseau Thomson sur PC "récents" : c'est possible !

Message par Fool-DupleX »

Voici un pilote beta. Il ne faut pas s'attendre à ce que ça fonctionne correctement et il est inutile de me dire "ça ne marche pas". Je sais qu'il n'est pas encore parfait. Par contre, si les testeurs me donnent leur config et les symptômes, ou me disent ça marche sur telle machine, ça m'intéresse.

Ne vous attardez pas sur le nom (CTDURON), c'est juste qu'il fallait bien donner un nom, mais ça ne signifie pas que ça tourne seulement sur Duron.
Pièces jointes
CTDURON.zip
(2.9 Kio) Téléchargé 38 fois
Avatar de l’utilisateur
petitjd
Messages : 2007
Inscription : 23 oct. 2007 11:50

Re: Nanoréseau Thomson sur PC "récents" : c'est possible !

Message par petitjd »

Exceptionnel Fool!!!
Bravo à tous!
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Nanoréseau Thomson sur PC "récents" : c'est possible !

Message par jice »

Incroyable, bravo !
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
Répondre