Abstract
Code size is becoming an important design factor in the embedded domain. To deal with this problem, many embedded RISC processors support a dual-width instruction set. Mixed code generation is also introduced in expectation of achieving both higher code density from the narrow instruction set (usually 16 bits) and good performance from the normal one (usually 32 bits), with little extra cost. To a certain application domain, processors can combine an efficient general purpose instruction set and a narrow instruction set tailored to the particular applications. Since the design of instruction set is highly related to the compiler and the application programs, a feedback driven technique will be a good choice.
In this paper, we introduce a framework of automatic narrow instruction set design. The instructions are described in our Instruction Set Description Template (ISDT). Given a set of application programs, the design tool will iteratively use the suggested narrow instruction set represented in ISDT to do mixed-code generation and to update the narrow instruction set according to the evaluation feedback, thus to get an ultimate fine narrow instruction set without human designer’s involvement. We describe our method in detail by example of designing narrow instruction set for UniCore with the mediabench as the application set, and show its usefulness through the experiments.
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
The HiPEAC Roadmap on Embedded Systems
Krishnaswamy, A., Gupta, R.: Profile Guided Selection of ARM and Thumb Instructions. In: ACM SIGPLAN Joint Conference on Languages Compilers and Tools for Embedded Systems & Software and Compilers for Embedded Systems, June 2002, pp. 55–64 (2002)
Goudge, L., Segars, S.: Thumb: Reducing the Cost of 32-bit RISC Performance in Portable and Consumer Applications. In: Proceedings of the 41st IEEE International Computer Conference, p. 176 (1996)
MIPS32 Architecture for Programmers Volume IV-a: The MIPS16 Application Specific Extension to the MIPS32 Architecture (2001)
Ma, X., Kwon, Y., Lee, H.J.: PARE: Instruction Set Architecture for Efficient Code Size Reduction. Electronics Letters 35(24), 2098–2099 (1999)
Lee, S., Lee, J.-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)
Halambi, A., Shrivastava, A., Biswas, P., Dutt, N., Nicolau, A.: An Efficient Compiler Technique for Code Size Reduction using Reduced Bit-width ISAs. In: Design Automation and Test in Europe (March 2002)
Krishnaswamy, A., Gupta, R.: Enhancing the Performance of 16-bit Code Using Augmenting Instructions. In: ACM SIGPLAN Conference on Languages Compilers and Tools for Embedded Systems (June 2003)
Phelan, R.: Improving ARM Code Density and Performance. Technical report, ARM Limited (2003)
Liu, X., Zhang, J., Cheng, X.: Efficient Code Size Reduction without Performance Loss. In: Proceedings of the International Symposium on Applied Computing (SAC), Seoul, Korea (March 2007)
Halambi, A., Shrivastava, A., Biswas, P., Dutt, N., Nicolau, A.: A Design Space Exploration Framework for Reduced Bit-Width Instruction Set Architecture (rISA) Design. In: Proceedings of the International Symposium on System Synthesis (ISSS), Kyoto, Japan (Oct. 2002)
UniCore32 ISA and Programming Manual. Microprocessor Research Center of Peking University (2002)
Lee, C., Potkonjak, M., Mangion-Smith, W.H.: MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems. In: Proceedings of the 30th Annual International Symposium on Microarchitecture, Dec. 1997, pp. 330–335 (1997)
Kastens, U., Le, D.K., Slowik, A., Thies, M.: Feedback Driven Instruction-Set Extension. In: Proceddings of LCTES (2004)
Peymandoust, A., Pozzi, L., Ienne, P., Micheli, G.D.: Automatic Instruction Set Extension and Utilization for Embedded Processors. In: Proceedings of 14th International Conference on Application-specific Systems, Architectures and Processors (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Liu, X., Zhang, J., Cheng, X. (2007). NISD: A Framework for Automatic Narrow Instruction Set Design. In: Lee, YH., Kim, HN., Kim, J., Park, Y., Yang, L.T., Kim, S.W. (eds) Embedded Software and Systems. ICESS 2007. Lecture Notes in Computer Science, vol 4523. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72685-2_26
Download citation
DOI: https://doi.org/10.1007/978-3-540-72685-2_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72684-5
Online ISBN: 978-3-540-72685-2
eBook Packages: Computer ScienceComputer Science (R0)