ECS e EMCS: Cache Simulators for Pedagogical Support in Computer Organization Teaching

  • Dawson Paiva Lima UFMS
  • Nahri Moreano UFMS

Abstract


Educational simulators are fundamental tools for teaching courses in the Computer Architecture and Organization field, as they facilitate understanding the behavior of the modeled system and its evaluation, deepening the learning of the theoretical concepts studied. This work presents two cache memory simulators for educational support, the Educational Cache Simulator and the Educational Multi-Level Caches Simulator, which model a single level or two levels of cache memory, respectively. Both have an intuitive and interactive graphical interface, allow the choice of different cache configurations and monitoring the cache behavior at each access and produce performance results. The first also offers a graphical representation of the cache organization and the visualization of accesses to it. The simulators can be used to carry out experiments in laboratory classes and for extra-class study, promoting active learning and theory-practice integration.
Keywords: Cache memory, Memory hierarchy, Simulator, Computer Architecture and Organization, Teaching

References

ACM/IEEE Computer Society (2013). Computer science curricula 2013 – Curriculum guidelines for undergraduate degree programs in computer science. ACM/IEEE.

ACM/IEEE Computer Society (2016). Computer engineering curricula 2016 – Curriculum guidelines for undergraduate degree programs in computer engineering. ACM/IEEE.

Akram, A. and Sawalha, L. (2019). A survey of computer architecture simulation techniques and tools. IEEE Access, 7:78120–78145.

Azevedo, R. et al. (2005). The ArchC architecture description language and tools. International Journal of Parallel Programming, 33:453–484.

Brais, H., Kalayappan, R., and Panda, P. R. (2020). A survey of cache simulators. ACM Computing Surveys, 53(1):19:1–19:32.

Esmeraldo, G. et al. (2019). Um estudo comparativo entre simuladores computacionais para apoio à disciplina de arquitetura e organização de computadores. In Congresso sobre Tecnologias na Educação, pages 1–10.

Guthaus, M. R. et al. (2001). MiBench: A free, commercially representative embedded benchmark suite. In IEEE Annual Workshop on Workload Characterization, pages 3–14.

Hammer, J. The pycachesim simulator. https://pypi.org/project/pycachesim/. Acessado em outubro/2020.

Hennessy, J. L. and Patterson, D. A. (2019). Computer Architecture – A Quantitative Approach. Elsevier, 6th edition.

HPArch Research Group (2006). MacSim: A CPU-GPU Heterogeneous Simulation Framework – User Guide. Georgia Institute of Technology.

Lowe-Power, J. et al. (2020). The gem5 simulator: Version 20.0+ – a new era for the open-source computer architecture simulator. https://arxiv.org/pdf/2007.03152.pdf. Acessado em janeiro/2021.

Null, L. and Lobur, J. (2003). The Essentials of Computer Organization and Architecture. Jones and Bartlett Publishers.

Patterson, D. A. and Hennessy, J. L. (2014). Computer Organization and Design – The Hardware/Software Interface. Elsevier, 5th edition.

Ristov, S. et al. (2013). Using EDUCache simulator for the computer architecture and organization course. International Journal of Engineering Pedagogy, 3(3):47–56.

Silva, L. H. C. (2019). Educational cache simulator: Uma ferramenta para ensino de arquitetura de computadores. Faculdade de Computação, Universidade Federal de Mato Grosso do Sul.

Tiosso, F. et al. (2014). Amnesia: um objeto de aprendizagem para o ensino de hierarquia de memória. In Congresso Brasileiro de Informática na Educação, pages 80–89.

Vollmar, K. and Sanderson, P. (2006). MARS: an education-oriented MIPS assembly language simulator. ACM SIGCSE Bulletin, 38(1):239–243.

Zorzo, A. F. et al. (2017). Referenciais de formação para os cursos de graduação em computação. Sociedade Brasileira de Computação.
Published
2021-07-20
LIMA, Dawson Paiva; MOREANO, Nahri. ECS e EMCS: Cache Simulators for Pedagogical Support in Computer Organization Teaching. In: WORKSHOP ON COMPUTING EDUCATION (WEI), 29. , 2021, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 308-317. ISSN 2595-6175. DOI: https://doi.org/10.5753/wei.2021.15922.