Desenvolvendo simuladores para arquitetura de computadores com auxílio de modelos generativos de linguagens
DOI:
https://doi.org/10.5753/ijcae.2025.6319Keywords:
Simuladores, modelos generativos de linguagem, arquitetura de computadores, computação paralelaAbstract
Este trabalho apresenta o uso de modelos generativos para o desenvolvimento de simuladores interativos voltados ao ensino de arquitetura de computadores em diferentes níveis de abstração. Os simuladores contam com interfaces que incluem janelas de edição de código, visualização gráfica da execução e integração com o Google Colab, promovendo a experimentação prática e acessível. O desenvolvimento foi realizado no contexto das disciplinas de arquitetura de computadores da Universidade Federal de Viçosa, com participação ativa dos alunos. Como parte das atividades, os estudantes receberam a demanda dos requisistos desejados para cada simulador, acompanhada de um código inicial com número reduzido de funcionalidades, que deveria ser ampliado e aprimorado. Foram desenvolvidos simuladores para diversas arquiteturas, incluindo: processadores RISC-V com e sem pipeline, arquiteturas com múltiplas unidades funcionais, simuladores baseados no algoritmo de Tomasulo, interpretadores para assembly vetorial, arquiteturas com array processors SIMD, além de modelos de multiprocessadores com memória compartilhada e com troca de mensagens. Além dos processadores, um projeto de uma cache 4-way também foi implementado. A cache e os processadores RISC-V têm implementação em Verilog e Python. As demais arquiteturas usaram simuladores em Python. A abordagem visa tornar o aprendizado mais visual, prático e alinhado com os fundamentos teóricos da área.
Downloads
Referências
Airin (2015). Verilog-caches. Available at: [link] Accessed: 2025-07-19.
Alves, F. A., Almeida, D., Bragança, L., Gomes, A. B., Ferreira, R. S., and Nacif, J. A. M. (2015). Ensinando arquiteturas vetoriais utilizando um simulador de instruções mips. International Journal of Computer Architecture Education, 4(1):9-12. Available at: [link].
Barr, D. R. and Dudek, P. (2008). A cellular processor array simulation and hardware prototyping tool. In 2008 11th International Workshop on Cellular Neural Networks and Their Applications, pages 213-218. IEEE. DOI: 10.1109/cnna.2008.4588680.
Böseler, F., Walter, J., and Perjikolaei, B. R. (2022). A comparison of virtual platform simulation solutions for timing prediction of small risc-v based socs. In 2022 Forum on Specification & Design Languages (FDL), pages 1-8. IEEE. DOI: 10.1109/FDL56239.2022.9925667.
Canesche, M., Bragança, L., Neto, O. P. V., Nacif, J. A., and Ferreira, R. (2021). Google colab cad4u: Hands-on cloud laboratories for digital design. In 2021 IEEE International Symposium on Circuits and Systems (ISCAS), pages 1-5. IEEE. DOI: 10.1109/iscas51556.2021.9401151.
Castro, L. and Azevedo, R. (2020). Circuitly: A visual and constructive framework for teaching digital circuits. International Journal of Computer Architecture Education, 9(1):10-15. DOI: 10.5753/ijcae.2020.4839.
Chauan, P., Singh, G., and Singh, G. (2015). Cache controller for 4-way set-associative cache memory. International Journal of Computer Applications, 129(1):8887. DOI: 10.5120/ijca2015906787.
Coura, P., Freitas, I., Costa, H., Nacif, J., and Ferreira, R. (2025). Desmistificando o ensino de inteligência artificial e aprendizado de máquina. In Simpósio Brasileiro de Educação em Computação (EDUCOMP), pages 25-27. SBC.
de Figueiredo, G. A., de Souza, E. S., Rodrigues, J. H., Nacif, J. A., and Ferreira, R. (2024). Desenvolvendo ferramentas para ensino de risc-v com python, verilog, matplotlib, svg e chatgpt. International Journal of Computer Architecture Education, 13(1):43-52. DOI: 10.5753/ijcae.2024.5343.
Esmeraldo, G. Á. R., Feitosa, R. G. F., da Silva Barros, E. N., Proto, E. C. P. d. S., de Mello, H. M., Lisboa, E. B., Bispo Jr, E. L., and de Campos, G. A. L. (2023). Uma abordagem para ensino-aprendizado de projetos de sistemas computacionais com utilização do simulador compsim com suporte à arquitetura risc-v. Revista Brasileira de Informática na Educação, 31:271-288. DOI: 10.5753/rbie.2023.2951.
Ferreira, R., Canesche, M., Jamieson, P., Neto, O. P. V., and Nacif, J. A. (2024a). Examples and tutorials on using google colab and gradio to create online interactive student-learning modules. Computer Applications in Engineering Education, 32(4):e22729. DOI: 10.1002/cae.22729.
Ferreira, R., Canesche, M., and Penha, J. (2023). Google colab para ensino de computação. In Simpósio Brasileiro de Educação em Computação (EDUCOMP), pages 46-47. SBC. DOI: 10.5753/educomp_estendido.2023.228279.
Ferreira, R., Nacif, J., Magalhaes, S., de Almeida, T., and Pacifico, R. (2015). Be a simulator developer and go beyond in computing engineering. In 2015 IEEE Frontiers in Education Conference (FIE), pages 1-8. IEEE. DOI: 10.1109/fie.2015.7344416.
Ferreira, R., Sabino, C., Canesche, M., Neto, O. P. V., and Nacif, J. A. (2024b). Aiot tool integration for enriching teaching resources and monitoring student engagement. Internet of Things, 26:101045. DOI: 10.1016/j.iot.2023.101045.
Garcia, M., Niyaz, Q., Yang, X., Javaid, A. Y., and Paheding, S. (2024). An interactive visualization tool for computer organization and design course. In 2024 IEEE International Conference on Electro Information Technology (eIT), pages 457-462. IEEE. DOI: 10.1109/eit60633.2024.10609897.
Giorgi, R. and Mariotti, G. (2019). Webrisc-v: A web-based education-oriented risc-v pipeline simulation environment. In Proceedings of the workshop on computer architecture education, pages 1-6. DOI: 10.1145/3338698.3338894.
Hazlan, M. A. A.-Z., Gunawan, T. S., Yaacob, M., Kartiwi, M., and Arifin, F. (2023). Design and performance analysis of a fast 4-way set associative cache controller using tree pseudo least recently used algorithm. Indonesian Journal of Electrical Engineering and Informatics (IJEEI), 11(4):1051-1063. DOI: 10.52549/.v11i4.5014.
Herbordt, M. C., Cravy, J., Sam, R., Kidwai, O., and Lin, C. (2000). A system for evaluating performance and cost of simd array designs. Journal of Parallel and Distributed Computing, 60(2):217-246. DOI: 10.1006/jpdc.1999.1602.
Hwang, I., Lee, J., Kang, H., Lee, G., and Kim, H. (2025). Survey of cpu and memory simulators in computer architecture: A comprehensive analysis including compiler integration and emerging technology applications. Simulation Modelling Practice and Theory, 138:103032. DOI: 10.1016/j.simpat.2024.103032.
Jamieson, P., Ferreira, R., and Nacif, J. (2025). Leveraging large language models to create interactive online resources for digital systems and computer architecture education. In ASEE Annual Conference & Exposition. Available at: [link].
Jamieson, P., Ferreira, R., and Nacif, J. A. (2021). Personalizing online computer engineering resources and labs for digital, embedded, and computer system courses. In 2021 IEEE frontiers in education conference (FIE), pages 1-5. IEEE. DOI: 10.1109/fie49875.2021.9637244.
Kaur, G., Arora, R., and Panchal, S. S. (2021). Implementation and comparison of direct mapped and 4-way set associative mapped cache controller in vhdl. In 2021 8th International Conference on Signal Processing and Integrated Networks (SPIN), pages 1018-1023. IEEE. DOI: 10.1109/spin52536.2021.9566081.
Materzok, M. (2019). Digitaljs: A visual verilog simulator for teaching. In Proceedings of the 8th Computer Science Education Research Conference, pages 110-115. DOI: 10.1145/3375258.3375272.
Mezger, B. W., Santos, D. A., Dilillo, L., Zeferino, C. A., and Melo, D. R. (2022). A survey of the risc-v architecture software support. IEEE Access, 10:51394-51411. DOI: 10.1109/access.2022.3174125.
Omran, S. S. and Amory, I. A. (2018). Implementation of lru replacement policy for reconfigurable cache memory using fpga. In 2018 International Conference on Advanced Science and Engineering (ICOASE), pages 13-18. IEEE. DOI: 10.1109/icoase.2018.8548892.
Passe, F., Canesche, M., Neto, O. P. V., Nacif, J. A., and Ferreira, R. (2020). Mind the gap: Bridging verilog and computer architecture. In 2020 IEEE International Symposium on Circuits and Systems (ISCAS), pages 1-5. IEEE. DOI: 10.1109/iscas45731.2020.9180650.
Patel, R. (2021). 4-way-set-associative-cache-verilog. Available at: [link] Accessed: 2025-07-19.
Patterson, D. A. and Hennessy, J. L. (2017). Computer Organization and Design RISC-V Edition: The Hardware Software Interface. The Morgan Kaufmann Series. Book.
Potter, J. L. and Meilander, W. C. (2002). Array processor supercomputers. Proceedings of the IEEE, 77(12):1896-1914. DOI: 10.1109/5.48831.
Puidenko, V. and Kharchenko, V. (2020). The minimizating of hardware for implementation of pseudo lru algorithm for cache memory. In 2020 IEEE 11th International Conference on Dependable Systems, Services and Technologies (DESSERT), pages 65-71. IEEE. DOI: 10.1109/dessert50317.2020.9125054.
Railing, B. P. (2023). Cadss: Computer architecture design simulator for students. In Proceedings of the Workshop on Computer Architecture Education, pages 34-40. DOI: 10.1145/3605507.3610626.
Savaton, G. (2021). A visual simulator for teaching computer architecture using the risc-v instruction set. Guillaume-Savaton-ESEO/emulsiV. Available at: r̆khttps://github.com/ESEO-Tech/emulsiV.
Schoeberl, M. (2025). Wildcat: Educational risc-v microprocessors. arXiv preprint arXiv:2502.20197. DOI: 10.1007/978-3-032-03281-2_13.
Siever, B., Hall, M., Feher, J., and Chamberlain, R. (2025). Teaching digital logic and computer architecture using open source tools. In Proceedings of the 22nd ACM International Conference on Computing Frontiers: Workshops and Special Sessions, pages 38-41. DOI: 10.1145/3706594.3726971.
Wheeler, D. J. and Needham, R. M. (1994). Tea, a tiny encryption algorithm. In International workshop on fast software encryption, pages 363-366. Springer. DOI: 10.1007/3-540-60590-8_29.
Zekany, S. A., Tan, J., and Connolly, J. A. (2021). Teaching out-of-order processor design with the risc-v isa. In 2021 ACM/IEEE Workshop on Computer Architecture Education (WCAE), pages 1-8. IEEE. DOI: 10.1109/wcae53984.2021.9707143.
Downloads
Published
Como Citar
Issue
Section
Licença
Copyright (c) 2026 Ricardo Ferreira, Racyus Delano Garcia Pacífico

Este trabalho está licenciado sob uma licença Creative Commons Attribution 4.0 International License.
