X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: RayeR Newsgroups: comp.os.msdos.djgpp Subject: Re: jitter between 2 hardware interrupt Date: Sat, 6 Mar 2010 07:13:42 -0800 (PST) Organization: http://groups.google.com Lines: 38 Message-ID: <607b5402-a0d4-4151-bf50-9ff3dbf0cd4b@i25g2000yqm.googlegroups.com> References: <201003041907 DOT o24J7K5f029877 AT delorie DOT com> NNTP-Posting-Host: 213.220.252.124 Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1267888422 12862 127.0.0.1 (6 Mar 2010 15:13:42 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Sat, 6 Mar 2010 15:13:42 +0000 (UTC) Complaints-To: groups-abuse AT google DOT com Injection-Info: i25g2000yqm.googlegroups.com; posting-host=213.220.252.124; posting-account=Q0wMHAoAAADjYrghh94FTf6YnbpTqZgp User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090825 SeaMonkey/1.1.18,gzip(gfe),gzip(gfe) Bytes: 2854 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I suspect that this behavior have something to do with PC SMBIOS/SMI. This is heavily used in modern PC for power management, error signalling and even emulating legacy hardware. CPU can be set in real mode, protected mode and SMM (System Management Mode) mode. SMM mode is entered when SMI (System Management Interrupt) is triggered. CPU has separated SMI pin that is fed from chipset. It has higher priority than NMI and I think it cannot be disabled for safety reasons. When SMI occured CPU switch to SMI handler. This is done in real mode as well as in protected mode. Entire CPU context is saved. SMI handler determine the cause of SMI and call the matching service. It can take some time of course. Finally it restore CPU context and switch back to RM/PM. So running operating system cannot recognize this interrupt. I think this approach is also used for USB storages emulating real drives. SMI BIOS cannot be completly disabled but by disabling some legacy support or power management stuff you may save some time... If you run your program on some old 486 or Pentium 1 you should notice much less jitter caused by this. Next I give you warning when using RDTSC. On mobile systems there are various power saving features like intel speedstep or EIST that cause CPU clock mudulation or dynamic core multiplier change which cause that you cannot rely on TSC that it runs on constant speed! I had some bad story with this when trying to use TSC for some short time measurement. On 4 b=C5=99e, 20:07, "Josep M." wrote: > I don't know why, but there are som bios task wich interrupts processor a= nd > I can not disable too.