ACM SIGPLAN Notices · 2001 · 35 citations · 23 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureEmbedded SystemsCompiler Back EndsCompiler ConstructionEmbedded NetworkingMicroarchitecture DesignProcessor MicroarchitectureRegister AllocationAssembly ProgrammingCode Quality ImprovementCompiler Backend DesignCompiler DesignEmbedded System CompilationProcessor ArchitectureRegister ProgrammingRegister-level Programming
One important problem in code generation for embedded processors is the design of efficient compilers for ASIPs with application specific architectures. This paper outlines the design of a C compiler for an industrial ASIP for telecom applications. The target ASIP is a network processor with special instructions for bit-level access to data registers, which is required for packet-oriented communication protocol processing. From a practical viewpoint, we describe the main challenges in exploiting these application specific features in a C compiler, and we show how a compiler backend has been designed that accomodates these features by means of compiler intrinsics and a dedicated register allocator. The compiler is fully operational, and first experimental results indicate that C-level programming of the ASIP leads to good code quality without the need for time-consuming assembly programming.
23
PipeRench: a reconfigurable architecture and compiler
Seth Copen Goldstein, Herman Schmit, Mihai Budiu et al. · Computer · 2000 · 463 citations