Performance Improvement of Reorder Buffer in Out-of-order Issue Superscalar Processors

비순차이슈 수퍼스칼라 프로세서에서 리오더버퍼의 성능개선

  • Published : 2001.02.01

Abstract

리오더버퍼는 명령어를 비순차로 이슈하는 수퍼스칼라 파이프라인에서의 명령어 실행을 순차적으로 완료하는데 사용된다. 본 논문에서는 리오더버퍼에 의하여 발생할 수 있는 명령어의 스테그네이션(stagnation)을 효율적으로 제거시킬 뿐만 아니라 리오더버퍼의 크기를 감소시킬 수 있는 쉘터버퍼를 사용한 리오더버퍼 구조를 제안하였다. 시뮬레이션을 수행한 결과 리오더버퍼의 엔트리 개수가 8개에서 32개 사이일 때 쉘터버퍼는 단지 1개 또는 2개만 사용하여도 뚜렷한 성능 향상을 얻을 수 있음을 보여준다. 쉘터버퍼를 4개 사용했을 때는 2개만 사용했을 경우와 비교하여 주목할만한 성능 향상은 없었다. 이는 쉘터버퍼를 2개만 사용하여도 대부분의 스테그네이션을 제거하는데 충분함을 보여준다. 실행율의 손실이 없는 상태에서 2개의 쉘터버퍼를 사용하면 Whetstone 벤치마크 프로그램에서는 44%, FFT 벤치마크 프로그램에서는 50%, FM 벤치마크 프로그램에서는 60%, Linpack 벤치마크 프로그램에서는 75%의 리오더버퍼의 크기를 줄일 수 있었다. 쉘터버퍼를 사용했을 때 수행 시간 역시 Whetstone에서는 19.78%, FFT에서는 19.67%, FM에서는 23.93%, Linpack에서는 8.65%의 성능 향상을 얻을 수 있었다.

Keywords

References

  1. M. Johnson, 'Superscalar Microprocessor Design,' Prentice Hall, 1991
  2. N. P. Jouppi and D. W. Wall, 'Available instruction-level parallelism for superscalar and superpipelined machines,' Proc. Third Int. Conf. Architectural Support Programming Language Oper. Sys., 414-424, IEEE Computer Society Press, Aapril 1989
  3. M. D. Smith, M. Johnson, and M. A. Horowitz, 'Limits on multiple-instruction issue,' Proc. Third Int. Conf. Architectural Support Programming Language and Oper. Sys., pp. 290-302, APRIL 1989 https://doi.org/10.1145/70082.68209
  4. A. Inoue and K. Takeda, 'Performance evaluation for various configuration of superscalar processors,' Computer Arch. News, pp. 4-11, 1994 https://doi.org/10.1145/152479.152480
  5. M. Butler, T. Y. Yeh, and Y. Patt, 'Single instruction stream parallelism is greater than two,' Proc. Third Int. conf. Architectural Support Programming Languages and Oper. Sys., pp. 290-302, April 1989 https://doi.org/10.1145/115952.115980
  6. J. Lenell, S. Wallace, and N. Bagherzadeh, 'A 20MHz CMOS reorder buffer for a superscalar microprocessor,' 4th NASA Symposium on VLSI Design, Oct. 1992
  7. S. Wallace, N. Dagli, and N. Bagherzadeh, 'Design and implementation of a 100MHz reorder buffer,' 37th Midwest Symposium on Circuit and Systems, Aug. 1994 https://doi.org/10.1109/MWSCAS.1994.519186
  8. Steven Wallace and Nader Bagherzadeh, 'Modeled and measured instruction fetching performance for superscalar microprocessors,' IEEE Trans. Parallel and Distributed Systems, vol. 9, no. 6, pp. 570-578, Jun. 1998 https://doi.org/10.1109/71.689444
  9. P. K. Dubey, G. B. Adams III and M. J. Flynn, 'Instruction window size trade-offs and characterization of program parallelism,' IEEE Trans. Computers, vol. 43. no. 4, pp. 431-442, April 1994 https://doi.org/10.1109/12.278481
  10. Y. H. Pyun, C. S. Park, and S. B. Choi, 'The effect of instruction window on the performance of superscalar processors,' IEICE Trans. Fundamentals, vol. E81-A, no. 6, pp. 1036-1044, June 1998
  11. UltraSPARC User's Manual, July 1997
  12. Standard Performance Evaluation Corporation, 'SPEC Benchmark,' http://www.specbench.org, Sep. 1999
  13. G. Irlam, 'Spa' Personal Communication, http://www.base.com/gordoni/spa/cat1/spy.1, 1995