Skip to main content

Design and Implementation of C-Extensions for SDR-DSP Compiler

  • Conference paper
  • 2439 Accesses

Part of the book series: Lecture Notes in Electrical Engineering ((LNEE,volume 181))

Abstract

In this paper, we design and implement C-extensions for the compiler of a newly developed digital signal processor named SDR-DSP. SDR-DSP is based on VLIW and SIMD. It is developed to meet the performance requirement of software-defined radio. The high-level language programming environment for SDR-DSP is very important but the complexity of SDR-DSP architecture and instruction set limits the compiler implementation and optimization. We design and implement C-extensions for SDR-DSP compiler including intrinsics for special operations and pragmas for optimization. With our C-extensions, programmers can develop applications for SDR-DSP in high-level language and can get more optimized executable code than standard C implementation.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. TMS320C6000 Optimizing Compiler User’s Guide, spru187l (May 2004)

    Google Scholar 

  2. TMS320C55x Optimizing C/C++ Compiler User’s Guide, spru281e (March 2003)

    Google Scholar 

  3. Tuttlebee, W.: Software defined radio: enabling technologies. Wiley (2002)

    Google Scholar 

  4. Fisher, J.: Very Long Instruction Word Architectures and the ELI-512. In: Proceedings of the Tenth Annual International Symposium on Computer Architecture, pp. 140–150 (1983)

    Google Scholar 

  5. Lorenz, M., Wehmeyer, L., Drager, T.: Energy aware compilation for DSPs with SIMD instructions. In: LCTES/SCOPES 2002: Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems, pp. 94–101. ACM Press (2002)

    Google Scholar 

  6. De Subrato, K., Dasgupta, A.: Development of an Efficient DSP Compiler Based on Open64. Qualcomm Incorporated, San Diego & Austin (2008)

    Google Scholar 

  7. Meadows, L.: OpenMP 3.0 – A Preview of the Upcoming Standard. In: Perrott, R., Chapman, B.M., Subhlok, J., de Mello, R.F., Yang, L.T. (eds.) HPCC 2007. LNCS, vol. 4782, p. 4. Springer, Heidelberg (2007)

    Google Scholar 

  8. GCC Internals Manual (GCC v4.4.5). Free Software Foundation (November 2008)

    Google Scholar 

  9. Extensions for the programming language C to support embedded processors, ISO/IEC JTC1 SC22 WG14 N1021, Reference number of document: ISO/IEC DTR 18037 (2003)

    Google Scholar 

  10. Murthy, G.S., Ravishankar, M., Baskaran, M.M., et al.: Optimal loop unrolling for GPGPU programs. In: 2010 IEEE International Symposium on Parallel and Distributed Processing, pp. 1–11 (2010)

    Google Scholar 

  11. Mowry, T.C., Lam, M.S., Gupta, A.: Design and Evaluation of a Compiler Algorithm for Prefetching. In: Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, New York, USA, pp. 62–73 (1992)

    Google Scholar 

  12. Poulsen, D.K., Yew, P.C.: Data Prefetching and Data Forwarding in Shared Memory Multiprocessors. In: Proceedings of International Conference on Parallel Processing, pp. 276–280 (1994)

    Google Scholar 

  13. Mattson, P., Kapasi, U.J., Owens, S.R.: Imagine Programming System User’s Guide. Stanford University (2004)

    Google Scholar 

  14. Das, A., Dally, W.J., Mattson, P., et al.: Compiling for stream processing. In: Proceedings of the 15th International Conference on Parallel, pp. 33–42. ACM Press, New York (2006)

    Google Scholar 

  15. Burrus, S., Parks, T.W.: DFT/FFT and Convolution Algorithms: Theory and Implementation, pp. 1–23. Publisher John Wiley & Sons Inc., New York (1991)

    Google Scholar 

  16. AltiVec Technology Programming Interface Manual. Motorola Inc. (June 1999)

    Google Scholar 

  17. Yang, L., Ni, X., Liu, H.: Implementation of SOAS for SDR Processor. In: Proceedings of the International Conference on Human-Centric Computing 2011 and Embedded and Multimedia Computing 2011, pp. 603–609. Springer (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Liu Yang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer Science+Business Media Dordrecht

About this paper

Cite this paper

Yang, L. et al. (2012). Design and Implementation of C-Extensions for SDR-DSP Compiler. In: Park, J., Jeong, YS., Park, S., Chen, HC. (eds) Embedded and Multimedia Computing Technology and Service. Lecture Notes in Electrical Engineering, vol 181. Springer, Dordrecht. https://doi.org/10.1007/978-94-007-5076-0_16

Download citation

  • DOI: https://doi.org/10.1007/978-94-007-5076-0_16

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-94-007-5075-3

  • Online ISBN: 978-94-007-5076-0

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics