Simulador do Algoritmo de Tomasulo com Conjunto de Instruções RISC-V
Resumo
Uma das criações mais impactantes na área de processadores foi o conceito de pipeline superescalar, cujo objetivo era minimizar gargalos e atender demandas dos seus usuários, garantindo aumento de instruções por ciclo. Porém, como trade-off, trouxe maior complexidade à arquitetura e necessidade de maior controle sobre dependências de instruções. Para solucionar essa problemática, Robert Tomasulo idealizou um algoritmo que é utilizado até os dias de hoje. No artigo em questão, é apresentado um simulador em linguagem C do algoritmo de Tomasulo com o conjunto de instruções RISC-V, que demonstra o passo a passo das estruturas idealizadas por Tomasulo, a análise de dependências entre instruções e suporte à instruções de desvio.
Referências
John L. Hennessy and David A. Patterson. Computer architecture: a quantitative approach. Morgan Kaufmann, 2011.
Dimitris Kehagias and V Douskas-Bertlviser. Android-based simulator to support tomasulo algorithm teaching and learning. International Journal of Computer Applications, 170(2):24–29, Jul 2017. ISSN 0975-8887. doi: 10.5120/ijca2017914703.
Wen-jie Liu, Li Shen, and Zhi-ying Wang. A lightweight instruction-set simulator for teaching of dynamic instruction scheduling. In 2016 11th International Conference on Computer Science & Education (ICCSE), pages 871–876. IEEE, 2016. doi: 10.1109/ ICCSE.2016.7581696.
David Patterson and Andrew Waterman. Guia prático RISC-V Atlas de uma Arquitetura Aberta Primeira edição. Strawberry Canyon LLC, 2019.
David A. Patterson and John L. Hennessy. Computer Organization and Design RISC-V Edition: The Hardware Software Interface. Morgan Kaufmann, 2020.
R. M. Tomasulo. An efficient algorithm for exploiting multiple arithmetic units. IBM Journal of Research and Development, 11(1):25–33, 1967. doi: 10.1147/rd.111.0025.
Theo Ungerer, Borut Robič, and Jurij Šilc. A survey of processors with explicit multithreading. ACM Comput. Surv., 35(1):29–63, 2003. doi: 10.1145/641865.641867.