Abstract
In today’s media-rich environment, the processing of audio/video and multimedia image information becomes essential for any consumer product. Aiming at highperformance, power-efficiency, high-flexibility, and low-cost, many embedded systems employ programmable Digital Signal Processor s (DSPs) as their core components to construct dataflow-centric, concurrent, and computation-intensive architectures. It’s common to see employing multi-core heterogeneous DSP processors as hardware solutions for embedded and SOC systems with high-throughput streamed-data processing and arithmetic-intensive computing. Traditional DSP compilers usually yield poorquality object codes. Lack of an insight into the DSP architecture and the specific semantics of DSP applications, a compiler would have troubles selecting appropriatly special instructions to exploit advanced hardware features. Those compilers cannot automatically discover the best ways to utilize the specific architecture features and to unleash proper optimized code composed of custom-built instructions for DSP operations without intervening from the programmers. Hence, there is a demand for effective methods to guide the compilation and optimizations of DSP programs. The issues of software portability and optimization in multi-core SOCs with DSPs are further crucial than ever. MDI, an annotation language as compiler directive extension of standard C/C++, is proposed to incorporate the ideas of DSP specific computing, multi-core deployment, and streamed data parallel programming into the portable C program developments for the optimizations in compilers and other toolkits. Our approach is to employ DSP-specific semantic descriptions and multi-core deployment indications to be annotated on top of high-level languages by programmers. This information can be picked up by compilers, system designers and other development toolkits to perform processor optimizations. All annotations are categorized into five types;Environment Description, Target Specification, Data Storage Characterization, Operation Intention and Computation-Flow Commentary. We present a complete MDI specification in this thesis.