International Journal of Parallel Programming

, Volume 33, Issue 5, pp 453–484 | Cite as

The ArchC Architecture Description Language and Tools

  • Rodolfo Azevedo
  • Sandro Rigo
  • Marcus Bartholomeu
  • Guido Araujo
  • Cristiano Araujo
  • Edna Barros
Article

Abstract

This paper presents an architecture description language (ADL) called ArchC, which is an open-source SystemC-based language that is specialized for processor architecture description. Its main goal is to provide enough information, at the right level of abstraction, in order to allow users to explore and verify new architectures, by automatically generating software tools like simulators and co-verification interfaces. ArchC’s key features are a storage-based co-verification mechanism that automatically checks the consistency of a refined ArchC model against a reference (functional) description, memory hierarchy modeling capability, the possibility of integration with other SystemC IPs and the automatic generation of high-level SystemC simulators and assemblers. We have used ArchC to synthesize both functional and cycle-based simulators for the MIPS and Intel 8051 processors, as well as functional models of architectures like SPARC V8, TMS320C62x, XScale and PowerPC.

Keywords

Architecture description language SystemC ISA simulator compiled simulation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    OSCI, SystemC Version 2.0 User’s Guide (2001)Google Scholar
  2. 2.
    http://www.archc.org, The ArchC Resource Center.Google Scholar
  3. 3.
    A. Fauth, J. Van Praete, and M. Freericks, Describing Instruction Set Processors using nML, In Proc. European Design and Test Conf. Paris, pp. 503–507 (March 1995), URL citeseer.nj.nec.com/fauth95describing.html.Google Scholar
  4. 4.
    M. R. Hartoog, J. A. Rowson, P. D. Reddy, S. Desai, D. D. Dunlop, E. A. Harcourt, and N. Khullar, Generation of Software Tools from Processor Descriptions for Hardware/Software Codesign, In Proc. Design Automation Conference, pp. 303–306 (1997), URL citeseer.nj.nec.com/hartoog97generation.html.Google Scholar
  5. 5.
    V. Zivojnovic, S. Pees, and H. Meyr, LISA—Machine Description Language and Generic Machine Model for HW/SW Co-Design, Proceedings of the IEEE Workshop on VLSI Signal Processing, San Francisco (1996), URL citeseer.nj.nec.com/zivojnovic96dsp.html.Google Scholar
  6. 6.
    A. Hoffmann, T. Kogel, and H. Meyr, A Framework for Fast Hardware-Software Cosimulation, Proceedings of Design, Automation and Test in Europe Conference (DATE) (March 2001).Google Scholar
  7. 7.
    A. Nohl, G. Braun, O. Schliebusch, R. Leupers, H. Meyr, and A. Hoffmann, A Universal Technique for Fast and Flexible Instruction-Set Architecture Simulation, Proceedings of Design and Automation Conference (DAC) (June 2002).Google Scholar
  8. 8.
    A. Halambi, P. Grun, V. Ganesh, A. Khare, N. Dutt, and A. Nicolau, EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator Retargetability, In Proc. European Conference on Design, Automation and Test (DATE) (March 1999).Google Scholar
  9. 9.
    M. Reshadi, P. Mishra, and N. Dutt, Instruction Set Compiled Simulation: A Technique for Fast and Flexible Instruction Set Simulation, Proceedings of Design and Automation Conference (DAC) (2003).Google Scholar
  10. 10.
    G. Hadjiyiannis, S. Hanono, and S. Devadas, ISDL: An Instruction Set Description Language for Retargetability, Design Automation Conference (DAC), pp. 299–302 (1997), URL citeseer.nj.nec.com/hadjiyiannis97isdl.html.Google Scholar
  11. 11.
    G. Hadjiyiannis and S. Devadas, Techniques for Accurate Performance Evaluation in Architecture Exploration, IEEE Transactions on VLSI Systems (2002), URL citeseer.nj.nec.com/hadjiyiannis02techniques.html.Google Scholar
  12. 12.
    J. Hennessy and D. Patterson, Computer Organization & Design: The Hardware/Software Interface, Morgan Kaufmann (1998).Google Scholar
  13. 13.
    B. Cmelik and D. Keppel, Shade: A Fast Instruction-Set Simulator for Execution Profiling, ACM SIGMETRICS Performance Evaluation Review, 22(1):128–137 (May 1994), URL citeseer.nj.nec.com/article/cmelik93shade.html.Google Scholar
  14. 14.
    P. Viana, E. Barros, S. Rigo, R. Azevedo, and G. Araújo, Exploring Memory Hierarchy with ArchC, Proc. of the 15th Symp. on Computer Architecture and High Performance Computing, São Paulo, (SBAC-PAD’03) (November 2003).Google Scholar
  15. 15.
    P. Viana, E. Barros, S. Rigo, R. Azevedo, and G. Araújo, Modeling and Simulating Memory Hierarchies in a Platform-Based Design Methodology, Proc. of the Design, Automation and Test in Europe (DATE’04), Paris (February 2004).Google Scholar
  16. 16.
    M. Reshadi, N. Bansal, P. Mishra, and N. Dutt, An Efficient Retargetable Framework for Instruction-Set Simulation, Proceedings of the 2003 International Symposium on System Synthesis (ISSS-2003), Newport Beach, California (October 2003).Google Scholar
  17. 17.
    C. Lee, M. Potkonjak, and W. H. Mangione-Smith, Mediabench; A Tool fo Evaluating and Synthesizing Multimedia and Communications Systems, Proc. of 30th Annual International Symposium on Microarchitecture (December 1997).Google Scholar
  18. 18.
    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, IEEE 4th Annual Workshop on Workload Characterization, Austin, TX (December 2001).Google Scholar
  19. 19.
    S. Rigo, M. Juliato, R. Azevedo, G. Araujo and P. Centoducatte. Teaching Computer Architecture Using an Architecture Description Language, Proceedings of the Workshop on Computer Architecture Education (WCAE), held in conjunction with the International Symposium on Computer Architecture (INCA), Munich (June 2004).Google Scholar

Copyright information

© Springer Science+Business Media, Inc. 2005

Authors and Affiliations

  • Rodolfo Azevedo
    • 1
  • Sandro Rigo
    • 1
  • Marcus Bartholomeu
    • 1
  • Guido Araujo
    • 1
  • Cristiano Araujo
    • 2
  • Edna Barros
    • 2
  1. 1.Computer Systems Laboratory, Institute of ComputingUniversity of Campinas, Cidade Universitaria Zeferino VazCampinas-SPBrazil
  2. 2.Computer Science InstituteFederal University of PernambucoRecife-PEBrazil

Personalised recommendations