Article View: fr.comp.lang.c
Article #15405Re: Delai en 100 eme de ms universel
From: Antoine Leca
Date: Mon, 26 Sep 2005 10:57
Date: Mon, 26 Sep 2005 10:57
35 lines
3041 bytes
3041 bytes
En <news:01c5c0cd$b9ffb9a0$6801a8c0@ramislap>, Alcor va escriure: > personnellement, j'utiliserait l'approche inverse : on boucle pendant > un temps fixe et on regarde jusqu'o� on est arriv� � compter. ce > nombre sera alors � multiplier par la dur�e demand�e. > > par exemple on peut d�tourner l'interruption 1C le temps du > chronom�trage. (elle est appel�e 18,2 fois par seconde) [couic] > ne pas oublier de faire un test de d�bordement du compteur. j'utilise > des INT64 et sur un p4 � 2.6GHz �a montait � 15.000.000 cycles. Autrement dit, 5800 cycles par MHz, ou (c'est pareil) un temps de cycle de 170 ticks CPU. > mais un jour, �a d�bordera, c'est juste une question de temps. Avec des entiers sur 64 bits, tu as quand m�me un peu de temps: en supposant que ni les architectures ni les optimisateurs ne progressent (m�me temps de cycle), le d�bordement arrivera (en sign�) pour une fr�quence de 1400 EHz. Avec un temps de cycle r�duit � 1 tick, une belle optimisation, on est encore dans des fr�quences de l'ordre de 8 EHz, plus de 2 milliards de fois mieux qu'� l'heure actuelle. Attention aux interf�rences! Mais je vois un probl�me avec ta m�thode: sous DOS, les compilateurs 16 bits (susceptibles de s'interfacer directement avec l'interruption 0x1C) ne sont pas capables de manipuler des donn�es enti�res sur 64 bits dans des conditions non prohibitives. La tentation va donc �tre grande de prendre un compilateur 32 bits (genre DJGPP); cela va donc faire intervenir le temps de phase de l'h�te DPMI, ce qui va rendre un peu plus compliqu� le calcul du temps de base de la boucle (il va au moins falloir faire une interpolation lin�aire). Antoine
Technical Details
Message-ID:
<dh8k7f$iej$1@shakotay.alphanet.ch>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!newsfeed.stueberl.de!news.imp.ch!news.imp.ch!80.83.46.147.MISMATCH!news.alphanet.ch!alphanet.ch!not-for-mailReferences:
<432ad506$0$307$7a628cd7@news.club-internet.fr> <r1h7j1tq1djhe51hd4fifl6tah44r1i3fv@4ax.com> <01c5c0cd$b9ffb9a0$6801a8c0@ramislap>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,8d23bb47e02845e2 X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!newsfeed.stueberl.de!news.imp.ch!news.imp.ch!80.83.46.147.MISMATCH!news.alphanet.ch!alphanet.ch!not-for-mail From: "Antoine Leca" <root@localhost.invalid> Newsgroups: fr.comp.lang.c Subject: Re: Delai en 100 eme de ms universel Date: Mon, 26 Sep 2005 12:57:51 +0200 Organization: Posted through ALPHANET (http://www.alphanet.ch/) Lines: 36 Sender: antoinel@143.red-217-127-250.staticip.rima-tde.net Message-ID: <dh8k7f$iej$1@shakotay.alphanet.ch> References: <432ad506$0$307$7a628cd7@news.club-internet.fr> <r1h7j1tq1djhe51hd4fifl6tah44r1i3fv@4ax.com> <01c5c0cd$b9ffb9a0$6801a8c0@ramislap> NNTP-Posting-Host: 143.red-217-127-250.staticip.rima-tde.net Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 8bit X-Trace: shakotay.alphanet.ch 1127732272 18899 217.127.250.143 (26 Sep 2005 10:57:52 GMT) X-Complaints-To: usenet@alphanet.ch NNTP-Posting-Date: Mon, 26 Sep 2005 10:57:52 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1506 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506