ACM Home Page
Please provide us with feedback. Feedback
FaCSim: a fast and cycle-accurate architecture simulator for embedded systems
Full text PdfPdf (665 KB)
Source
Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems table of contents
Tucson, AZ, USA
SESSION: Architecture table of contents
Pages 89-100  
Year of Publication: 2008
ISBN:978-1-60558-104-0
Also published in ...
Authors
Jaejin Lee  Seoul National University, Seoul, South Korea
Junghyun Kim  Seoul National University, Seoul, South Korea
Choonki Jang  Seoul National University, Seoul, South Korea
Seungkyun Kim  Seoul National University, Seoul, South Korea
Bernhard Egger  Samsung Institute of Technology, Yongin-si, South Korea
Kwangsub Kim  LG Electronics, Seoul, South Korea
SangYong Han  Seoul National University, Seoul, South Korea
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGDA: ACM Special Interest Group on Design Automation
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 27,   Downloads (12 Months): 238,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1375657.1375670
What is a DOI?

ABSTRACT

There have been strong demands for a fast and cycle-accurate virtual platforms in the embedded systems area where developers can do meaningful software development including performance debugging in the context of the entire platform. In this paper, we describe the design and implementation of a fast and cycle-accurate architecture simulator called FaCSim as a first step towards such a virtual platform. FacSim accurately models the ARM9E-S processor core and ARM926EJ-S processor's memory subsystem. It accurately simulates exceptions and interrupts to enable whole-system simulation including the OS. Since it is implemented in a modular manner in C++, it can be easily extended with other system components by subclassing or adding new classes. FaCSim is based on an interpretive simulation technique to provide flexibility, yet achieving high speed. It enables fast cycle-accurate architecture simulation by means of three mechanisms. First, it computes elapsed cycles in each pipeline stage as a chunk and incrementally adds it up to advance the core clock instead of performing cycle-by-cycle simulation. Second, it uses a basic-block cache that caches decoded instructions at the basic-block level. Finally, it is parallelized to exploit multicore systems that are available everywhere these days. Using 21 applications from the EEMBC benchmark suite, FaCSim's accuracy is validated against the ARM926EJ-S development board from ARM, and is accurate in a ±7% error margin. Due to basic-block level caching and parallelization, FaCSim is, on average, more than three times faster than ARMulator and more than six times faster than SimpleScalar.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
4
 
5
The Embedded Microprocessor Benchmark Consortium. EEMBC Benchmark Suite. http://www.eembc.com, 2008.
 
6
 
7
8
 
9
Intel. VTune Performance Analyzer. http://www.intel.com, 2008.
 
10
11
 
12
 
13
ARM Limited. ARM926EJ-S Techinical Reference Manual, 2003. http://infocenter.arm.com.
 
14
ARM Limited. ARM9E-S Core Techinical Reference Manual, 2004. http://infocenter.arm.com.
 
15
ARM Limited. ARM Architecture Reference Manual, 2005. http://infocenter.arm.com.
 
16
ARM Limited. Verstile Application Baseboard for ARM926EJ-S User Guide, 2006. http://infocenter.arm.com.
 
17
ARM Limited. RealView ARMulator ISS User Guide, Version 1.4.3, 2007. http://infocenter.arm.com.
 
18
LISA - Language for Instruction Set Architecture. http://www.iss.rwth-aachen.de/lisa/, 2001.
19
 
20
21
 
22
Christopher Mills, Stanley C. Ahalt, and Jim Fowler. Compiled instruction set simulation. Software, Practice and Experience, 21(8):877--889, 1991.
 
23
24
 
25
David A. Penry, Daniel Fay, David Hodgdon, Ryan Wells, Graham Schelle, David I. August, and Dan Connors. Exploiting Parallelism and Structure to Accelerate the Simulation of Chip Multi-processors. In HPCA ?06: Proceedings of the 12th International Symposium on High-Performance Computer Architecture, pages 27--38, Feburary 2006.
 
26
 
27
QEMU. http://fabrice.bellard.free.fr/qemu/, 2008.
28
29
 
30
31
 
32
 
33
SESC: SuperESCalar Simulator. http://iacoma.cs.uiuc.edu/~paulsack/sescdoc/, 2002.
 
34
SimpleScalar. http://www.simplescalar.com, 2004.
 
35
Infineon Technologies. HYB39S512400T(L), HYB39S512800T(L), HYB39S512160T(L) 512-Mbit Synchronous DRAM Data Sheet, Rev. 1.3, 2003. http://www.infineon.com.
36
 
37
38
 
39
Ji Zhang, Jaejin Lee, and Philip K. McKinley. Optimizing the java piped i/o stream library for performance. In LCPC ?02: Proceedings of the 15th International Workshop on Languages and Compilers for Parallel Computing, pages 233--248, Berlin/Heidelberg, Germany, July 2002. Springer. Also published in Springer Lecture Notes in Computer Science, Vol. 2481/2005.
40


Collaborative Colleagues:
Jaejin Lee: colleagues
Junghyun Kim: colleagues
Choonki Jang: colleagues
Seungkyun Kim: colleagues
Bernhard Egger: colleagues
Kwangsub Kim: colleagues
SangYong Han: colleagues