TFSim: a simulator of the tomasulo algorithm for supporting the teaching of superscalar architectures
DOI:
https://doi.org/10.5753/ijcae.2019.4847Abstract
This paper presents TFSim, a functional simulator for superscalar architecture with out-of-order execution and speculation based on the Tomasulo algorithm. The simulator uses the MIPS64 architecture and features a complete graphical interface at the cycle level, faithfully following the descriptions found in the literature. It was developed based on the SystemC standards for discrete event simulation, which provide robustness and extensibility to the tool. Its main objective is to complement the teaching of Computer Architecture by covering one of the most important out-of-order execution algorithms in the literature.
Downloads
References
Nana c++ library, 2015(acessed December 8,2018). [link].
D. Anderson, F. Sparacio, and R. M. Tomasulo. The ibm system/360 model 91: Machine philosophy and instruction-handling. IBM Journal of Research and Development, 11(1):8-24, 1967.
D. Black and J. Donovan. SystemC: From the Ground Up. Kluwer Academic Publishers, 2004.
I. Branovic, R. Giorgi, and E. Martinelli. Webmips: a new web-based mips simulation environment for computer architecture education. In Proceedings of the 2004 workshop on Computer architecture education: held in conjunction with the 31st International Symposium on Computer Architecture, page 19. ACM, 2004.
J. L. H. David A. Patterson. Arquitetura de computadores: Uma abordagem quantitativa. 2012.
L. Duenha and R. Azevedo. Utilização dos simuladores do mpsocbench para o ensino e aprendizagem de arquitetura de computadores. International Journal of Computer Architecture Education (IJCAE), 5(1):26-31, 2016.
L. Duenha, F. Crominski, M. T. Santos, and R. Ribeiro. Avaliação de preditores de desvios por meio de simuladores como parte do processo de ensino e aprendizagem de arquitetura de computadores. International Journal of Computer Architecture Education (IJCAE), 6(1):1-9, 2017.
P. Ezudheen, P. Chandran, J. Chandra, B. Simon, and D. Ravi. Parallelizing SystemC Kernel for Fast Hardware Simulation on SMP Machines. In 23rd Workshop on Principles of Advanced and Distributed Simulation, pages 80-87. July 2009.
A. Felix, C. Pousa, and M. Carvalho. Dimipss: Um simulador didático e interativo do mips. In Workshop sobre Educação em Arquitetura de Computadores, pages 49-52, 2006.
H. Grunbacher and H. Khosravipour. Windlx and mipsim pipeline simulators for teaching computer architecture. In Engineering of Computer-Based Systems, 1996. Proceedings., IEEE Symposium and Workshop on, pages 412-417. IEEE, 1996.
K. Huang, I. Bacivarov, F. Hugelshofer, and L. Thiele. Scalably Distributed SystemC Simulation for Embedded Applications. In Proceedings of the International Symposium on Industrial Embedded System (SIES 2008), pages 271-274. 2008.
L. Reis and L. Duenha. Implementação do simulador systemc de um processador superescalar baseado no algoritmo de tomasulo, 2018. [link].
SystemC. IEEE Std 1666TM Standard SystemC Language Reference Manual. IEEE Computer Society, January 2012.
R. M. Tomasulo. An efficient algorithm for exploiting multiple arithmetic units. IBM Journal of research and Development, 11(1):25-33, 1967.
D. K. Vollmar and D. P. Sanderson. A mips assembly language simulator designed for education. Journal of Computing Sciences in Colleges, 21(1):95-101, 2005.
K. Vollmar and P. Sanderson. Mars: an educationoriented mips assembly language simulator. In ACM SIGCSE Bulletin, volume 38, pages 239-243. ACM, 2006.
C. A. Zeferino, A. L. A. Raabe, P. V. Vieira, and M. C. Pereira. Um enfoque interdisciplinar no ensino de arquitetura de computadores. C. Martins, P. Navaux, R. Azevedo, S. Kofuji. Arquitetura de Computadores: educação, ensino e aprendizado, 2012.
Y. Zhang and G. B. Adams, III. An interactive, visual simulator for the dlx pipeline. In Proceedings of the 1997 Workshop on Computer Architecture Education, WCAE-3 '97, New York, NY, USA, 1995. ACM.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2019 Os autores
This work is licensed under a Creative Commons Attribution 4.0 International License.