|HLL for dsp compiler? email@example.com (Kent Stenman) (1998-08-30)|
|Re: HLL for dsp compiler? firstname.lastname@example.org (1998-08-31)|
|HLL for DSP email@example.com (Dean F. Sutherland) (1998-09-01)|
|From:||"Dean F. Sutherland" <firstname.lastname@example.org>|
|Date:||1 Sep 1998 22:18:34 -0400|
Dwight VandenBerghe wrote:
> On 30 Aug 1998 10:19:53 -0400, Kent Stenman
> <email@example.com> wrote:
> >My question is which language is the best front-end language for dsp
> This is a tough call, Kent. There are a number of problems with
> current languages and DSPs - having separate address spaces (like A nd
> B for the Motorola chips), having extremely fast and tight
> instructions that are designed to be used in specific ways, like the
> multiply-and-adds that overlap, and the special REPEAT instructions
> that do the next single instruction a given number of times using only
> one cycle each. These are not things that can be easily seen or
> optimized by a compiler for FORTRAN or C or Pascal or Limbo or Ada.
Actually, all of your examples are quite feasible to pick up when
optimizing from Ada and, to a lesser degree, C++. Back when I worked at
Tartan, we produced Ada compilers for several DSPs that made excellent
use of exactly these sorts of features. We also provided reasonable
sets of intrinsic functions (and other hints to the compiler), so that
our users could take advantage of features like bit-reversed addressing
and modulo addressing, among others.
<snip> text about why hard real-time DSP is challenging, and why DSP
programmers will kill for speed. </snip>
We found that knowledgable users could write their DSP apps in Ada
(plus intrinsics) with little or no loss of performance. Our C++
compilers were a little behind the Ada compilers as they were a bit less
In fact, DSP programmers were so hard up for speed that we had a fair
number of commercial (NOT military!) customers switch to Ada in order to
get the speed they needed on the C3x and C4x.
> So IMHO the language problem in DSP land is that there is no good
> language for DSPs as yet. The beginners, and those whose applications
> aren't that time-critical, use the C tools. The rest of the land,
> including most of the real pros, use assembler.
Our hard real-time customers did just fine using 99.5% Ada (or C++).
See http://www.adahome.com/Ammo/Stories/Tartan-Realtime.html for a
longer write up with references.
Dean F. Sutherland
Return to the
Search the comp.compilers archives again.