Learning Memory Hierarchy and Exploring Spatial and Temporal Localities with the Amnesia Simulator
DOI:
https://doi.org/10.5753/ijcae.2023.4823Keywords:
Computer Architecture, Memory Hierarchy, Simulator, AmnesiaAbstract
The evolution of technologies increasingly demands more processing power from computers (e.g., smartphones, tablets, laptops, desktops, and servers), requiring both performance and efficiency. One of the main components associated with a computer's performance is memory, and thus, how quickly data or instructions can be accessed by the processor. During the undergraduate course in Computer Science, students are immersed in various subjects that bring an understanding of the importance of memory. However, one subject that particularly focuses on memory hierarchy is Computer Architecture. Generally speaking, learning the positive and negative effects of memory exploitation lies in understanding how to leverage spatial and temporal locality to reduce the impact of cache misses and page faults. For this reason, the primary objective of this paper is to present a study and learning approach for memory hierarchy using the Amnesia simulator. This approach has been utilized in the Computer Architecture III course. Among the outcomes achieved is this article, which, in its initial version, was developed as one of the products of the course's work. The contribution includes the learning approach and the maturation of the students involved in the work.
Downloads
References
Lioris, T., Dimitroulakos, G. and Masselos, K., “XMSIM: EXtensible Memory SIMulator for Early Memory Hierarchy Evaluation,” 2010 IEEE Computer Society Annual Symposium on VLSI, Lixouri, Greece, pp. 375-380, 2010. DOI: 10.1109/ISVLSI.2010.106.
Binkert, N., et al., “The gem5 simulator.” SIGARCH Comput. Archit. News 39, 2 (May), 1–7, 2011. DOI: 10.1145/2024716.2024718.
Tiosso, F., Bruschi, S. M., Souza, P. S. L., Barbosa, E. F., “Amnesia: um Objeto de Aprendizagem para o Ensino de Hierarquia de Memória,” Proceedings of the 25o. Simpósio Brasileiro de Informática na Educação (SBIE 2014), Dourados, Sociedade Brasileira de Computação, 2014. v. 1. p. 1-10.
Agrawal, R., Bandara, S., Ehret, A., Isakov, M., Mark, M. and Kinsy, M. A., “The BRISC-V Platform: A Practical Teaching Approach for Computer Architecture.” In Proceedings of the Workshop on Computer Architecture Education (WCAE’19). Association for Computing Machinery, New York, NY, USA, Article 1, 1–8. 2019. DOI: 10.1145/3338698.3338891.
Petersen, M. B., “Ripes: A Visual Computer Architecture Simulator,” ACM/IEEE Workshop on Computer Architecture Education (WCAE), Raleigh, NC, USA, pp. 1-8, 2021. DOI: 10.1109/WCAE53984.2021.9707149.
Patterson, D. A., Hennessy, J. L., “Organização e Projeto de Computadores: A Interface Hardware/Software,” Elsevier Brasil, 2017.
Welch, T., “Memory Hierarchy Configuration Analysis,” in IEEE Transactions on Computers, vol. 27, no. 05, pp. 408-413, 1978. DOI: 10.1109/TC.1978.1675120.
Denning, P. J. “The locality principle,” Commun. ACM 48, 7 (July 2005), 19–24, DOI: 10.1145/1070838.1070856.
Denning, P. J., “Virtual Memory,” ACM Comput. Surv. 2, 3 (Sept. 1970), 153–189. DOI: 10.1145/356571.356573.
Hill, M. D., and Smith, A. J., “Evaluating associativity in CPU caches,” in IEEE Transactions on Computers, vol. 38, no. 12, pp. 1612-1630, Dec. 1989, DOI: 10.1109/12.40842.
Tao, J., Schloissnig, S., Karl, W., “Analysis of the Spatial and Temporal Locality in Data Accesses,” In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds) Computational Science – ICCS 2006. ICCS 2006. Lecture Notes in Computer Science, vol 3992. Springer, Berlin, Heidelberg. DOI: 10.1007/11758525, 68.
Vasconcelos, L. B. A., Machado, M. V., Freitas, H. C., “Ambiente para Estudo de Computação Paralela Baseado no Simulador Completo GEM5 e em Algoritmos de Ordenação Escritos com OpenMP.” International Journal of Computer Architecture Education, v. 3, p. 1-4, 2014.
Penna, P. H. M. M., Freitas, H. C., “Análise e Avaliação de Simuladores de Sistemas Completos para o Ensino de Arquitetura de Computadores.” International Journal of Computer Architecture Education, vol. 2, no 1, p.13-16, 2013.
Alves, M. A. Z., Freitas, H. C., Navaux, P. O. A., “Ensino de arquiteturas de processadores many-core e memórias cache utilizando o simulador Simics.” In: Carlos Augusto Paiva da Silva Martins; Philippe Olivier Alexandre Navaux; Rodolfo Jardim de Azevedo; Sérgio Takeo Kofuji. (Org.). Arquitetura de Computadores: educação, ensino e aprendizado. 1ed. Porto Alegre: Sociedade Brasileira de Computação, v. 1, p. 74-110, 2012.
Coutinho, L. M. N., Mendes, J. L. D. and Martins, C. A. P. S., “MSCSim -Multilevel and Split Cache Simulator,” Proceedings. Frontiers in Education. 36th Annual Conference, San Diego, CA, USA, pp. 7-12, 2006. DOI: 10.1109/FIE.2006.322536.
Mendes, J. L. D., Coutinho, L. M. N. and Martins, C. A. P. S., “Web memory hierarchy learning and research environment.” In Proceedings of the 2006 workshop on Computer architecture education: held in conjunction with the 33rd International Symposium on Computer Architecture (WCAE ’06). Association for Computing Machinery, New York, NY, USA, 5–es. DOI: 10.1145/1275620.1275629.
Moreno, L., González, E.J., Popescu, B., Toledo, J., Torres, J. and Gonzalez, C., “MNEME: A memory hierarchy simulator for an engineering computer architecture course.” Comput. Appl. Eng. Educ., 19: 358-364, 2011. DOI: 10.1002/cae.20317.
Freitas, L. F. S., Ancioto, A. S. R., de Fátima Rodrigues Guimarães, R., Martins, V. F., Dias, D. R. C., de Paiva Guimarães, M., “A Virtual Reality Simulator to Assist in Memory Management Lectures.” Computational Science and Its Applications. ICCSA 2020. Lecture Notes in Computer Science, vol 12255. 2020. Springer, Cham. DOI: 10.1007/978-3-030-58820-5_58.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2023 Os autores
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.