home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.compilers
- Path: sparky!uunet!world!iecc!compilers-sender
- From: vanpraet@imec.be
- Subject: compilers for DSP processors
- Reply-To: vanpraet@imec.be
- Organization: Compilers Central
- Date: Mon, 21 Dec 1992 11:18:33 GMT
- Approved: compilers@iecc.cambridge.ma.us
- Message-ID: <92-12-094@comp.compilers>
- Keywords: DSP, question
- Sender: compilers-sender@iecc.cambridge.ma.us
- Lines: 55
-
- This article was already posted (in a different form) on comp.dsp but it
- only triggered a few interesting answers. Maybe comp.compilers can give
- additional input.
-
- As far as I know most of the code for a DSP-processor is written in
- assembly language because either there is no suitable compiler available
- or the compiled code is not good enough. Code generated by a C-compiler
- for a commercial DSP-processor would be about 5 times as big as the same
- algorithm manually coded in assembler. This is a generalization that can
- offend some of you but I heard this from various sides, even from some DSP
- processor manufacturers. Although the manufacturers also said that it will
- be better in the future, as new DSP processors are designed with compilers
- for High Level Languages in mind.
-
- - Do you agree on the above ? (the quality of DSP compilers)
- - What causes this factor of 5 on the code size ?
- e.g. -> The instruction set of a DSP processor does not lend itself
- to conventonal compiling techniques ?
- -> the High Level Languages are not useful for DSP?
- - not enough parallelism in C (too difficult to extract the
- parallelism)?
- - too many possible constructs in C ? (a subset of C is better)
- - non-procedural languages as e.g. Silage are better ?
- -> no global ordering and scheduling of the generated code ?
- -> no possibility of using all the provided tricks for the DSP
- processors ?
- - no or not enough use of the low-overhead-loop facility of a
- processor as the "DO" for Motorola and the "RPT" for Texas
- Instruments processors ?
- - no use of special addressing ? (e.g. in circular buffers)
- - no use of special block data moves ?
- ...
- ...
-
- I also know of three code generation approaches that would generate more
- optimal code : - The GABRIEL (PTOLEMY) system of prof. Lee at Berkeley
- (mainly targeted towards the Motorola 56k)
- - The code generator for Texas Instruments' TMS320C30 in the
- DSP-station of EDC (in Belgium)
- - The SPW (Signal Processing Workstation) by Comdisco, Inc.
-
- These don't start from a procedural language (resp. from block diagrams or
- from Silage) and have some sort of library of manually written
- code-pieces. They also perform some sort of global scheduling and
- optimization. Anyone used these ? What is their quality on real life
- examples ?
-
- You can reply by email or post a follow-up (don't include this whole thing
- !). If I get significant answers, a summary will be posted.
- --
- Johan Van Praet | IMEC , Kapeldreef 75
- vanpraet@imec.be | 3001 HEVERLEE , BELGIUM
- --
- Send compilers articles to compilers@iecc.cambridge.ma.us or
- {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
-