Instruction Selection for ARM/Thumb Processors Based on a Multi-objective Ant Algorithm

  • Shengning Wu
  • Sikun Li
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3967)


In the embedded domain, not only performance, but also memory and energy are important concerns. A dual instruction set ARM processor, which supports a reduced Thumb instruction set with a smaller instruction length in addition to a full instruction set, provides an opportunity for a flexible tradeoff between these requirements. For a given program, typically the Thumb code is smaller than the ARM code, but slower than the latter, because a program compiled into the Thumb instruction set executes a larger number of instructions than the same program compiled into the ARM instruction set. Motivated by this observation, we propose a new Multi-objective Ant Colony Optimization (MOACO) algorithm that can be used to enable a flexible tradeoff between the code size and execution time of a program by using the two instruction sets selectively for different parts of a program. Our proposed approach determines the instruction set to be used for each function using a subset selection technique, and the execution time is the total one based on the profiling analyses of the dynamic behavior of a program. The experimental results show that our proposed technique can be effectively used to make the tradeoff between a program’s code size and execution time and can provide much flexibility in code generation for dual instruction set processors in general.


Execution Time Code Size Benchmark Program State Transition Rule Instruction Selection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Furber, S.: ARM system Architecture. Addison Wesley Longman, Amsterdam (1996)Google Scholar
  2. 2.
    Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P.: Optimization by Simulated Annealing. Science 220(4598), 671–680 (1983)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Glover, F.: Tabu Search-Part I. ORSA Journal of Computing 1(3), 190–206 (1989)CrossRefMATHGoogle Scholar
  4. 4.
    Holland, J.H.: Adaptation in Natural and Artificial Systems. Michigan Press University (1975)Google Scholar
  5. 5.
    Schmitt, K.: Using Gene Deletion and Gene Duplication in Evolution Strategies. In: GECCO, pp. 919–920 (2005)Google Scholar
  6. 6.
    Jackson, D.: Evolving defence strategies by genetic programming. In: Keijzer, M., Tettamanzi, A.G.B., Collet, P., van Hemert, J., Tomassini, M. (eds.) EuroGP 2005. LNCS, vol. 3447, pp. 281–290. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Dorigo, M., Di Caro, G.: The Ant Colony Optimization Meta-heutistic. In: Corne, D., Dorigo, M., Glover, F. (eds.) New Ideas in Optimization, pp. 11–32. McGraw-Hill, New York (1999)Google Scholar
  8. 8.
    García-Martínez, C., Cordón, O., Herrera, F.: An empirical analysis of multiple objective ant colony optimization algorithms for the bi-criteria TSP. In: Dorigo, M., Birattari, M., Blum, C., Gambardella, L.M., Mondada, F., Stützle, T. (eds.) ANTS 2004. LNCS, vol. 3172, pp. 61–72. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Iredi, S., Merkle, D., Middendorf, M.: Bi-criterion optimization with multi colony ant algorithms. In: Zitzler, E., Deb, K., Thiele, L., Coello Coello, C.A., Corne, D.W. (eds.) EMO 2001. LNCS, vol. 1993, p. 359. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Guntsch, M., Middendorf, M.: Solving multi-criteria optimization problems with population-based ACO. In: Fonseca, C.M., Fleming, P.J., Zitzler, E., Deb, K., Thiele, L. (eds.) EMO 2003. LNCS, vol. 2632, pp. 464–478. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Doerner, K., Gutjahr, W.J., Hartl, R.F., Strauss, C., Stummer, C.: Pareto Ant Colony Optimization: A Metaheuristic Approach to Multiobjective Portfolio Selection. Annals of Operations Research 131, 79–99 (2004)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Halambi, A., Shrivastava, A., Biswas, P., Dutt, N., Nicolau, A.: An efficient Compiler Technique for Code Size Reduction Using Reduced Bit-width ISAs. In: Proceedings of the DATE, France (2002)Google Scholar
  13. 13.
    Krishnaswamy, A., Gupa, R.: Profile Guided Selection of ARM and Thumb Instructions. In: Proceedings of LCTES/SCOPES, Germany (2002)Google Scholar
  14. 14.
    Lee, S., Lee, J., Min, S.L., Hiser, J., Davidson, J.W.: Code Generation for a Dual Instruction Set Processor Based on Selective Code Transformation. In: Krall, A. (ed.) SCOPES 2003. LNCS, vol. 2826, pp. 33–48. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Stutzle, T., Hoos, H.: Improvements on the Ant System: Introducing the MAX-MIN Ant System. In: Smith, G., Steele, N., Albrecht, R. (eds.) Proceedings of the Artificial Neural Nets and Genetic Algorithms, pp. 245–249 (1997)Google Scholar
  16. 16.
    Smith, M.D., Holloway, G.: An introduction to Machine-SUIF and Its Portable Libraries for Analysis and Optimization. The Machine-SUIF documentation set. Harvard University (2002)Google Scholar
  17. 17.
    SNU Real-Time Benchmark Suite,

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Shengning Wu
    • 1
  • Sikun Li
    • 1
  1. 1.School of Computer ScienceNational University of Defense TechnologyChangshaChina

Personalised recommendations