skip to main content
10.1145/2039370.2039424acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

An efficient algorithm for isomorphism-aware custom instruction identification for extensible processors

Published: 09 October 2011 Publication History

Abstract

Extensible processors have been widely used to achieve the conflicting demands for performance improvement, low power consumption, and flexibility. As extensible processors have become more popular, several algorithms have been proposed for automatically identifying instruction-set extensions in order to reduce the effort of manual design and verification. However, most of them focus on finding large and complex instructions that are used only once, rather than repeatedly used ones. Moreover, some other approaches that consider recurrence are limited to finding small instructions. This paper proposes a novel algorithm that considers the instruction reusability as well as I/O serialization. In order to overcome high complexity of the problem, we develop a canonical form construction algorithm for fast isomorphism detection on directed acyclic graphs and an incremental template generation algorithm that identifies the best custom instruction with a user-defined fitness function. Moreover, our algorithm serializes I/O operations so that the numbers of inputs and outputs of custom instructions are not limited by the microarchitecture. Experimental results show that our algorithm achieves significant improvement over previous approaches in terms of algorithm runtime as well as performance gain obtained by the custom instructions.

References

[1]
Altera Nios II Processor. http://www.altera.com/products/ip/processors/nios2/.
[2]
K. Atasu, R. G. Dimond, O. Mencer, W. Luk, C. Özturan, and G. Dündar. Optimizing instruction-set extensible processors under data bandwidth constraints. In Proceedings of the Design, Automation and Test in Europe Conference, 2007.
[3]
K. Atasu, G. Dündar, and C. Özturan. An integer linear programming approach for identifying instruction-set extensions. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis, 2005.
[4]
K. Atasu, O. Mencer, W. Luk, and C. Özturan. Fast custom instruction identification by convex subgraph enumeration. In Proceedings of the International Conference on Application-specific Systems, Architectures, and Processors, 2008.
[5]
K. Atasu, L. Pozzi, and P. Ienne. Automatic application-specific instruction-set extensions under microarchitectural constraints. In Proceedings of the Design Automation Conference, 2003.
[6]
P. Bonzini and L. Pozzi. A retargetable framework for automated discovery of custom instructions. In Proceedings of the International Conference on Application-specific Systems, Architectures and Processors, 2007.
[7]
P. Bonzini and L. Pozzi. Recurrence-aware instruction set selection for extensible embedded processors. IEEE Transactions on Very Large Scale Integration Systems, 16(10):1259--1267, 2008.
[8]
P. Brisk, A. Kaplan, R. Kastner, and M. Sarrafzadeh. Instruction generation and regularity extraction for reconfigurable processors. In Proceedings of the International Conference on Compilers, Architectures, and Synthesis for Embedded Systems, 2002.
[9]
N. Clark, H. Zhong, and S. Mahlke. Processor acceleration through automated instruction set customization. In Proceedings of the Symposium on Microarchitecture, 2003.
[10]
L. P. Cordella, P. Foggia, C. Sansone, and M. Vento. A (sub)graph isomorphism algorithm for matching large graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(10):1367--1372, 2004.
[11]
R. E. Gonzalez. Xtensa: a configurable and extensible processor. IEEE Micro, 20(2):60--70, 2000.
[12]
M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. MiBench: a free commercially representative embedded benchmark suite. In Proceedings of the International Workshop on Workload Characterization, 2001.
[13]
R. Kastner, A. Kaplan, S. O. Memik, and E. Bozorgzadeh. Instruction generation for hybrid reconfigurable systems. ACM Transactions on Design Automation of Electronic Systems, 7(4):605--627, 2002.
[14]
C. Lattner and V. Adve. LLVM: a compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization, 2004.
[15]
MIPS Pro Series. http://www.mips.com/products/cores/32-64-bit-cores/pro-series-family/.
[16]
L. Pozzi, K. Atasu, and P. Ienne. Exact and approximate algorithms for the extension of embedded processor instruction sets. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 25(7):1209--1229, 2006.
[17]
L. Pozzi and P. Ienne. Exploiting pipelining to relax register-file port constraints of instruction-set extensions. In Proceedings of the International Conference on Compilers, Architectures, and Synthesis for Embedded Systems, 2005.
[18]
Stretch. http://www.stretchinc.com/.
[19]
Synopsys DesignWare Configurable Cores. http://www.synopsys.com/ip/configurablecores/.
[20]
Target Compiler Technologies. http://www.retarget.com/.
[21]
A. K. Verma, P. Brisk, and P. Ienne. Fast, quasi-optimal, and pipelined instruction-set extensions. In Proceedings of the Asia and South Pacific Design Automation Conference, 2008.
[22]
P. Yu and T. Mitra. Scalable custom instructions identification for instruction-set extensible processors. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems, 2004.

Cited By

View all

Index Terms

  1. An efficient algorithm for isomorphism-aware custom instruction identification for extensible processors

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CODES+ISSS '11: Proceedings of the seventh IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
      October 2011
      402 pages
      ISBN:9781450307154
      DOI:10.1145/2039370
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 09 October 2011

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. asips
      2. extensible processors
      3. i/o serialization
      4. instruction-set extension
      5. isomorphism detection

      Qualifiers

      • Research-article

      Conference

      ESWeek '11
      ESWeek '11: Seventh Embedded Systems Week
      October 9 - 14, 2011
      Taipei, Taiwan

      Acceptance Rates

      Overall Acceptance Rate 280 of 864 submissions, 32%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)4
      • Downloads (Last 6 weeks)2
      Reflects downloads up to 25 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media