Single instruction multiple data code auto generation for a very long instruction words digital signal processor in sensor-based systems

Single instruction multiple data code auto generation for a very long instruction words digital signal processor in sensor-based systems

For access to this article, please select a purchase option:

Buy article PDF
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Your details
Why are you recommending this title?
Select reason:
IET Wireless Sensor Systems — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

The emerging applications have imposed strong requirements, such as high processing capacity, low-power consumption, reduced size and many others, on the sensor-based systems. Owing to their balanced combination of flexibility and hardware performance, digital signal processors (DSPs) have become more and more popular used in sensor-based systems. Many DSPs have adopted very long instruction words (VLIW) style architecture, for its ability to greatly enhance instruction level parallelism. However, as VLIW codes are statically scheduled, the behaviour of VLIW architecture is dominated by the efficiency of its compiler. Single instruction multiple data (SIMD) instructions, which perform multiple operations in parallel on multiple data packed in registers, have been widely used in DSPs to meet the requirements of sensor-based systems. Although hand programming still yields the best performing SIMD codes, it is both time consuming and error prone. Advanced compiler techniques to automatically generate SIMD instructions, are under urgent demand. In this study, the authors proposed an SIMD code auto generation approach for VLIW architecture. It recognises candidates of operations in the intermediate representation, evaluates the possibility of grouping them into SIMD code, reconstructs the verified ones according to the cost model and finally generates the SIMD code. The authors have implemented this approach in the compiler of a VLIW DSP named Magnolia, which is designed for sensor-based systems. The results show that the authors’ approach is very efficient, and can largely enhance the performance.


    1. 1)
      • 1. Tanaka, H., Ota, Y., Matsumoto, N., Hieda, T., Takeuchi, Y., Imai, M.: ‘A new compilation technique for SIMD code generation across basic block boundaries’. Design Automation Conf. (ASP-DAC), 2010 15th Asia and South Pacific, 2010, pp. 101106.
    2. 2)
      • 2. Robelly, J.P., Cichon, G., Seidel, H., Fettweis, G.: ‘Automatic code generation for SIMD DSP architectures: an algebraic approach’. Int. Conf. Parallel Computing in Electrical Engineering (PARELEC 2004), 2004, pp. 372375.
    3. 3)
      • 3. Hohenauer, M., Schumacher, C., Leupers, R., Ascheid, G., Meyr, H., Van Someren, H.: ‘Retargetable code optimization with SIMD instructions’. Proc. Fourth Int. Conf. Hardware/Software Codesign and System Synthesis (CODES + ISSS '06), 2006, pp. 148153.
    4. 4)
      • 4. Feanchetti, F., Puschel, M.: ‘A SIMD vectorizing compiler for digital signal processing algorithms’. Proc. Int. Parallel and Distributed Processing Symp. (IPDPS 2002), Abstracts and CD-ROM, 2002, pp. 2026.
    5. 5)
      • 5. Leupers, R.: ‘Code selection for media processors with SIMD instructions’. Proc. Design, Automation and Test in Europe Conf. and Exhibition 2000, 2000, pp. 48.
    6. 6)
      • 6. Bik, A.J.C., Girkar, M., Grey, P.M., Tian, X.: ‘Automatic intraregister vectorization for the [email protected] architecture’, Int. J. Parallel Program., 2002, 30, (2), pp. 6598 (doi: 10.1023/A:1014230429447).
    7. 7)
      • 7. Nuzman, D., Rosen, I., Zaks, A.: ‘Auto-vectorization of interleaved data for SIMD’. PLDI '06: Proc. 2006 ACM SIGPLAN Conf. Programming Language Design and Implementation, 2006, pp. 132143.
    8. 8)
      • 8. Fisher, J.A.: ‘Very long instruction word architectures and the ELI-512’. Proc. Tenth Annual Int. Symp. Computer Architecture, Stockholm, Sweden, 13–17 June 1983, pp. 140150.
    9. 9)
      • 9. Schafer, B.C., Lee, Y., Kim, T.: ‘Temperature-aware compilation for VLIW processors’. Proc. 13th IEEE Int. Conf. Embedded and Real-Time Computing Systems and Applications (RTCSA 2007), Daegu, Korea, 21–24 August 2007, pp. 426431.
    10. 10)
      • 10. Eichenberger, A.E., Wu, P., O'Brien, K.: ‘Vectorization for SIMD architectures with alignment constraints’. PLDI '04: Proc. ACM SIGPLAN 2004 Conf. Programming Language Design and Implementation, 2004, pp. 8293.
    11. 11)
      • 11. Nuzman, D., Henderson, R.: ‘Multi-platform auto-vectorization’. CGO '06: Proc. Int. Symp. Code Generation and Optimization, 2006, pp. 281294.
    12. 12)
      • 12. Larsen, S., Amarasinghe, S.: ‘Exploiting superword level parallelism with multimedia instruction sets’. Proc. Programming Language Design and Implementation (PLDI), 2000.
    13. 13)
      • 13. Wu, P., Eichenberger, A.E., Wang, A.: ‘Efficient SIMD code generation for runtime alignment and length conversion’. Int. Symp. Code Generation and Optimization 2005 (CGO 2005), 2005, pp. 15364.
    14. 14)
      • 14. Nuzman, D., Rosen, I., Zaks, A.: ‘Auto-vectorization of interleaved data for SIMD’, IBM Research Report No. H-0235, 2005.
    15. 15)
      • 15. Pryanishnikov, I., Krall, A.: ‘Pointer alignment analysis for processors with SIMD instructions’. Proc. Fifth Workshop on Media and Streaming Processors, 2003.
    16. 16)
      • 16. Kudriavtsev, A., Kogge, P.: ‘Generation of permutations for SIMD processors’. Proc. Languages, Compilers and Tools for Embedded Systems (LCTES), 2005.
    17. 17)
      • 17. Yang, X., He, H.: ‘An advanced compiler designed for a VLIW DSP for sensors-based systems’, Sensors, 2012, 12, (4), pp. 44664478 (doi: 10.3390/s120404466).
    18. 18)
      • 18. Zivojnovic, V., Velarde, J.M., Schlarger, C., Meyr, H.: ‘DSPstone: A DSP-oriented benchmarking methodology’. Proc. Fifth Int. Conf. Signal Processing Applications and Technology, 1994, pp. 715720.
    19. 19)
      • 19. The Gem5 Simulator System: A modular platform for computer system architecture research. Available online at (accessed on 30 March 2012).

Related content

This is a required field
Please enter a valid email address