ECS e EMCS: Simuladores de Caches para o Apoio Pedagógico no Ensino de Arquitetura de Computadores
Resumo
Simuladores educacionais são ferramentas fundamentais no ensino das disciplinas da área de Arquitetura e Organização de Computadores, pois facilitam a compreensão do comportamento do sistema modelado e sua avaliação, aprofundando o aprendizado dos conceitos teóricos estudados. Este trabalho apresenta dois simuladores de memórias cache para apoio pedagógico, o Educational Cache Simulator e o Educational Multi-Level Caches Simulator, que modelam um único nível ou dois níveis de memória cache, respectivamente. Ambos possuem uma interface gráfica intuitiva e interativa, possibilitam a escolha de diferentes configurações para as caches e o acompanhamento do comportamento da cache a cada acesso e produzem resultados de desempenho. O primeiro também oferece uma representação gráfica da organização da cache e a visualização dos acessos à mesma. Os simuladores podem ser usados na realização de experimentos em aulas práticas e no estudo extra-classe, promovendo o aprendizado ativo e a integração teoria-prática.
Palavras-chave:
Memória cache, Hierarquia de memórias, Simulador, Arquitetura e Organização de Computadores, Ensino
Referências
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.
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.
Publicado
20/07/2021
Como Citar
LIMA, Dawson Paiva; MOREANO, Nahri.
ECS e EMCS: Simuladores de Caches para o Apoio Pedagógico no Ensino de Arquitetura de Computadores. In: WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO (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.