Compiler Processor Trade-offs for Dynamic Scheduling of VLIW Instructions

VLIW명령어의 동적 스케줄링을 위한 컴파일러와 프로세서간 상호보완

  • Published : 2004.06.01

Abstract

This paper describes a processor architecture, named Dynamically Instruction Scheduled VLIW (DISVLIW). The DISVLIW Processor architecture is designed for dynamic scheduling VLIW instructions using dependency information. The DISVLIW instruction format is augmented to allow dependency bit vectors to be placed in the same VLIW word. The DISVLIW processor dynamically schedules each instruction in long instructions using functional unit and dynamic scheduler pairs. Features such as explicit parallelism, balanced scheduling effort, and dynamic scheduling of VLIW instructions can be used to provide a sound frustructure for supercomputing. We simulate the DISVLIW processor architecture and show that the DISVLIW processor performs significantly better than the VLIW processor for a wide range of cache sites and across numerical benchmark applications.

본 논문에서 제안한 DISVLIW(Dynamically Instruction Scheduled VLIW) 프로세서 구조는 자료종속성 정보를 이용하여 VLIW(Very Long Instruction Word) 명령어들을 동적으로 스케줄링 할 수 있다. 이러한 동작을 수행하기 위해서, DISVLIW 프로세서는 연산처리기와 동적 스케줄러의 쌍들로 구성되었다. VLIW 명령어들의 동적 스케줄링, 컴파일시간과 실시간의 균등한 작업분배, 명령어내의 명백한 병렬성 표현 둥의 특징은 성능향상에 중요한 영향을 미쳤다. DISVLIW 프로세서 구조의 시뮬레이션 결과, 다양한 벤치마크들과 캐쉬메모리 사이즈들을 이용할 경우에도 DISVLIW 프로세서 구조가 VLIW 프로세서 구조에 비하여 항상 높은 성능향상을 가짐을 확인하였다.

Keywords

References

  1. Ken Sakamura, '21st-century microprocessors,' IEEE Micro, pp.10-11, July/Aug 2000
  2. Roger Espasa and Mateo Valero, 'Exploiting instruction-and data-level parallelism,' IEEE Micro, Vol. 17, No.5, Sept 1997 https://doi.org/10.1109/40.621210
  3. Kevin W. Rudd and Michael J. Flynn, 'Instruction-level parallel processors-dynamic and static scheduling tradeoffs,' Proc. The Second AIZU International Symposium on Parallel Algorithms/ Architecture Synthesis., pp. 74-80, March 1997 https://doi.org/10.1109/AISPAS.1997.581630
  4. Shusuke Okamoto and Masahiro Sowa, 'Hybrid processor based on VLIW and PN-Superscalar,' Proc. DPTA'96 International Conference., pp. 623-632, 1996
  5. Susan J. Eggers, Joel S. Emer, Henry M. Levy, and Jack L. Lo, 'Simultaneous multithreading,' IEEE Micro, Vol. 17, No.5, Sep 1997 https://doi.org/10.1109/40.621209
  6. A. F. de Souza and P. Rounce, 'Dynamically Scheduling VLIW instructions,' Journal of Parallel and Distributed Computing, pp. 1480-1511, 2000 https://doi.org/10.1006/jpdc.2000.1661
  7. Intel, IA -64 Architecture Software Developer's Manual, Volume 1:IA-64 Application Architecture, Revision 1.1, July 2000
  8. Intel, Itanium Processor Microarchitecture Reference for Software Optimization, Aug. 2000
  9. P. Faraboschi, J.A. Fisher, and C. Young, 'Instruction Scheduling for Instruction Level Parallel Processors,' Proceedings of the IEEE Microprocessor Architecture&Compiler Technology, Vol. 89, No. 11, pp. 1638-1659, Nov 2001 https://doi.org/10.1109/5.964443
  10. Sunghyun Jee and Kannappan Palaniappan, 'Performance Evaluation For a Compressed-VLIW Processor,' the 17th ACM Symposium on Applied Computing, March 2002 https://doi.org/10.1145/508791.508967
  11. Sunghyun Jee and Kannappan Palaniappan, 'Compiler Processor Tradeoffs for DISVLIW Architectures,' the 6th Workshop on Interaction between Compilers and Computer Architectures, IEEE CS Press, May 2002
  12. Michael J. Bass and Clayton M. Christensen, 'The Future of the Microprocessor Business,' IEEE SPECTRUM, pp. 34-39, Apr 2002 https://doi.org/10.1109/6.993786