Earticle

현재 위치 Home

논문

작은 명령어 인코딩 프로세서를 위한 레지스터 뱅크 전환 방법의 평가
Evaluation of Register Bank Change Mechanisms for Compact Encoding Processors

첫 페이지 보기
  • 발행기관
    한국차세대컴퓨팅학회 바로가기
  • 간행물
    한국차세대컴퓨팅학회 논문지 KCI 등재후보 바로가기
  • 통권
    Vol.5 No.4 (2009.12)바로가기
  • 페이지
    pp.101-113
  • 저자
    이제형, 문수묵, 최형규, 정동헌
  • 언어
    한국어(KOR)
  • URL
    https://www.earticle.net/Article/A115045

원문정보

초록

영어
Embedded systems often require small code size due to their tight memory constraints. Although the reduced encoding architectures such as the ARM THUMB or the MIPS16 can successfully reduce the code size due to its half-sized instructions, they suffer from higher spills due to their shortened register fields which constrain available registers, thus affecting the code size and the performance negatively. One solution is reconstruction the original register file into the banked one. This can make all of the original registers available for register allocation, thus reducing the spills. This requiresefficient banked register allocation by partitioning the code into two regions, one for each register bank. One important factor that affects the partitioning is the bank change mechanism, and two bank change mechanisms have been proposed, toggling and selection. Toggling simplifies the code partitioning, while selection is flexible in the code partitioning which, in theory, can distribute the register pressure better. This paper evaluates both mechanisms in the same context of dual register banks to understand their impact on the code size and the performance. Our experimental results indicate that selection fails to achieve smaller code or better performance than toggling due to excessive inter-bank copies.
한국어
내장형 시스템은 메모리의 제약으로 인해 흔히 작은 코드사이즈를 요구한다. ARM THUMB 이나 MIPS16 과 같 이 절반 크기의 인코딩을 갖는 아키텍쳐는 코드 사이즈를 성공적으로 줄였으나, 동시에 줄어든 레지스터 필드의 크 기로 인해 가용 레지스터 개수가 줄어들고 더 많은 스필(spill) 을 양산하여 코드 사이즈와 성능에 악영향을 준다. 한 가지 해결방법은 레지스터 구조에 뱅크를 도입하는 것이다. 이렇게 하면 기존의 모든 레지스터를 레지스터 할당 에 사용할 수 있어서 스필 이 줄어든다. 이 과정에서 효과적인 레지스터 할당기법이 필요하며 우리는 코드를 두 가 지 영역으로 분할하고 각 역을 서로 다른 뱅크에 할당하는 방법을 사용한다. 코드 분할에 영향을 미치는 중요한 요 소 중 하나는 뱅크 전환 메커니즘인데 지금까지 toggling 과 selection 방법이 소개되었다. Toggling 은 코드 분할 을 간단하게 해 주는 반면 selection 은 보다 유연한 코드 분할이 가능하기에 이론적으로는 레지스터 요구도를 더 잘 분배할 수 있다. 이 논문은 두 메커니즘을 두 개의 레지스터 뱅크를 가지는 동일한 환경에 구현하여 코드 사이 즈와 성능에서의 효과를 비교하고자 한다. 실험결과를 통해 selection 은 뱅크 간의 copy 가 과도하게 삽입되는 관 계로 toggling 에 비해 작은 코드나 높은 성능을 보여주지 못했다.

목차

요약
 Abstract
 1. 서론
 2. 작은 명령어 인코딩 구조를 위한 뱅크레지스터 할당
 3. 두 가지 뱅크 전환 메커니즘
  3.1 BankToggling
  3.2 Bank Selection
 4. 영역 기반 뱅크 레지스터 할당
  4.1 Toggling 과 Selection 을 위한 Heuristic
 5. 실험 결과
  5.1 코드 사이즈의 측정
  5.2 스필 감소에 대한 분석
  5.3 성능 평가
 6. 관련연구
 7. 결론
 참고문헌

키워드

내장형 시스템 레지스터 뱅크 레지스터 할당 코드 최적화 Embedded Systems Register Bank Banked Register Register Allocation Code Optimization

저자

  • 이제형 [ Je-Hyung Lee | 서울대학교 공과대학 전기컴퓨터공학부 ]
  • 문수묵 [ Soo-Mook Moon | 서울대학교 공과대학 전기컴퓨터공학부 ]
  • 최형규 [ HyungKyu Choi | 서울대학교 공과대학 전기컴퓨터공학부 ]
  • 정동헌 [ Dong-Heon Jung | 서울대학교 공과대학 전기컴퓨터공학부 ]

참고문헌

자료제공 : 네이버학술정보

간행물 정보

발행기관

  • 발행기관명
    한국차세대컴퓨팅학회 [Korean Institute of Next Generation Computing]
  • 설립연도
    2005
  • 분야
    공학>컴퓨터학
  • 소개
    본 학회는 차세대 PC 및 그 관련분야의 학술활동을 통하여 차세대 PC의 학문 및 기술발전을 도모하고 산업발전 및 국제협력 증진을 목적으로 한다.

간행물

  • 간행물명
    한국차세대컴퓨팅학회 논문지 [THE JOURNAL OF KOREAN INSTITUTE OF NEXT GENERATION COMPUTING]
  • 간기
    격월간
  • pISSN
    1975-681X
  • 수록기간
    2005~2026
  • 등재여부
    KCI 등재
  • 십진분류
    KDC 566 DDC 004

이 권호 내 다른 논문 / 한국차세대컴퓨팅학회 논문지 Vol.5 No.4

    피인용수 : 0(자료제공 : 네이버학술정보)

    함께 이용한 논문 이 논문을 다운로드한 분들이 이용한 다른 논문입니다.

      페이지 저장