An Improved Register Allocation Technique for ILP Processors

ILP 프로세서를 위한 개선된 레지스터 할당 기법

  • 신화정 (한양여자대학 전산정보처리과) ;
  • 이기호 (이화여자대학교 컴퓨터학과)
  • Published : 2001.02.01

Abstract

고성능 마이크로 프로세서들은 성능 향상을 위해 ILP를 지원한다. 병렬성을 극대화시키기 위해서는 많은 성능 저해 요인들을 제거해야 한다. 최근에는 컴파일러의 역할을 증대시켜 이러한 요인들을 줄이기 위한 노력들이 활발히 진행되고 있다. 본 논문에서는 성능 저해 요인인 조건 분기 처리를 위하여 조건 실행과 레지스터 할당을 결합함으로써 메모리로의 대피를 최소화하고 병렬성을 향상시킬 수 있는 개선된 레지스터 할당 알고리즘을 제안한다. 제안한 방법을 적용하여 실험한 결과 간섭 그래프의 에지수가 4.47% 감소되었고 그 결과 요구되는 대피 변수의 수도 21.35% 감소되었다. 그리고 기존의 방법에 비해 19.38%의 성능 향상 결과를 얻었다. 결국 본 레지스터 할당 기법은 조건 실행을 통해 조건 분기 명령을 제거하여 기본 블록 내의 명령어 수를 증가시켜 병렬처리의 기회를 증진시키고 조건 분석을 통해 간섭 그래프의 불필요한 에너지를 제거시켜 보다 효율적인 레지스터 할당을 실현함으로써 제안한 방법의 타당성을 검증하였다.

Keywords

References

  1. D. Patterson and J. Hennessy, Computer Architecture a Quantitative Approach, 2nd Edition, Morgan Kaufmann Publishers, Inc
  2. D. August, D. Connors, S. Mahlke, J. Sias, K. Crozier, B. Cheng, P. Eaton and W. Hwu, 'Integrated Predicated and Speculative Execution in the IMPACT EPIC Architecture', Proceedings of the 25th International Symposium on Computer Architecture, July 1998 https://doi.org/10.1109/ISCA.1998.694777
  3. R. Johmson and M. Schlansker, 'Analysis Techniques for Predicated Code,' In Proceedings of the 29th Annual International Symposium on Microarchitecture, pp. 100-113, Dec. 1996 https://doi.org/10.1109/MICRO.1996.566454
  4. G. Lu, 'Issues in Register Allocation by Graph Coloring,' CMU-CS-96-171, Nov. 1996
  5. D. Pnevmatikatos and G. Sohi, 'Guarded Execution and Branch Prediction in Dynamic ILP Processor,' International Symposium on Computer, pp. 120-129, 1994 https://doi.org/10.1145/191995.192022
  6. G. J. Chaitin, M. A. Auslander, A. K. Chandra, J. Cocke, M. E. Hopkins, and P. W. Markstein, 'Register Allocation via Graph Coloring', Computer Languages, Vol. 6, No. 1, pp. 47-57, 1981 https://doi.org/10.1016/0096-0551(81)90048-5
  7. P. Briggs, 'Register Allocation via Graph Coloring,' Ph. D Thesis, RICE Univ., 1992
  8. S. Mahlke, 'Exploiting Instruction-Level Parallelism in the Presence of Conditional Branches,' Ph. D. Thesis, Univ. of illinois, 1996
  9. F. Chow and J. Hennessy, 'The priority-based coloring approach to register allocation,' ACM Transactions on Programming Languages and Systems, pp. 501-536, 1990 https://doi.org/10.1145/88616.88621
  10. D. Gillies, D. Ju, R. Johnson and M. Schlansker, 'Global Predicate Analysis and its Application to Register Allocation,' MICRO-29, pp. 114-125, 1996 https://doi.org/10.1109/MICRO.1996.566455
  11. T. Kong and K. Wilken, 'Precise Register Allocation for Irregular Architectures,' Micro-31, pp. 297-307, 1998 https://doi.org/10.1109/MICRO.1998.742791
  12. D. Lin, 'Compiler Support for Predicated Execution in Superscalar Processors,' Master Thesis, Univ. of illinois, 1990
  13. W. Hwu, R. Hank, D. Gallagher, S. Mahlke, D. Lavery, G. Haab, J. Gyllenhaal and D. August, 'Compiler Technology for Future Microprocessors,' Proceedings of the IEEE, Vol. 83, No. 12, pp. 1625-1640, 1995 https://doi.org/10.1109/5.476079
  14. S. Mahlke, D. Lin, W. Chen, R. Hank and R. Bringmann, 'Effective Compiler Support for Predicates Execution Using the Hyperblock,' Micro-25, 1992
  15. J. McCormick, Jr., 'Supporting Predicated Execution: Techniques and tradeoffs,' Master Thesis, Univ. of illinois, 1996
  16. D. August, J. Puiatti, S. Mahlke, D. Connors, K. Crozier and W. Hwu, 'The Program Decision Logic Approach to Predicated Execution,' ISCA99, 1999 https://doi.org/10.1109/ISCA.1999.765952
  17. 이기호, 신화정, '조건 실행을 고려한 레지스터 할당 알고리즘', 한국정보과학회 춘계 학술발표논문집(A) 제26권 1호, pp. 57-59, 1999