Avaliando Mecanismos de Tratamento de Dependências de Controle em Arquiteturas Super Escalares
Abstract
In this work, we investigate how the performance of superscalar architectures is affected by the mechanism used to handle control dependencies. Three different mechanisms are considered. The first mechanism handles control dependencies by stalling instruction dispatch. In the second mechanism, a specific functional unit is added to the architecture to speed the execution of branch instructions. In the third mechanism, instructions are executed speculatively, allowing instruction dispatch to continue even in the presence of control dependencies. We show that the solution of blocking instruction dispatch can seriously limit the performance, and that the use of a branch unit represents a simple alternative to increase performance. We also show the performance that can be achieved with speculative execution.
References
McLellan, E., The Alpha AXP Architecture and 21064 Processor, IEEE Micro (13)3, June 1993, pp. 36-47.
Asprey, T. et al., Performance Features of the PA7100 Microprocessor, IEEE Micro (13)3, June 1993, pp. 11-21.
Grohoski, G. F., Machine Organization of the IBM RISC System/6000 Processor, IBM Journal of Research and Development (34)1, January 1990, pp. 37-58.
Diefendorff, K., History of the PowerPC Architecture, Communications of the ACM (37)6, June 1994, pp. 28-33.
Becker, M. et al., The PowerPC 601 Microprocessor, IEEE Micro (13)5, October 1993, pp. 54-68.
Burgess, B. et al., The PowerPC 603 Microprocessor, Communications of the ACM (37)6, June 1994, pp. 34-42.
Song. P. S.,et al., The PowerPC 604 Microprocessor, IEEE Micro (14)5, October 1994, pp. 8-17.
Alpert, O., O. Avnon, Architecture of the Pentium Microprocessor, IEEE Micro (13)3, June 1995, pp.11-21.
Colwell. R. P., Steck, R. E., A 0.6um BiCMOS Processor Employing Dynamic Execution, Proceedings of the International Solid State Circuits Conference, February 1995.
Diefendorff, K., M. Allen, Organization of the Motorala M88110 Superscalar RISC Microprocessor, IEEE Micro (12)2, April 1992, pp. 4()..63.
Blanck, G., S. Krueger, The SuperSPARC Microprocessor, Proceedings of the COMPCON, 1992, pp.136-141.
Patterson, D., Bennessy, J., Computer Architecture: A Quantitative Approach, Morgan Kauffman, Palo Alto, CA, 1990.
SPEC Steering Committee, SPEC INT92 Release V1.1 Technical Manual, 1992.
Tomasulo, R. M., An Efficient Algorithm for Exploiting Multiple Arithmetic Units, IBM Journal of Research and Development (11)1, January 1967, pp. 25-33.
Lee, J. K. F., A. J. Smith, Branch Prediction Strategies and Branch Target Buffer Design, IEEE Computer (17)1, January 1984, pp. 6-22.
Smith, J. E., A. R. Pleszkun, Implementing Precise Interrupts in Pipelined Processors, IEEE Transactions on Computers (37)5, May 1988, pp. 562-573.
Garner, R. B. et al., The Scalable Processor Architecture (SPARC), Proceedings of the COMPCON, 1988, pp. 278-283.
Namjoo, M. et al., CMOS Gate Array Implementation of the SPARC Architecture, Proceedings of the COMPCON, 1988, pp. 10-13.
Chaves Filho, Eliseu M., Arquiteturas Super Escalares: Efeito de Alguns Parâmetros sobre o Desempenho, Tese de Doutorado, Programa de Engenharia de Sistemas e Computação, COPPE/UFRJ, 1994.
Chaves Filho, Eliseu M., E.S.T. Fernandes, On the Performance of Superscalar Processors, a ser publicado no Journal of the Brazilian Computer Society.
