Today’s silicon technology allows building embedded processors as part of SoCs (systems-on-chip) comprising upto a billion of transistors on a single die. Interestingly, real-world SOCs (in large quantities for mainstream applications) utilizing this potential complexity do hardly exist. Another observation is that the semiconductor industry a couple of years ago experienced an inflection point: the number of ASIC (Application Specific Integrated Circuits) design starts was outpaced by the number of design starts for Application Specific Standard Products (ASSPs). Moreover, we might face a new design productivity gap: the “gap of complexity” (details and references will follow later). Together these observations are reflecting a transition in the way embedded processors are designed. This article reports on and analyzes current and possible future trends from a perspective of embedded system design with an emphasis on design environments for so-called extensible processor platforms. It describes the state-of-the-art in the three main steps when designing an extensible processor, namely Code Segment Identification, Extensible Instruction Generation, Architectural Customization Selection.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Reference
Abraham, S. G. and Rau, B. R. (2000) Efficient Design Space Exploration in PICO. In International Conference on Compilers, Architectures, and Syn-thesis for Embedded Systems, pp. 71-79.
Aditya, S., Rau, B. R., and Kathail, V. (1999) Automatic Architectural Synthe-sis of VLIW and EPIC Processors. In International Symposium on System Synthesis, pp. 107-113.
Aho, A., Ganapathi, M., and Tjiang, S. (1989) Code Generation using Tree Matching and Dynamic Programming. ACM Transactions on Programming Languages and Systems, 11(4):491-561.
Alippi, C., Fornaciari, W., Pozzi, L., and Sami, M. (1999) A DAG-based De-sign Approach for Reconfigurable VLIW Processors. In Design, Automation and Test in Europe Conference and Exhibition, pp. 778-780.
Arnold, M. (2001) Instruction Set Extension for Embedded Processors. Ph.D. Thesis, Delft University of Technology.
Atasu, K., Pozzi, L., and Ienne, P. (2003) Automatic Application-Specific Instruction-Set Extensions Under Microarchitectural Constraints. In ACM/ IEEE Design Automation Conference, pp. 256-261.
Benini, L. and De Micheli, G. (2002) Networks On Chip: A New Paradigm for Systems On Chip Design. In IEEE/ACM Proc. of Design Automation and Test in Europe Conference (DATE), pp. 418-419.
Bhatt, V., Balakrishnan, M., and Kumar, A. (2002) Exploring the Number of Register Windows in ASIP Synthesis. In International Conference on VLSI Design, pp. 233-238.
Biswas, P., Choudhary, V., Atasu, K., Pozzi, L., Ienne, P., and Dutt, N. (2004) Introduction of Local Memory Elements in Instruction Set Extensions. In ACM/IEEE Design Automation Conference, pp. 729-734.
Brisk, P., Japlan, A., and Sarrafzadeh, M. (2004) Area-Efficient Instruction Set Synthesis for Reconfigurable System-on-Chip Designs. In ACM/IEEE Design Automation Conference, pp. 395-400.
Brisk, P., Kaplan, A., Kastner, R., and Sarrafzadeh, M. (2002) Instruction Gen-eration and Regularity Extraction for Reconfigurable Processors. In Interna-tional Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pp. 262-269.
Cataldo, A. (2003) Nec makes series push for asic-lite. In EE-Times.
Catthoor, F., DeGreef, E., and Suytack, S. (1998) Custom Memory Manage-ment Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design. Kluwer Academic Publishers, Norwell, USA.
Choi, H., Kim, J., Yoon, C., Park, I., Hwang, S., and Kyung, C. (1999a) Synthe-sis of Application Specific Instructions for Embedded DSP Software. IEEE Transactions on Computers, 48(6):603-614.
Choi, H., Yi, J., Lee, J., Park, I., and Kyung, C. (1999b) Exploiting Intellectual Properties in ASIP Designs for Embedded DSP Software. In ACM/IEEE Design Automation Conference, pp. 939-944.
Chu, P. C. and Beasley, J. E. (1998) A Genetic Algorithm for the Multidimen-sional Knapsack Problem. Journal of Heuristics, 4(1):63-86.
Clark, N., Zhong, H., and Mahlke, S. (2003a) Processor Acceleration through Automated Instruction Set Customization. In IEEE/ACM International Sym-posium on Microarchitecture, pp. 129-140.
Clarke, E., Kroening, D., and Yorav, K. (2003b) Behavioral Consistency of C and Verilog Programs Using Bounded Model Checking. In ACM/IEEE Design Automation Conference, pp. 368-371.
Cong, J. and Ding, Y. (1992) An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-table Based FPGA Designs. In IEEE Inter-national Conference on Computer Aided Design, pp. 48-53.
Cong, J., Fan, Y., Han, G., and Zhang, Z. (2004) Application-Specific Instruc-tion Generation for Configurable Processor Architectures. In International Symposium on Field Programmable Gate Array, pp. 183-189.
Corazao, M., Khalaf, M., Guerra, L., Potkonjak, M., and Rabaey, J. (1993) Instruction Set Mapping for Performance Optimization. In IEEE Interna-tional Conference on Computer Aided Design, pp. 518-521.
Fei, Y., Ravi, S., Raghunathan, A., and Jha, N. (2004) A Hybrid Energy Estima-tion Technique for Extensible Processors. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23(5):652-664.
Francis, R. J., Rose, J., and Chung, K. (1990) Chortle: a Technology Map-ping Program for Lookup Table-Based Field Programmable Gate Arrays. In ACM/IEEE Design Automation Conference, pp. 613-619.
Goodwin, D. and Petkov, D. (2003) Automatic Generation of Application Spe-cific Processors. In International Conference on Compilers Architectrue and Synthesis for Embedded Systems, pp. 137-147.
Gupta, T., Ko, R., and Barua, R. (2002) Compiler-Directed Customization of ASIP Cores. In International Symposium on Hardware/Software Co-Design, pp. 97-102.
Gupta, T., Sharma, P., Balakrishnan, M., and Malik, S. (2000) Processor Eval-uation in an Embedded Systems Design Environment. In International Con-ference on VLSI Design, pp. 98-103.
Holmer, B. (1994) A Tool for Processor Instruction Set Design. In European Conference on Design Automation, pp. 150-155.
Holt, D. (2003) Standard cell is broken. In EE-Times.
Huang, I. and Despain, A. (1995) Synthesis of Application Specific Instruction Sets. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 14(6):663-675.
Jain, M. K., Balakrishnan, M., and Kumar, A. (2003) Exploring Storage Or-ganization in ASIP Synthesis. In Euromicro-Symposium on Digital System Design, pp. 120-127.
Jain, M. K., Balakrishnan, M., and Kumar, A. (2005) Integrated On-Chip Stor-age Evaluation in ASIP Synthesis. In International Conference on VLSI De-sign, pp. 274-279.
Jain, M. K., Wehmeyer, L., Steinke, S., Marwedel, P., and Balakrishnan, M. (2001) Evaluating Register File Size in ASIP Design. In International Sym-posium on Hardware/Software Codesign, pp. 109-114.
Kathail, V., Aditya, S., Schreiber, R., Rau, B., Cronquist, D., and Sivaraman, M. (2002) PICO: Automatically Designing Custom Computers. Computer, 35 (9):39-47.
Keutzer, K. (1987) DAGON: Technology Binding and Local Optimization by DAG Matching. In ACM/IEEE Design Automation Conference, pp. 617-623.
Lee, J., Choi, K., and Dutt, N. (2002) Efficient Instruction Encoding for Auto-matic Instruction Set Design of Configurable ASIPs. In International Con-ference on Computer Aid Design, pp. 649-654.
Lewis, B. and Hsu, S. (2002) Asic/soc: Rebuilding after the storm. In Gartner.
Lee, J., Choi, K., and Dutt, N. (2003) Energy-Efficient Instruction Set Synthe-sis for Application-Specific Processors. In International Symposium on Low Power Electronics and Design, pp. 330-333.
Leupers, R. and Marwedel, P. (1995) Instruction-Set Modelling for ASIP Code Generation. In IEEE International Conference on VLSI Design, pp. 77-80
Leupers, R. and Marwedel, P. (1998) Retargetable Code Generation Based on Structural Processor Descriptions. Design Automation for Embedded Systems, 3(1):1-36.
Liem, C., May, T., and Paulin, P. (1994) Instruction-Set Matching and Selection for DSP and ASIP Code Generation. In European Conference on Design Automation, pp. 31-37.
Martello, S. and Toth, P. (1990) Knapsack Problems: Algorithms and Com-puter Implementations. John Wiley & Sons, Inc., New York, NY, USA.
NEC (2003) Nec boosts tcp/ip protocol processing with 10 cpu cores on one chip. In NEC Corporation, Press Release.
Paulin, P. (2003) Extending SOC Life beyond the 90 nm Wall. In Talk at DAC Panel, 40th Design Automation Conference (DAC), Anaheim.
Pozzi, L. (2000) Methodologies for the Design of Application-Specific Recon-figurable VLIW Processors. Ph.D. Thesis, Politecnico di Milano.
Rowen, C. (2003) presentation at NEC technology forum.
Semeria, L., Seawright, A., Mehra, R., Ng, D., Ekanayake, A., and Pan-grle, B. (2002) RTL C-Based Methodology for Designing and Verifying a Multi-Threaded Processor. In ACM/IEEE Design Automation Conference, pp. 123-128.
Shu, J., Wilson, T.C., and Banerji, D.K. (1996) Instruction-Set Matching and GA-Based Selection for Embedded-Processor Code Generation. In Interna-tional Conference on VLSI Design, pp. 73-76.
Smith, G. (2003) DAC panel presentation, 40th Design Automation Con-ference (DAC), Anaheim.
Sun, F., Raghunathan, A., Ravi, S., and Jha, N. (2003) A Scalable Application Specific Processor Synthesis Methodology. In International Conference on Computer Aid Design, pp. 283-290.
Sun, F., Ravi, S., Raghunathan, A., and Jha, N. (2004) Custom-Instruction Syn-thesis for Extensible-Processor Platforms. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 23(2):216-228.
Sun, F., Ravi, S., Raghunathan, A., and Jha, N. (2005) Synthesis of Application-Specific Heterogeneous Multiprocessor Architectures Using Extensible Processors. In International Conference on VLSI Design, pp. 551-556.
Wolf, W. and Kandemir, M. (2003) Memory System Optimization of Embed-ded Software. IEEE, 91(1):165-182.
Xtensa Processor. Tensilica, Inc. (http://www.tensilica.com) 2007.
Yu, P. and Mitra, T. (2004a) Characterizing Embedded Applications for Instruction-Set Extensible Processors. In ACM/IEEE Design Automation Conference, pp. 723-728.
Yu, P. and Mitra, T. (2004b) Scalable Custom Instructions Identification for Instruction-Set Extensible Processors. In International Conference on Com-pilers, Architectures, and Synthesis for Embedded Systems, pp. 69-78.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer
About this chapter
Cite this chapter
Henkel, J., Parameswaran, S., Cheung, N. (2007). Application-Specific Embedded Processors. In: Henkel, J., Parameswaran, S. (eds) Designing Embedded Processors. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-5869-1_1
Download citation
DOI: https://doi.org/10.1007/978-1-4020-5869-1_1
Publisher Name: Springer, Dordrecht
Print ISBN: 978-1-4020-5868-4
Online ISBN: 978-1-4020-5869-1
eBook Packages: EngineeringEngineering (R0)