Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/2561828.2561972acmconferencesArticle/Chapter ViewAbstractPublication PagesiccadConference Proceedingsconference-collections
research-article

Automated generation of efficient instruction decoders for instruction set simulators

Published: 18 November 2013 Publication History

Abstract

Fast Instruction Set Simulators (ISS) are a critical part of MPSoC design flows. The complexity of developing these ISS combined with the ability to extend instruction sets tend to make automated generation of ISS a need. One important part of every ISS is its instruction decoder, but as the encoding of instruction sets becomes less orthogonal because of the incremental addition of instructions, the generation of a decoder is not anymore an obvious task. In this paper, we present two automated decoder generation strategies that are able to handle non-orthogonal instruction encodings. The first one builds a decision tree that does not consider the instruction's occurrences while the second considers these frequencies. In both cases, we use binary decision diagrams to represent the instructions encodings and the complex conditions due to the non-orthogonality of the encodings in order to generate the decoders. Our experiments on the MIPS and ARM (including VFP and Neon extensions) instruction sets show that both algorithms produce efficient decoders, and that it is beneficial to consider instruction frequencies.

References

[1]
A. Hoffmann, H. Meyr, and R. Leupers, Architecture Exploration for Embedded Processors with LISA. Dordrecht, NL: Kluwer Academic Press, dec 2002.
[2]
P. Mishra and N. Dutt, Eds., Processor description languages: applications and methodologies. Morgan Kaufmann, 2008.
[3]
A. Peleg and U. Weiser, "MMX technology extension to the intel architecture," IEEE Micro, vol. 16, no. 4, pp. 42--50, 1996.
[4]
J. Goodacre and A. Sloss, "Parallelism and the arm instruction set architecture," Computer, vol. 38, no. 7, pp. 42--50, 2005.
[5]
A. Wang, E. Killian, D. Maydan, and C. Rowen, "Hardware/software instruction set configurability for system-on-chip processors," in Proceedings of the 38th annual Design Automation Conference. IEEE/ACM, 2001, pp. 184--188.
[6]
R. Takken, "Sequential instruction set simulator generator," Master's thesis, Eindhoven University of Technology, 1992.
[7]
T. E. Jeremiassen, "Sleipnir. an instruction-level simulator generator," in Proceedings of the International Conference on Computer Design. IEEE, 2000, pp. 23--31.
[8]
M. Abbaspour and J. Zhu, "Retargetable binary utilities," in Proceedings of the 39th annual Design Automation Conference, 2002, pp. 331--336.
[9]
"The GNU binutils," http://www.gnu.org/software/binutils/.
[10]
H. Theiling, "Generating decision trees for decoding binaries," in Proceeding of LCTES '01, 2001, pp. 112--120.
[11]
W. Qin and S. Malik, "Automated synthesis of efficient binary decoders for retargetable software toolkits," in Proceedings of Design Automation Conference, 2003, 2003, pp. 764--769.
[12]
M. Reshadi, P. Mishra, and N. Dutt, "Hybrid-compiled simulation: An efficient technique for instruction-set architecture simulation," ACM Transactions on Embedded Computing Systems (TECS), vol. 8, no. 3, 2009.
[13]
R. E. Bryant, "Graph-based algorithms for boolean function manipulation," IEEE Transactions on Computers, vol. 100, no. 8, pp. 677--691, 1986.
[14]
D. Huffman, "A method for the construction of minimum-redundancy codes," Proceedings of the IRE, vol. 40, no. 9, pp. 1098--1101, 1952.
[15]
O. Coudert and J. Madre, "A unified framework for the formal verification of sequential circuits," in Proceeding of the International Conference on Computer-Aided Design. IEEE, 1990, pp. 126--129.
[16]
L. Jacomme, "The ro-bdd package of the alliance cad system," 2007, http://www-soc.lip6.fr/recherche/cian/alliance.
[17]
J. R. Bell, "Threaded code," Communication of the ACM, vol. 16, no. 6, pp. 370--372, 1973.
[18]
L.-N. Pouchet, "Polybench: The polyhedral benchmark suite (2011)," http://www-roc.inria.fr/~pouchet/software/polybench.
[19]
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 Workload Characterization, 2001, pp. 3--14.
[20]
F. Bellard, "QEMU, a fast and portable dynamic translator," in the USENIX Annual Technical Conference, 2005, pp. 41--46.

Cited By

View all
  • (2016)Decision tree generation for decoding irregular instructionsProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972179(1592-1597)Online publication date: 14-Mar-2016

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICCAD '13: Proceedings of the International Conference on Computer-Aided Design
November 2013
871 pages
ISBN:9781479910694
  • General Chair:
  • Jörg Henkel

Sponsors

Publisher

IEEE Press

Publication History

Published: 18 November 2013

Check for updates

Qualifiers

  • Research-article

Conference

ICCAD'13
Sponsor:
ICCAD'13: The International Conference on Computer-Aided Design
November 18 - 21, 2013
California, San Jose

Acceptance Rates

ICCAD '13 Paper Acceptance Rate 92 of 354 submissions, 26%;
Overall Acceptance Rate 457 of 1,762 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Decision tree generation for decoding irregular instructionsProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972179(1592-1597)Online publication date: 14-Mar-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media