Enhanced Pipeline Scheduling for IA-64

IA-64를 위한 향상된 소프트웨어 파이프라인 명령어 스케줄링

  • Lee Jae-Mok (School of Electrical Engineering and Computer, Seoul National University) ;
  • Moon Soo-Mook (School of Electrical Engineering and Computer, Seoul National University)
  • 이재목 (서울대학교 전기컴퓨터 공학부) ;
  • 문수묵 (서울대학교 전기컴퓨터 공학부)
  • Published : 2005.11.01

Abstract

인텔의 IA-64 프로세서는 명령어 수준의 병렬수행을 지원하는 EPIC (Explicitly Parallel Instruction Computing) 구조를 채택하고 있으며 컴파일러가 순차적 코드에서 병렬 수행이 가능한 독립적인 명령어들을 스케줄링 하도록 되어있다. 본 논문에서는 IA-64 스케줄링을 위해 향상된 파이프라인 스케줄링 (Enhanced Pipeline Scheduling, EPS) 기법[1]을 적용한 결과를 소개한다. EPS는 루프수준의 병렬화를 위한 소프트웨어 파이프라이닝 (software pipelining)기법으로 전역 스케줄링 (global Scheduling) 기법을 기반으로 하고 있다. 우리는 IA-64 프로세서를 위한 공개소스 컴파일러인 ORC (Open Research Compiler)에 EPS를 구현하고 실제 프로세서인 Itanium에서 실험을 수행하였다. 상용 프로세서와 컴파일러에 구현과 튜닝을 하는 과정에서 얻은 경험을 소개하고 기존의 ORC 컴파일러와 비교하여 얻은 성능 향상을 보고하고 분석한다.

Keywords