Advertisement

Design Automation for Embedded Systems

, Volume 20, Issue 1, pp 21–45 | Cite as

Instruction set independent program encoding

  • Ricardo SantosEmail author
  • Renan Marks
  • Renato Santos
  • Felipe Araujo
Article
  • 456 Downloads

Abstract

Instruction encoding techniques have been designed for reducing the program memory footprint and improving processors performance. However, many techniques are instruction-set dependent thus minimizing the adoption in different application domains and target processors. This paper presents an instruction encoding technique and a software framework tool for the design of instruction encoders independent of the instruction set. Our approach is based on (1) a methodological extension of a pattern based instruction word (PBIW) algorithm for instruction encoding; (2) the design and implementation of a software framework for minimizing the design time frame of different instruction encoding algorithms; (3) a comprehensive set of experiments showing the impacts of those techniques on memory footprint, program performance, and processor design. Our proposed framework has been used to encode a wide range of programs compiled for the \(\rho \)-VEX and SPARCv8 instruction sets. The experiments show that the framework makes it able to match the PBIW encoding technique to different ISAs and target machines. The results with SPECint00, Media, MiBench, and simple benchmarks show a compression ratio up to 0.54 (46 % of size reduction) for PBIW-SPARC programs and up to 0.59 for PBIW-VEX programs. Encoded SPARC programs have a performance speedup up to 1.7 compared to non-encoded SPARC programs.

Keywords

PBIW Hardware decoder Instruction encoder Instruction-set \(\rho \)-VEX  SPARCv8 

References

  1. 1.
    Beszédes A, Ferenc R, Gyimóthy T, Dolenc A, Karsisto K (2003) Survey of code-size reduction methods. ACM Comput Surv 35(3):223–267CrossRefGoogle Scholar
  2. 2.
    Franz M, Thomas K (1997) Slim binaries. Commun ACM 40(2):87–94CrossRefGoogle Scholar
  3. 3.
    Kozuch M, Wolfe A (1994) Compression of embedded system programs. In: Proceedings of the international conference on computer design. IEEE Computer Society, Washington, DC, pp 270–277Google Scholar
  4. 4.
    Witten IH, Neal RM, Cleary JG (1987) Arithmetic coding for data compression. Commun ACM 30(6):520–540CrossRefGoogle Scholar
  5. 5.
    Kissell K (1997) MIPS16: high-density MIPS for the embedded market. Tech. rep., Silicon Graphics MIPS GroupGoogle Scholar
  6. 6.
    MIPS Technologies Incorporated: microMIPS Instruction Set Architecture (2009). White PaperGoogle Scholar
  7. 7.
    Cardoso BL (2014) Design and evaluation of compact ISAs. Ph.D. thesis, Institute of Computing, State University of CampinasGoogle Scholar
  8. 8.
    Ecco LL, Lopes BC, Xavier EC, Pannain R, Centoducatte P, Azevedo RJd (2009) SPARC16: a new compression approach for the sparc architecture. In: Proceedings of the SBAC-PAD. IEEE Computer Society, Washington, DC, pp 169–176Google Scholar
  9. 9.
    Game M, Booker A (1999) Codepack: code compression for powerPC processors. Micronews 5(1):21–25Google Scholar
  10. 10.
    ARM Holdings: ARM1156T2-S Technical Reference Manual. Tech. rep. (2007) http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0338g/index.html
  11. 11.
    Goundge L, Segars S (1996) Thumb: reducing the cost of 32-bit RISC performance in portable and consumer applications. In: Proceedings of computer society conference, pp 176–181Google Scholar
  12. 12.
    Prakash J, Sandeep C, Shankar P, Srikant YN (2004) Experiments with a new dictionary based code-compression tool on a VLIW processor. Tech. Rep. IISc-CSA-TR-2004-5, Indian Institute of ScienceGoogle Scholar
  13. 13.
    Xie Y, Wolf W, Lekatsas H (2001) A code decompression architecture for VLIW processors. In: Proceedings of the micro. IEEE Computer Press, pp 66–75Google Scholar
  14. 14.
    Araujo G, Centoducatte P, Cortes M, Pannain R (1998) Code compression based on operand factorization. In: Proceedings of the 1st MICRO, IEEE Computer Society, pp 194–201Google Scholar
  15. 15.
    Menon SK (2014) Studying the code compression design space: a synthesis approach. J Syst Archit 60(2):179–193CrossRefMathSciNetGoogle Scholar
  16. 16.
    Menon SK, Shankar P (2008) COMPASS: a tool for evaluation of compression strategies for embedded processors. J Syst Archit 54(10):995–1003CrossRefGoogle Scholar
  17. 17.
    van As T (2008) \(\rho \)-VEX: a reconfigurable and extensible VLIW processor. Master’s thesis, Faculty of Electrical Enginnering, Mathematics and Computer Science. Delft University of TechnologyGoogle Scholar
  18. 18.
    Fisher JA, Faraboschi P, Young C (2005) Embedded computing: a VLIW approach to architecture, compilers and tools. Elsevier, New YorkGoogle Scholar
  19. 19.
    SPARC International Inc. (1992) The SPARC Architecture Manual. Tech. rep., SPARC International, IncGoogle Scholar
  20. 20.
    Santos R, Batistella R, Azevedo R (2009) A pattern based instruction encoding technique for high performance architectures. Int J High Perform Syst Archit 2:71–80CrossRefGoogle Scholar
  21. 21.
    Batistella R, Santos R, Azevedo R (2007) A new technique for instruction encoding in high performance architecture. Tech. Rep. IC-07-027, UnicampGoogle Scholar
  22. 22.
    Santos R, Marks R, Santos RF (2013) A framework for instruction encoding designs on embedded processors. In: Proceedings of the 24th IEEE rapid system prototyping symposium, pp 116–122Google Scholar
  23. 23.
    van As T, Wong S, Brown G (2008) \(\rho \)-VEX: a reconfigurable and extensible VLIW processor. In: Proceedings of the IEEE international conference on field-programmable technologyGoogle Scholar
  24. 24.
    Hewlett-Packard Laboratories: VEX Toolchain (2012) http://www.hpl.hp.com/downloads/vex/
  25. 25.
    Aeroflex Gaisler: LEON 3 Processor (2011). http://www.gaisler.com
  26. 26.
    Edler J, Hill MD (1995) Dinero IV trace-driven uniprocessor cache simulator. [Online]. http://www.cs.wisc.edu/~markhill/DineroIV/
  27. 27.
    Chakrapani LN, Gyllenhaal J, Mei W, Hwu W, Mahlke SA, Palem KV, Rabbah RM (2004) Trimaran: an infrastructure for research in instruction-level parallelism. Lecture Notes in Computer Science 3602, pp 32–41Google Scholar
  28. 28.
    Seedorf R (2010) Fingerprint verification on the VEX processor. Master’s thesis, Faculty of Electrical Enginnering, Mathematics and Computer Science. Delft University of TechnologyGoogle Scholar
  29. 29.
    Chunho Lee Miodrag Potkonjak, M.S., H, W (1997) MediaBench: a tool for evaluating and synthesizing multimedia and communications systems. In: Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, pp 330–335Google Scholar
  30. 30.
    Guthaus MR, Ringenberg JS, Ernst D, Austin T, Mudge T, Brown R (2011) MiBench: a free, commercially representative embedded benchmark suite. In: Proceedings of the workload characterization, pp 3–14Google Scholar
  31. 31.
    Azevedo R, Rigo S, Bartholomeu M, Araujo G, Araujo C, Barros E (2005) The ArchC architecture description language and tools. Int J Parallel Program 33(5):453–484CrossRefzbMATHGoogle Scholar
  32. 32.
    ARM Inc. (1995) An introduction to thumb. Tech. repGoogle Scholar
  33. 33.
    Goudge L, Segars S (1996) Thumb: reducing the cost of 32-bit RISC performance in portable and consumer applications. In: Proceedings of the CompCon. IEEEGoogle Scholar
  34. 34.
    Kissell KD (1997) MIPS16: high-density MIPS for the embedded market. Real time systemsGoogle Scholar
  35. 35.
    Daverveldt M (2014) Llvm-based \(\rho \)-VEX compiler. Master’s thesis, Faculty of Electrical Enginnering, Mathematics and Computer Science. Delft University of TechnologyGoogle Scholar
  36. 36.
    Hoozemans JJ (2014) Porting Linux to the \(\rho \)-VEX reconfigurable VLIW softcore. Master’s thesis, Faculty of Electrical Enginnering, Mathematics and Computer Science. Delft University of TechnologyGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.Federal University of Mato Grosso do SulCampo GrandeBrazil
  2. 2.Federal Institute of Mato Grosso do SulCoximBrazil

Personalised recommendations