MOVIE
Code generation
The features of the MOVIE architecture lead us to consider the
programming aspect from the very beginning of the architecture design
process. This ensures that the architectural mechanisms are fully
exploitable by a compiler and that they are not an obstacle to the
generation of an efficient code. The programming environment design is
carried out simultaneously with the definition of the architecture,
especially as regards the code optimization aspects.
The C-stolic language designed to efficiently program parallel
architectures that support systolic communications is the programming
language of MOVIE.
The compiler system, currently under development, is composed of four
major modules and is mainly based on existing tools.
- The C-stolic compiler translates the C-stolic programs into
three programs (in C language or in intermediate format).
- The code generator translates the C programs produced by
C-stolic into assembler code. The first version of this code
generator is based on the lcc compiler which has
been retargeted.
- The object code optimizer (Oco) developed at Irisa in the Caps group
allows the fine grain parallelism of the internal architecture to
be fully exploited.
- The machine description is used both at the code generator
and code optimizer levels.
The study around the use of the OCO tool is realized in cooperation
with the Caps group.