• 제목/요약/키워드: ILP compiler

검색결과 7건 처리시간 0.01초

ILP 프로세서를 위한 조건실행 지원 스케쥴링 알고리즘 (A Predicate-Sensitive Scheduling Algorithm in Instruction-Level Parallelism Processors)

  • 유병강;이상정
    • 한국정보처리학회논문지
    • /
    • 제5권1호
    • /
    • pp.202-214
    • /
    • 1998
  • 명령어 수준에서 병렬성(Instruction-Level Parallelism, ILP)을 추출하는 것은 슈퍼스칼라 및 VLIW프로세서들의 성능 개선을 위한 효과적인 메커니즘이다. 이를 위하여 여러 가지 소프트웨어 기법들이 응용될 수 있다. 이들 기법 중 조건실행(predicated execution)은 명령어의 조건으로 참조되는 부울 소스 오퍼랜드의 값을 기본으로 명령어 조건적 실행 여부를 참조하여 분기명령을 제거함으로서 여러 기본 블록의 명령들을 하나의 기본블록으로 구성하여 ILP를 증가시키는 기법이다. 본 논문은 조건실행을 지원하는 ILP프로세서들의 성능개선을 위하여 기본 블록을 넘어선 광역 조건실행 지원 스케쥴링 알고리듬(global predicate-sensitive scheduling algorithm)을 제안한다. 또한 C 컴파일러와 시뮬레이터를 개발하고 다양한 벤치마크 프로그램에 대하여 제안된 알고리듬의 성능을 측정하고 타당성을 확인한다. 1, 2, 4이슈실행에 대한 성능 측정 결과, 평균 20%의 성능 개선이 확인되었다.

  • PDF

NHS: A Novel Hybrid Scheduling for ILP

  • You, Song-Pei;Mashiro Sowa
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 ITC-CSCC -1
    • /
    • pp.310-313
    • /
    • 2000
  • This paper presents a new scheduling method for ILP processing called NHS(Novel Hybrid Scheduling). It concerns not only exploiting as much ILP as possible like other state-of-the-art scheduling scheme, but also choosing the most important instructions among many ready-to-execute instructions to processors in order to reduce the execution time under limited hardware resource. At the heart of NHS is a conception called CCP(Complex Critical Path), an extension of CP(Critical Path). By using CCP, compiler not only can get a global information of the whole program to extract ILP, but also can collecting data dependence information and control flow information. The paper also presents the simulation results, to date, of our attempts to study the NHS scheduling method. The results indicate good potential for this scheduling method.

  • PDF

OpenGL ES 2.0 기반 셰이더 명령어 병렬 처리를 위한 컴파일 기법 (OpenGL ES 2.0 based Shader Compilation Method for the Instruction-Level Parallelism)

  • 김종호;김태영
    • 한국게임학회 논문지
    • /
    • 제8권2호
    • /
    • pp.69-76
    • /
    • 2008
  • 본 논문에서는 최근 경향의 3D 그래픽 프로세서 아키텍처를 분석하여 모바일 환경에 적합한 프로세서 및 명령어 형식을 제시한다. 또한 모바일 환경에서의 3D 그래픽스 표준안인 OpenGL ES 2.0 명세에 따르는 컴파일 방식을 바탕으로 온/오프라인 방식의 세이더 프로그램 컴파일 구조 및 방법을 제시하고, 모바일 환경에 적합성을 고려한 다중 명령어 기반의 코드 생성 방법과 새로운 ILP(Instruction-Level Parallelism) 최적화 기법을 제시한다. 본 논문에서 제시하는 컴파일 구조 및 기법을 통하여 생성된 세이더 명령어는 동일한 코어 클럭을 가지는 프로세서에서 단일 명령어 기반 코드보다 약 1.5$\sim$2배 빠른 연산 처리결과를 보여준다.

  • PDF

Exploiting Thread-Level Parallelism in Lockstep Execution by Partially Duplicating a Single Pipeline

  • Oh, Jaeg-Eun;Hwang, Seok-Joong;Nguyen, Huong Giang;Kim, A-Reum;Kim, Seon-Wook;Kim, Chul-Woo;Kim, Jong-Kook
    • ETRI Journal
    • /
    • 제30권4호
    • /
    • pp.576-586
    • /
    • 2008
  • In most parallel loops of embedded applications, every iteration executes the exact same sequence of instructions while manipulating different data. This fact motivates a new compiler-hardware orchestrated execution framework in which all parallel threads share one fetch unit and one decode unit but have their own execution, memory, and write-back units. This resource sharing enables parallel threads to execute in lockstep with minimal hardware extension and compiler support. Our proposed architecture, called multithreaded lockstep execution processor (MLEP), is a compromise between the single-instruction multiple-data (SIMD) and symmetric multithreading/chip multiprocessor (SMT/CMP) solutions. The proposed approach is more favorable than a typical SIMD execution in terms of degree of parallelism, range of applicability, and code generation, and can save more power and chip area than the SMT/CMP approach without significant performance degradation. For the architecture verification, we extend a commercial 32-bit embedded core AE32000C and synthesize it on Xilinx FPGA. Compared to the original architecture, our approach is 13.5% faster with a 2-way MLEP and 33.7% faster with a 4-way MLEP in EEMBC benchmarks which are automatically parallelized by the Intel compiler.

  • PDF

VLIW명령어의 동적 스케줄링을 위한 컴파일러와 프로세서간 상호보완 (Compiler Processor Trade-offs for Dynamic Scheduling of VLIW Instructions)

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

적극적인 명령어 압축을 통한 성능향상 (Performance Improvement Through Aggressive Instruction Packing)

  • 지승현;김석일
    • 정보처리학회논문지A
    • /
    • 제9A권2호
    • /
    • pp.231-240
    • /
    • 2002
  • 본 논문에서는 독립적으로 스케쥴링할 수 있는 VLIW 명령어들을 소개함으로써, 컴파일러와 프로세서에서의 스케줄링 작업을 더욱 균등하게 분배할 수 있는 프로세서 구조를 제안하였다. 제안한 APVLIW(Aggressively Packed VLIW) 프로세서의 목표는 자료종속성을 포함한 VLIW 명령어들을 독립적으로 스케줄링이다. APVLIW 프로세서는 기존의 VLIW 코드로부터 대부분의 NOP(No Operations)과 LNOP(Long NOPs) 명령어들을 제거함으로써 압축된 형태의 긴명령어 그룹을 생성한다. 본 논문에서 제안된 APVLIW 프로세서는 여러 개의 연산처리기와 동적 스케줄러의 쌍들과 자료종속성 정보를 사용하여 긴명령어내의 각 명령어를 독립적으로 스케줄링할 수 있다. 이러한 스케줄링 기법은 특히 루프를 포함한 프로그램을 실행할 때 효과적이다. 실험 결과를 통해서 캐시크기의 변화와 벤치마크 프로그램에 상관없이 APVLIW 프로세서가 VLIM 프로세서에 비하여 성능이 향상됨을 확인하였다.

슈퍼스칼라 프로세서에서 예상 테이블의 모험적 갱신과 명령어 실행 유형의 정적 분류를 이용한 혼합형 결과값 예측기 (A Hybrid Value Predictor using Speculative Update of the Predictor Table and Static Classification for the Pattern of Executed Instructions in Superscalar Processors)

  • 박홍준;조영일
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제8권1호
    • /
    • pp.107-115
    • /
    • 2002
  • 데이타 종속성을 제거하기 위해서 명령어의 결과값을 예상하는 여러 결과값 예측기의 장점을 이용하여 높은 성능을 얻을 수 있는 새로운 혼합형 예측 메커니즘을 제안한다. 제안된 혼합형 결과값 예측기는 예상 테이블을 모험적으로 갱신할 수 있기 때문에 부적절한(stale) 데이타로 인해 잘못 예상되는 명령어의 수를 효과적으로 감소시킨다. 또한 정적 분류 정보를 사용하여 명령의 반입시 적절한 예측기에 할당함으로써 예상 정확도를 더욱 향상시키며, 하드웨어 비용을 효율적으로 감소시키도록 하였다. 5개의 SPECint 95 벤치마크 프로그램에 대해 SimpleScalar/PISA 3.0 툴셋을 사용하여 실험하였다. 16-이슈 폭에서 모험적 갱신을 사용한 평균 예상 정확도는 73%의 실험 결과가 나왔으며, 정적 분류 정보를 사용하였을 경우 예상 정확도가 88%로 증가된 결과를 얻었다.