• 제목/요약/키워드: 레지스터 프로모션

검색결과 9건 처리시간 0.029초

레지스터 프로모션을 이용한 내장형 소프트웨어의 성능 향상 (Performance Enhancement of Embedded Software Using Register Promotion)

  • 이종열
    • 정보처리학회논문지A
    • /
    • 제11A권5호
    • /
    • pp.373-382
    • /
    • 2004
  • 이 논문에서는 내장형 소프트웨어의 성능 향상을 위하여 사용될 수 있는 레지스터 프로모션의 새로운 기법을 제안한다. 레지스터 프로모션은 프로그램 내의 메모리 접근 연산(memory access)을 레지스터 접근 연산(register access)으로 바꾸어서 프로그램의 성능 향상을 꾀하는 최적화 방법 중의 하나이다. 제안된 방법에서는 프로파일링(profiling)을 통하여 주어진 소스 코드 내에서의 메모리 접근 연산에 대한 트레이스(trace)를 얻는다. 그리고 각 함수의 수행 횟수에 대한 프로파일링 결과로부터 높은 동적 호출 횟수를 가지는 대상 함수를 선정하여 제안된 레지스터 프로모션 기법을 적용한다. 이와 같이 최적화의 대상이 되는 함수의 수를 줄임으로써 컴파일 시간을 줄일 수 있다. 최적화 대상 함수의 메모리 트레이스를 탐색하여 레지스터 접근 연산으로 변경될 경우 수행 사이클을 줄일 수 있는 메모리 접근 연산을 찾는다. 찾아진 메모리 접근 연산에 대해서는 컴파일러의 중간단계 코드를 수정하여 프로모션 레지스터를 할당한다. 이와 같은 과정을 거쳐 메모리 접근 연산이 프로모션 레지스터에 대한 접근 연산으로 대체되고 이로부터 성능향상을 얻을 수 있다. 제안된 레지스터 프로모션 기법을 ARM과 MCORE 프로세서용 컴파일러에 적용한 후 MediaBench와 DSPStone 벤치마크을 이용하여 실험한 결과 ARM과 MCORE 프로세서에 대하여 각각 평균 14%와 18%의 성능향상을 얻을 수 있었다.

SFX의 ARM 적시 컴파일러를 위한 레지스터 프로모션 (Register Promotion for SFX ARM Just-in-time Compiler)

  • 오진석;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.535-538
    • /
    • 2011
  • 최근 모바일 기기가 활성화되면서 자바스크립트의 성능 향상이 이슈가 되고 있다. 적시 컴파일러를 탑재한 자바스크립트 엔진들이 등장하면서 이러한 요구를 충족하고 있다. 대표적 웹 브라우징 엔진인 WebKit의 자바스크립트 엔진인 SquirrelFish Extreme(SFX)는 콘텍스트 쓰레딩 방식의 적시 컴파일러를 사용하고 있다. 하지만 모바일 환경에서의 성능은 여전히 문제가 된다. 모바일 환경에서 많이 사용되는 ARM CPU를 위한 SFX의 적시 컴파일러는 가상 레지스터를 머신 코드에서 사용하기 위해 많은 수의 메모리 로드와 스토어를 사용하고 있다. 또한 ARM 아키텍처가 제공하는 레지스터를 제대로 사용하지 못하고 사용되지 않는 레지스터가 존재하고 있다. 사용되지 않는 레지스터를 활용하여 메모리 로드와 스토어를 줄이는 레지스터 프로모션을 적용하였다. 루프에서 머신 코드로 수행되는 바이트 코드를 중심으로 가상레지스터를 실제 머신 레지스터로 할당하여 메모리 로드와 스토어를 줄이고 일부 벤치마크에서 성능향상이 나타남을 확인 했다. 레지스터 프로모션의 효과를 더 증대하기 위해 레지스터 프로모션의 범위를 함수 전체로 넓히고 핸들러 함수 호출에서 발생하는 오버헤드를 줄이는 최적화가 필요할 것으로 보인다.

내장형 소프트웨어의 성능 향상을 위한 새로운 레지스터 할당 기법 (A New Register Allocation Technique for Performance Enhancement of Embedded Software)

  • Jong-Yeol, Lee
    • 대한전자공학회논문지SD
    • /
    • 제41권10호
    • /
    • pp.85-94
    • /
    • 2004
  • 본 논문에서는 메모리 접근 연산을 레지스터 접근 연산으로 변환함으로써 레지스터를 할당하여 내장형 소프트웨어의 성능 향상을 도모할 수 있는 위한 레지스터 할당 기법을 제안한다. 제안된 방법에서는 프로파일링(Profiling)을 통하여 메모리 트레이스(trace)를 얻는다. 그리고 각 함수의 수행 횟수에 대한 프로파일링 결과로부터 높은 동적 호출 횟수를 가지는 대상 함수를 선정하여 제안된 레지스터 할당 기법을 적용한다. 이와 같이 최적화의 대상이 되는 함수의 수를 줄임으로써 전체적인 컴파일 시간을 줄일 수 있다. 최적화대상 함수의 메모리 트레이스를 탐색하여 레지스터 접근 연산으로 변경될 경우 수행 사이클을 줄일 수 있는 메모리 접근 연산을 찾는다. 찾아진 메모리 접근 연산에 대해서는 컴파일러의 중간단계 코드를 수정하여 프로모션 레지스터(promotion register)를 할당한다. 이와 같은 과정을 거쳐 메모리 접근 연산이 프로모션 레지스터에 대한 접근 연산으로 대체되고 이로부터 성능향상을 얻을 수 있다. 제안된 레지스터 프로모션 기법을 ARM과 MCORE 프로세서용 컴파일러에 적용한 후 MediaBench와 DSPStone 벤치마크를 이용하여 cycle count를 비교함으로써 성능을 측정하였다. 그 결과 ARM과 MCORE에 대하여 평균 14%와 18%의 성능향상을 얻을 수 있었다.

수명적, 계산적 최적화를 위한 희소코드모션 알고리즘 (A Sparse Code Motion Algorithm forlifetime and computational optimization)

  • 심손권
    • 한국컴퓨터산업학회논문지
    • /
    • 제5권9호
    • /
    • pp.1079-1088
    • /
    • 2004
  • 일반적으로 코드 모션 알고리즘은 계산적 최적화와 레지스터 과부하와 연관되는 실행시간 최적화를 수행 한다. 본 논문은 계산적 최적화와 수명적 최적화에 더하여 코드의 크기를 고려하는 희소 코드 모션 알고리즘을 제안한다. 희소 코드 모션 알고리즘에서 BCM 알고리즘은 계산적으로 최적 코드 모션을 수행하고, LCM 알고리즘은 레지스터 과부하를 감소시킨다. 희소 코드 모션 알고리즘은 블필요한 코드 모션을 억제시키기 때문에 계산적으로나 수명적으로 최적인 알고리즘이다. 희소 코드 모션 알고리즘은 성능평가를 통하여 기존의 연구보다 프로그램의 능률 및 실행시간을 향상시켰다.

  • PDF

희소코드모션을 위한 최적화 알고리즘 (An Optimal Algorithm for Sparse Code Motion)

  • 유희종;신현덕;안희학
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (2)
    • /
    • pp.646-648
    • /
    • 2002
  • 본 논문에서는 코드 최적화를 위하여 계산적으로나 수명적으로 제한이 없는 희소 코드 모션 알고리즘을 제안한다. 이 알고리즘은 지나친 레지스터의 사용을 막기 위하여 불필요한 코드 모션을 억제한다. 또한, 본 논문에서는 기존 알고리즘의 술어의 의미가 명확하지 않은 것을 개선하였고 노드 단위 분석과 명령어 단위 분석을 혼용했기 때문에 발생하는 모호함도 개선하였다. 따라서, 제안한 알고리즘은 불필요하게 중복된 수식이나 배정문의 수행을 피하게 함으로써, 프로그램의 불필요한 재계산이나 재실행을 하지 않게 하여 프로그램의 능률 및 실행시간을 향상시킨다.

  • PDF

불필요한 코드 모션 억제를 위한 배정문 모션 (An Assignment Motion to Suppress the Unnecessary Code Motion)

  • 신현덕;이대식;안희학
    • 인터넷정보학회논문지
    • /
    • 제9권1호
    • /
    • pp.55-67
    • /
    • 2008
  • 본 논문에서는 코드 최적화를 위하여 계산적으로나 수명적으로 제한이 없는 배정문 모션 알고리즘을 제안한다. 이 알고리즘은 지나친 레지스터의 사용을 막기 위하여 불필요한 코드 모션을 억제한다. 본 논문은 최종 최적화단계가 추가된 배정문 모션 알고리즘을 제안한다. 또한 기존 알고리즘의 술어의 의미가 명확하지 않은 것을 개선하였고 노드 단위 분석과 명령어 단위 분석을 혼용했기 때문에 발생하는 모호함도 개선하였다. 따라서 제안한 알고리즘은 불필요하게 중복된 수식이나 배정문의 수행을 피하게 함으로써, 프로그램의 불필요한 재계산이나 재실행을 하지 않게 하여 프로그램의 능률 및 실행시간을 향상시킨다.

  • PDF

불필요한 코드모션 억제를 위한 배정문 모션 알고리즘 (An Assignment Motion Algorithm to Suppress the Unnecessary Code Motion)

  • 신현덕;안희학
    • 정보처리학회논문지A
    • /
    • 제8A권1호
    • /
    • pp.27-35
    • /
    • 2001
  • 본 논문에서는 코드 최적화를 위하여 계산적으로나 수명적으로 제한이 없는 배정문 모션 알고리즘을 제안한다. 이 알고리즘은 지나친 레지스터의 사용을 막기 위하여 불필요한 코드 모션을 억제한다. 본 논문은 최종 최적화단계가 추가된 재정문 모션 알고리즘을 제안한다. 또한 기존 알고리즘의 술어의 의미가 명확하지 않은 것을 개선하였고 노드 단위 분석과 명령어 단위 분석을 혼용했기 때문에 발생하는 모호함도 개선하였다. 따라서 제안한 알고리즘은 불필요하게 중복된 수식이나 배정문의 수행을 피하게 함으로써, 프로그램의 불필요한 재계산이나 재실행을 하지 않게 하여 프로그램의 능률 및 실행시간을 향사시킨다.

  • PDF

코드 최적화에서 중복코드 제거를 위한 희소코드모션에 관한 연구 (A Sparse Code Motion for Redundancy Code Elimination in Code Optimization)

  • 유희종;신현덕;이대식;심손권;장재춘;안희학
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2003년도 추계학술발표논문집 (상)
    • /
    • pp.321-324
    • /
    • 2003
  • 본 논문에서는 코드 최적화를 위하여 계산적으로나 수명적으로 제한이 없는 희소 코드 모션 알고리즘을 제안한다. 이 알고리즘은 지나친 레지스터의 사용을 막기 위하여 불필요한 코드 모션을 억제한다. 또한, 본 논문에서는 기존 알고리즘의 술어의 의미가 명확하지 않은 것을 개선하였고 노드 단위 분석과 명령어 단위 분석을 혼용했기 때문에 발생하는 모호함도 개선하였다. 따라서, 제안한 알고리즘은 불필요하게 중복된 수식이나 배정문의 수행을 피하게 함으로써, 프로그램의 불필요한 재계산이나 재실행을 하지 않게 하여 프로그램의 능률 및 실행시간을 향상시킨다.

  • PDF

최적화 코드 모션을 위한 알고리즘 (An Algorithm for Optimal Code Motions)

  • 신현덕;심손권;안희학
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2000년도 제13회 춘계학술대회 및 임시총회 학술발표 논문집
    • /
    • pp.122-126
    • /
    • 2000
  • 본 논문에서는 코드 최적화를 위하여 계산적으로나 수명적으로 제한이 없는 배정문 모션 알고리즘을 제안한다. 이 알고리즘은 지나친 레지스터의 사용을 막기 위하여 불필요한 코드 모션을 억제한다. 또한, 본 논문에서는 기존 알고리즘의 술어의 의미가 명확하지 않은 것을 개선하였고 노드 단위 분석과 명령어 단위 분석을 혼용했기 때문에 발생하는 모호함도 개선하였다. 따라서, 제안한 알고리즘은 불필요하게 중복된 수식이나 배정문의 수행을 피하게 함으로써, 프로그램의 불필요한 재계산이나 재실행을 하지 않게 하여 프로그램의 능률 및 실행시간을 향상시킨다.

  • PDF