Ultra Fast Cycle-Accurate Compiled Emulation of Inorder Pipelined Architectures
Emulation of one architecture on another is useful when the architecture is under design, when software must be ported to a new platform or is being developed for systems which are still under development, or for embedded systems that have insufficient resources to support the software development process. Emulation using an interpreter is typically slower than normal execution by up to 3 orders of magnitude. Our approach instead translates the program from the original architecture to another architecture while faithfully preserving its semantics at the lowest level. The emulation speeds are comparable to, and often faster than, programs running on the original architecture. Partial evaluation of architectural features is used to achieve such impressive performance, while permitting accurate statistics collection. Accuracy is at the level of the number of clock cycles spent executing each instruction (hence the description cycle-accurate).
KeywordsBasic Block Digital Signal Processor Single Instruction Multiple Data Program Counter Loop Body
Unable to display preview. Download preview PDF.
- 3.Nohl, A., Braun, G., Schliebusch, O., Leupers, R., Meyr, H., Hoffmann, A.: A universal technique for fast and flexible instruction-set architecture simulation. In: Proceedings of the 39th conference on Design automation, pp. 22–27. ACM Press, New York (2002)Google Scholar
- 6.Dehnert, J.C., Grant, B.K., Banning, J.P., Johnson, R., Kistler, T., Klaiber, A., Mattson, J.: The transmeta code morphing software: Using speculation, recovery, and adaptive retranslation to address real-life challenges. In: Proceedings of the International Symposium on Code Generation and Optimization, CGO 2003 (2003)Google Scholar
- 7.Cmelik, B., Keppel, D.: Shade: A fast instruction-set simulator for execution profiling. ACM SIGMETRICS Performance Evaluation Review 22, 128–137 (1994) Special Issue on Proceedings of the 1994 Conference on Measurement and Modeling of Computer Systems (SIGMETRICS 1994, 16–20 May 1994, Vanderbilt University, Nashville, TN, USA)CrossRefGoogle Scholar
- 8.Witchel, E., Rosenblum, M.: Embra: Fast and flexible machine simulation. In: Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. ACM SIGMETRICS Performance Evaluation Review, vol. 24,1, pp. 68–79. ACM Press, New York (1996)Google Scholar
- 9.Probst, M.: Dynamic binary translation. In: UKUUG Linux Developer’s Conference 2002 (2002)Google Scholar
- 11.Amicel, R., Bodin, F.: A new system for high-performance cycle-accurate compiled simulation. In: 5th International Workshop on Software and Compilers for Embedded Systems (2001)Google Scholar