comp.lang.ada
 help / color / mirror / Atom feed
From: dennison@telepath.com
Subject: Re: Compiler Hosts and Targets
Date: 1998/12/18
Date: 1998-12-18T00:00:00+00:00	[thread overview]
Message-ID: <75dr0b$h$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 75c6ir$l61$1@nnrp1.dejanews.com

In article <75c6ir$l61$1@nnrp1.dejanews.com>,
  dewarr@my-dejanews.com wrote:
> In article <755s4v$7vh$1@nnrp1.dejanews.com>,
>   dennison@telepath.com wrote:
> > Non-Ada issue: There is no such thing as Pentium/VxWorks,
> > unfortunately.
> > There is an Intel3(or4)86/VxWorks target, which may be
> > used on Pentiums
> > (although it will run *slower* unless you change the
> > caching behavior!). But
> > if you use that on a Pentium it will not generated
> > Pentium optimized code.
>
> Not quite clear what "it" refers to here. VxWorks is not
> in the business of "generating" code at all! It is of
> course the case that compilers typically used with VxWorks,
> including gcc, and GNAT, can of course generate Pentium
> optimized code.

Of course "it" was a simplification. I didn't think anyone here was
interested in the gory details. But since you seem to insist upon them I'll go
ahead. The rest of you may want to go get a sandwich or something. :-)

Tornado, the system that came w/ our VxWorks (targetted to a PC clone)
contained the source code for the OS, a BSP for the PC, gcc, and a GUI
environment for building the OS and user programs. The BSP's that are
available are for PC386 and PC486 (no "PCPentium", no "PCPentiumII"). The gcc
we get is a prebuilt version for the 386 (not "Pentium", 386). With this
system as shipped, you cannot build Pentium targetted code. (I suppose its
possible they have a bare Pentium BSP, but that wouldn't be much fun to use
on a PC unless you enjoy writing device drivers).

The compiler we use is the GreenHills Ada compiler, which to my knowledge is
the *only* validated Ada compiler on this platform. (Rational does have some
VxWorks compilers for other CPU's). The GreenHills compiler cannot build
PentiumII or Pentuim optimized code; only 368 and 486.

The bug I was referrring to is a known VxWorks bug in this configuration. The
OS performs a cache invalidate whenever a task switch occurs. Apparently this
instruction takes roughly 5 cycles on the Pentium, but 2000 on the Pentium
II. If you run your system with relatively high rate tasks (2KHz in our
case), this causes a Pentium II system to run *slower* than Pentium I. We
have measured this in house (and we are not the only ones). The folks at
WindRiver actually sent someone out here to track it down, and ended up
changing our OS source files to get around the problem (*much* better now).

Everyone back from the fridge yet? Good. The point is that while you can run a
VxWorks system on a Pentium PC, neither VxWorks, not Tornado, nor Green Hills
are really designed for it.

--
T.E.D.

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




  reply	other threads:[~1998-12-18  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-12-14  0:00 Compiler Hosts and Targets Tucker Taft
1998-12-15  0:00 ` Robert I. Eachus
1998-12-15  0:00 ` dennison
1998-12-18  0:00   ` dewarr
1998-12-18  0:00     ` dennison [this message]
1998-12-19  0:00       ` dewarr
1998-12-21  0:00         ` dennison
1998-12-22  0:00           ` dewarr
1998-12-22  0:00             ` dennison
1998-12-22  0:00               ` dewarr
1998-12-26  0:00       ` Steven Hovater
1998-12-28  0:00         ` dennison
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox