Abstract
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.
This research is supported partially by National Natural Science Foundation of China (No. 90207019) and National 863 Development Plan of China (No. 2002AA1Z1480).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Furber, S.: ARM system Architecture. Addison Wesley Longman, Amsterdam (1996)
Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P.: Optimization by Simulated Annealing. Science 220(4598), 671–680 (1983)
Glover, F.: Tabu Search-Part I. ORSA Journal of Computing 1(3), 190–206 (1989)
Holland, J.H.: Adaptation in Natural and Artificial Systems. Michigan Press University (1975)
Schmitt, K.: Using Gene Deletion and Gene Duplication in Evolution Strategies. In: GECCO, pp. 919–920 (2005)
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)
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)
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)
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)
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)
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)
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)
Krishnaswamy, A., Gupa, R.: Profile Guided Selection of ARM and Thumb Instructions. In: Proceedings of LCTES/SCOPES, Germany (2002)
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)
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)
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)
SNU Real-Time Benchmark Suite, http://archi.snu.ac.kr/realtime/benchmark
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wu, S., Li, S. (2006). Instruction Selection for ARM/Thumb Processors Based on a Multi-objective Ant Algorithm. In: Grigoriev, D., Harrison, J., Hirsch, E.A. (eds) Computer Science – Theory and Applications. CSR 2006. Lecture Notes in Computer Science, vol 3967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11753728_64
Download citation
DOI: https://doi.org/10.1007/11753728_64
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34166-6
Online ISBN: 978-3-540-34168-0
eBook Packages: Computer ScienceComputer Science (R0)