comp.lang.ada
 help / color / mirror / Atom feed
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




  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