🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #2213

Re: Nie zagadka, tylko pytanie

#2213
From: Michal Schulz
Date: Fri, 16 Apr 2010 13:47
32 lines
1975 bytes
Andrzej Grażyński wrote:

> W efekcie Delay(1000) nie zawsze daje jedną sekundę oczekiwania. Te
> mankamenty znikną, jeśli zamiast programowej pętli użyjemy RDTSC:

za to pojawia sie inne problemy.

> 1. czekamy, aż zmieni się wartość zegara BIOS:$6C
> 
> 2. Odczytujemy RDTSC i zapisujemy do TSCSTART
> 
> 3. czekamy, aż zmieni się wartość zegara BIOS:$6C
> 
> 4. Odczytujemy RDTSC i zapisujemy do TSCSEND
> 
> 5. Obliczamy liczbę tyknięć TSC na milisekundę:
> 
>    TSCPERMSEC = (TSCEND-TSCSTART)*(1193180/65536/1000)
> 
> i odtąd możemy odmierzać interwały w czasie rzeczywistym.

Badz ostrozny. W niektorych procesorach RDTSC liczy cykle w rozny sposob. W 
przypadku procesorow obslugujacych SpeedStep (Intel) albo Cool'n'Quiet (AMD) 
rdtsc moze zliczac cykle zaleznie od tego, z jaka predkoscia pracuje CPU w 
danej chwili. Twoja petla kontrolna zmierzy sie na przyklad przy 800MHz, a 
pozniej np. CPU przelaczy sie na 1800MHz.

Jezeli to mozliwe, uzyj timera z lokalnego APIC. Jest troche mniej dokladny 
(100MHz, na przyklad) ale za to niezalezny od predkosci taktowania CPU.

-- 
Michal Schulz
Technical Details
Message-ID: <3230933.3mMJ4iE7TS@meehow.homeip.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
References: <hq83lv$5in$1@news.onet.pl> <hq8uv7$vas$1@newsread1.aster.pl> <hq9iem$gp7$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
From: Michal Schulz <michal.schulz@onet.eu>
Newsgroups: pl.comp.lang.asm
Subject: Re: Nie zagadka, tylko pytanie
Followup-To: pl.comp.lang.asm
Date: Fri, 16 Apr 2010 15:47:12 +0200
Organization: http://onet.pl
Lines: 32
Message-ID: <3230933.3mMJ4iE7TS@meehow.homeip.net>
References: <hq83lv$5in$1@news.onet.pl> <hq8uv7$vas$1@newsread1.aster.pl> <hq9iem$gp7$1@news.onet.pl>
NNTP-Posting-Host: efzn038.efzn.tu-clausthal.de
Mime-Version: 1.0
X-Trace: news.onet.pl 1271425632 8596 139.174.65.55 (16 Apr 2010 13:47:12 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Fri, 16 Apr 2010 13:47:12 +0000 (UTC)
User-Agent: KNode/4.4.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit