해석적 모델을 이용한 분산된 리오더 버퍼 슈퍼스칼라 프로세서의 성능분석

The Performance Analysis of Distributed Reorder Buffer in Superscalar Processor using Analytical Model

  • 발행 : 2008.12.25

초록

슈퍼스칼라 프로세서에서 리오더 버퍼의 복잡도를 줄이는 여러 가지 방법이 제시되었다. 그 중에서 리오더 버퍼의 포트를 가장 단순하게 하는 방법은 하나로 되어 있는 리오더 버퍼의 구조를 실행 유닛의 개수만큼 여러 개로 나누어 분산된 리오더 버퍼로 구현하는 것이다. 각각의 분산된 리오더 버퍼는 실행 유닛의 작업 부하에 따라 그 크기를 달리 할 수 있다. 하지만 분산된 리오더 버퍼의 크기에 따라 성능의 변화가 크다. 지금까지의 분산된 리오더 버퍼로 나누는 연구는 적절한 크기를 결정하기 위해 시뮬레이션 결과에 기반 하여 직관적으로 유추하였다. 본 논문은 분산된 리오더 버퍼에 M/M/1 큐잉 이론을 이용한 수학적모델을 적용하여 최적의 크기를 결정하고 CPU2000 벤치마크 프로그램을 수행하여 성능을 측정하고 평가하였으며 기존 슈퍼스칼라 프로세서 성능의 99.2%를 보여주는 분산된 리오더 버퍼의 최적 크기를 정할 수 있었다. 기존의 리오더 버퍼와 본 논문에서 제시한 분산된 리오더 버퍼를 HDL로 구현하였을 때 포트에서 82%의 하드웨어 자원과 30%이상의 지연시간을 줄였다.

There are several approaches for reducing the ROB(Reorder Buffer) complexity in processors. The one technique that makes the simplest ROB ports relies on a distributed implementation that spreads the centralized ROB structure across the functional units(FUs). Each distributed buffers are decided on the size of them by workload of the functional units. The performance of the processor depends on the size of distributed ROB. However, most of previous works have depended on the simulation results to decide the optimsize of distributed ROB. In this Paper, we use an analytical model based on the M/M/1 Queuing theory to determine the optimum size of each distributed ROB. Our schemes are evaluated by using the simulation performed by the CPU2000 benchmarks. We are able to choose the optimum size of distributed ROB showing the 99.2% performance compared with existing superscalar processors. We can save 82% hardware resources in ports and reduce more than 30% of delay when ROB and distributed ROB proposed in this paper are designed by HDL.

키워드

참고문헌

  1. G. Kucuk, D. Ponomarev, O. Ergin, and K. Ghose "Complexity-Effective Reorder Buffer Designs for Superscalar Processors," IEEE Transaction on Computers, pp. 653-665, June 2004
  2. G. Kucuk, D. Ponomarev, and K. Ghose, "Low-Complexity Reorder Buffer Architecture," Proc. Int'l Conf. Supercomputing(ICS '02), pp. 57-66, June 2002
  3. S. Wallace, N. Dagli, and N. Bagherzadeh, "Design and Implementation of a 100MHz Centralized Instruction Window for a Superscalar Microprocessor," 1995 International Conference on Computer Design, pp. 1-6, October 1995
  4. P. Dubey, G. Adams III, and M. Flynn, "Instruction window size trade-offs and characterization of program parallelism," IEEE Trans. Computers, pp. 431-442, April 1994
  5. S. Gurindar, and S. Vajapeyam, "Instruction Issue Logic for High-performance, Interruptable Multiple Functional unit, Pipelined Computer," IEEE Transaction on Computers, pp. 349-359, March 1990
  6. J. Hennessy, and D. Patterson, Computer Architecture : A Quantitative Approach, 3rd edition, Morgan Kaufmann, pp.171-209, 2002
  7. G. Intrater, and R. Talmudi, "A Superscalar Microprocessor," Proceeding of the 17th Convention of Electrical and Electronics Engineers in Israel, pp. 267-270, March 1991
  8. J. Smith, and G. Sohi, "The Microarchitecture of Superscalar Processors," Proceedings of the IEEE, Vol.83, No.12, pp.1609-1624, December 1995 https://doi.org/10.1109/5.476078
  9. D. Bertsekas, and R. Gallager, Data Networks, Prentice Hall, pp. 149-173. 2002
  10. M. Hassan, and R. Jain, High Performance TCP/IP Networking, Prentice Hall, pp. 335-337. 2000
  11. D. Burger, and T. Austin, "The SimpleScalar tool set : Version 2.0," Tech. Report, Dept. of CS, Univ. of Wisconsin-Madison, June 1997