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

Constructing fast and cycle-accurate simulators for configurable accelerators using C++ templates

Published: 19 October 2017 Publication History

Abstract

To quickly prototype accelerator/compiler co-designs, fast and highly accurate architectural simulators are indispensable. They must be fast to keep design iteration times low; they must be highly accurate to make simulation results meaningful. In this paper, we describe how to construct such fast, cycle-accurate simulators from an architectural model by using C++ templates. Not only are templates fully resolved at compile time, thus offering ample opportunity for optimization, they also aptly mirror synthesis-time parameterization of accelerators. For each hardware component, we encode these architecture parameters in a C++ type and construct a class templated on this type. Hierarchically composing the component classes then yields the overall simulator. To demonstrate our constructed simulators' speedup, we construct two simulators for a lightweight VLIW processor, one with, one without templates, and measured their performance: the templated simulator is about 4.85 times faster. Their execution speed makes our simulators well-suited for compiler validation and prototyping accelerator features.

References

[1]
Todd M Austin. 1997. A User's and Hacker's Guide to the SimpleScalar Architectural Research Tool Set. (1997). Retrieved August 30, 2017 from www.cs.virginia.edu/~skadron/cs654/slides/hack_guide.pdf
[2]
Frank Hannig, Vahid Lari, Srinivas Boppu, Alexandru Tanase, and Oliver Reiche. 2014. Invasive tightly-coupled processor arrays: A domain-specific architecture/compiler co-design approach. ACM Transactions on Embedded Computing Systems (TECS) 13, 4s (April 2014), 133--158.
[3]
Daniel Jones and Nigel Topham. 2009. High speed CPU simulation using LTU dynamic binary translation. In International Conference on High-Performance Embedded Architectures and Compilers. Springer-Verlag, Berlin, Heidelberg, Germany, 50--64.
[4]
Alexey Kupriyanov, Frank Hannig, and Jürgen Teich. 2004. High-Speed Event-Driven RTL Compiled Simulation. In Computer Systems: Architectures, Modeling, and Simulation, Proceedings of the 4th International Workshop on Embedded Computer Systems. Springer-Verlag, Berlin, Heidelberg, Germany, 519--529.
[5]
Prabhat Mishra and Nikil Dutt. 2008. Processor Description Languages. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
[6]
Oliver Schliebusch, Andreas Hoffmann, Achim Nohl, Gunnar Braun, and Heinrich Meyr. 2002. Architecture implementation using the machine description language LISA. In Proceedings of the 2002 Asia and South Pacific Design Automation Conference. IEEE, Washington, DC, USA, 239--244.
[7]
Bjarne Stroustrup. 2013. The C++ Programming Language (4th ed.). Addison-Wesley Professional, Boston, MA, USA.
[8]
Todd L. Veldhuizen. 2003. C++ Templates are Turing Complete. Technical Report. Indiana University, Bloomington, IN, USA.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
RSP '17: Proceedings of the 28th International Symposium on Rapid System Prototyping: Shortening the Path from Specification to Prototype
October 2017
110 pages
ISBN:9781450354189
DOI:10.1145/3130265
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 the author(s) 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: 19 October 2017

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ESWEEK'17
ESWEEK'17: THIRTEENTH EMBEDDED SYSTEM WEEK
October 19 - 20, 2017
Seoul, South Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 196
    Total Downloads
  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Jan 2025

Other Metrics

Citations

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