From: "Brian K. Catlin" <tpcatlib@ccmail.orl.mmc.com>
Subject: Re: ADA, Windows NT and Real-Time (was GNAT R/T Annex and Win95)
Date: 1996/04/21
Date: 1996-04-21T00:00:00+00:00 [thread overview]
Message-ID: <317AACB2.2C8D@ccmail.orl.mmc.com> (raw)
In-Reply-To: 4ldqbf$kmq@news.pacifier.com
Steve Doiel wrote:
>
> In <317916B0.A5C@ccmail.orl.mmc.com>, "Brian K. Catlin" <tpcatlib@ccmail.orl.mmc.com> writes:
> >processor clock rate !). NOTE: The granularity of the timer service on PC (Intel)
> >platforms is 10 milliseconds (ancient PC architecture standard).
>
> Details, details but: According to the OS/2 Control Programming Guide (regarding timers on
> PC hardware) "On most hardware, clock ticks occur approximately 32 times a second, so each
> tick interval lasts approximately 31.25 milliseconds."
>
I guess I should have said "running Windows NT"
> The 10 msec number didn't sound right, since most of the real time OS's I've usd have had
> a 10 msec timer. But then again on the systems I've done they're mostly event driven
> so the resolution of the system timer isn't that significant.
>
I agree that most real-time applications are event driven, but regarding the timers:
Every "IBM PC Architecture" compliant system includes at least one 8254 Programmable
Interrupt Timer (or equivalent), which contains three independent 16-bit timers. Timer 0 is
used as the primary system timer. Timer 1 is used for DRAM refresh on ISA systems, and is
not supported on MCA systems. Timer 2 is for general application use, including speaker
tones. MCA and EISA systems alos provide a fourth counter, Timer 3, used as a Watchdog
timer. EISA systems also have a fifth counter, Timer 5 (not 4), used for optional CPU speed
control.
From MS Developer Network CDROM:
Windows NT Workstation version 3.5 makes it possible for applications to use the basic
system timer with the GetTickCount( ) API. The resolution of this timer is 10 milliseconds.
Several CPUs support a high-resolution counter that can be used to get very granular
resolution. The Win32 QueryPerformanceCounter( ) API returns the resolution of a
high-resolution performance counter. For Intel-based CPUs, the resolution is about 0.8
microseconds. For MIPS-based CPUs, the resolution is about twice the clock speed of the
processor. You need to call QueryPerformanceFrequency( ) to get the frequency of the
high-resolution performance counter.
Now that we've beat this timer issue into the ground, the original question was, "Can NT be
used for real-time systems ?". As I said originally, it can, *provided* that you understand
your platform thoroughly.
-Brian
--
Brian Catlin, Sannas Consulting (310) 798-8930
Contracting to Lockheed Martin Real-3D (407) 356-0637
Windows NT Internals and Device Driver Consulting
next prev parent reply other threads:[~1996-04-21 0:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-04-19 0:00 GNAT R/T Annex and Win95 Marin David Condic, 407.796.8997, M/S 731-93
1996-04-20 0:00 ` Tom Griest
1996-04-20 0:00 ` Wiljan Derks
1996-04-20 0:00 ` ADA, Windows NT and Real-Time (was GNAT R/T Annex and Win95) Brian K. Catlin
1996-04-21 0:00 ` steved
1996-04-21 0:00 ` Brian K. Catlin [this message]
1996-04-20 0:00 ` GNAT R/T Annex and Win95 Robert Dewar
1996-04-27 0:00 ` Dave Wood
1996-04-27 0:00 ` Robert Dewar
1996-04-22 0:00 ` Theodore E. Dennison
1996-04-23 0:00 ` Wiljan Derks
1996-04-22 0:00 ` Greg Bond
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox