Efeito da Execução Especulativa no Desempenho e Balanceamento de Arquiteturas Super Escalares
Resumo
Execução especulativa é um dos principais mecanismos encontrados nos atuais processadores super escalares de alto desempenho. A execução especulativa torna mais eficiente a exploração do paralelismo a nível de instrução, antecipando a execução de instruções através das fronteiras dos blocos básicos. Neste trabalho, a execução especulaliva é caracterizada através de um parâmetro arquitetural, a profundidade de especulação. É avaliado o efeito da profundidade de especulação sobre o desempenho e o balanceamento de arquiteturas super escalares. Os resultados indicam ganhos de desempenho de até 60% com profundidades de especulação elevadas. É também mostrado como os recursos da arquitetura devem ser dimensionados de forma que este ganho seja de fato concretizado.
Referências
Diep, T. A., C. Nelson, J. P. Shen, Performance Evaluation of the PowerPC 620 Microarchitecture, Proc. of the 22th International Symposium on Computer Architecture, 1995, pp. 163-175.
MIPS Inc., The R10000 Microprocessor User's Manual, 1995.
Lee, J. K. F., A. J. Smith, Branch Prediction Strategies and tire Branch Target Buffer Design, IEEE Computer, Vol. 17, N. 1, September 1980, pp. 261-294.
Pan, S-T., K. So, J. T. Rahmeh, Improving the Accuracy of Dynamic Branch Prediction Using Branch Correlation, Proc. of the 5th Symposium on Architectural Support for Programming Languages and Operating Systems, 1992, pp. 76-84.
Yeh, T.-Y., Patt, V., Two-Level Adaptative Training Branch Prediction, Proc. of the 24th Annual International Symposium on Microarchitecture, 1991, pp. 51-61.
Johnson, M., Superscalar Microprocessor Design, Prentice Hall, Englewood Cliffs, NJ, 1991.
Jourdan, S., Exploring Configurations of Functional Units in an Out-of-Order Superscalar Processor, Proc. of the 24th International Symposium on Computer Architecture, 1991, pp. 117-125.
Jourdan, S., An lnvestigalion of the Performance of Various Instruction Issue Buffer Topologies, Proc. of the 28th Annual International Symposium on Microarchitecture, 1995, pp. 279-284.
Williams, T., N. Patkar, G. Shen, SPARC64: A 64-b 64-Active-Instruction Out-of-Order-Execution MCM Processor, IEEE Journal of Solid State Circuits, Vol. 30, N. 11, November 1995, pp. 1215-1226.
Tomasulo, R. M., An Efficient Algorithm for Exploiting Multiple Arithmetic Units, IBM. Journal of Research and Development, Vol. 11, N. 1, January 1967, pp. 25-33.
Smith, J. E., A. R. Pleszkun, Implementing Precise Interrupts in Pipelined Processors, IEEE. Transactions on Computers, Vol. 37, N. 55, May 1988, pp. 562-573.
Sun Microsystems, The SPARC Architecture Manual, Version 7, Mountain View, CA, 1987.
The Effect of the Speculation Depth on the Performance of Superscalar Architectures, Technical Report, 1996.
Knuth, D., An Empirical Study of FORTRAN Programs, Software-Practice and Experience, Vol. 1, N. 1, 1971, pp. 105-133.