• 제목/요약/키워드: register allocation

검색결과 40건 처리시간 0.02초

RISC 컴파일러 레지스터 할당부 설계 (The Design of A Register Allocation Phase for RISC Compilers)

  • 박종덕;임인칠
    • 대한전자공학회논문지
    • /
    • 제27권8호
    • /
    • pp.1211-1220
    • /
    • 1990
  • This paper describes and implements a design method of register allocation as a required module of RISC compiler systems. It compiles a C program to a machine-independent intermediate language, translates each variable into symbolic register. After local allocation process for the symbolic registers, global register allocation is executed by applying the graph coloring algorithm. This register allocation phase is designed for a system with the large register file like RISC machines.

  • PDF

레지스터 재활용 사슬의 체계적 생성 (A Systematic Generation of Register-Reuse Chains)

  • 이혁재
    • 대한전기학회논문지:전력기술부문A
    • /
    • 제48권12호
    • /
    • pp.1564-1574
    • /
    • 1999
  • In order to improve the efficiency of optimizing compilers, integration of register allocation and instruction scheduling has been extensively studied. One of the promising integration techniques is register allocation based on register-reuse chains. However, the generation of register-reuse chains in the previous approach was not completely systematic and consequently it creates unnecessarily dependencies that restrict instruction scheduling. This paper proposes a new register allocation technique based on a systematic generation of register-reuse chains. The first phase of the proposed technique is to generate register-reuse chains that are optimal in the sense that no additional dependencies are created. Thus, register allocation can be done without restricting instruction scheduling. For the case when the optimal register-reuse chains require more than available registers, the second phase reduces the number of required registers by merging the register-reuse chains. Chain merging always generates additional dependencies and consequently enforces the execution order of instructions. A heuristic is developed for the second phase in order to reduce additional dependencies created by merging chains. For matrix multiplication program, the number of registers resulting from the first phase is small enough to fit into available registers for most basic blocks. In addition, it is shown that the restriction to instruction scheduling is reduced by the proposed merging heuristic of the second phase.

  • PDF

저전력 상위 레벨 합성을 위한 레지스터 스케줄링 및 할당알고리듬 (A Register Scheduling and Allocation Algorithm for Low Power High Level synthesis)

  • 최지영;인치호;김희석
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 추계종합학술대회 논문집(2)
    • /
    • pp.188-191
    • /
    • 2000
  • This paper presents a register scheduling and allocation algorithm for high level synthesis. The proposed algorithm executes the low power scheduling to reduce the switching activity using shut down technique which was not unnecessary the calculation through the extraction DFG from VHDL description. Also, the register allocation algorithm determines the minimum register after the life time analysis of all variable. It is minimum the switching activity using graph coloring technique for low power consumption. The proposed algorithm proves the effect through various filter benchmark to adopt a new scheduling and allocation algorithm considering the low power.

  • PDF

An Optimal Register resource Allocation Algorithm using Graph Coloring

  • Park, Ji-young;Lim, Chi-ho;Kim, Hi-seok
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 ITC-CSCC -1
    • /
    • pp.302-305
    • /
    • 2000
  • This paper proposed an optimal register resource allocation algorithm using graph coloring for minimal register at high level synthesis. The proposed algorithm constructed interference graph consist of the intermediated representation CFG to description VHDL. and at interference graph fur the minimal select color selected a position node at stack, the next inserted spill code and the graph coloring process executes for optimal register allocation. The proposed algorithm proves to effect that result compare another allocation techniques through experiments of bench mark.

  • PDF

전역 레지스터 할당 알고리즘 분석 (The Analysis of Global Register Allocation Algorithms)

  • 박종득
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 하계종합학술대회 논문집(3)
    • /
    • pp.51-54
    • /
    • 2000
  • In this paper, an compiler system is ported and modified for register allocation experiments. This compiler system will enable various global register allocation. Lcc is introduced and Chaitin's graph coloring algorithm is executed with cmcc on DEC ALPHA 255/300. Several functions of SPEC921NT is used as inputs of the compiler system.

  • PDF

16비트 명령어 기반 프로세서를 위한 페어 레지스터 할당 알고리즘 (Pair Register Allocation Algorithm for 16-bit Instruction Set Architecture (ISA) Processor)

  • 이호균;김선욱;한영선
    • 정보처리학회논문지A
    • /
    • 제18A권6호
    • /
    • pp.265-270
    • /
    • 2011
  • 다양한 영역에서32비트 명령어 기반 마이크로프로세서의 사용이 일반화되고 있지만, 임베디드 시스템 환경에서는 여전히 16비트 명령어 기반 프로세서가 널리 사용되고 있다. 인텔 8086, 80286 및 모토로라 68000, 그리고 에이디칩스의 AE32000과 같은 프로세서들이 그 대표적인 예이다. 그러나, 16비트 명령어들은 32비트 명령어보다 그 크기로 인해 상대적으로 낮은 표현력을 가지고 있어 동일한 기능을 구현하는데 32비트 명령어 기반 프로세서에 비해 많은 명령어를 수행해야 한다는 문제점을 가지고 있다. 실행 명령어 수는 프로세서의 실행 성능과 밀접한 관련을 가지므로 16비트 명령어셋의 표현력을 향상시켜 성능 저하 문제를 해결할 필요성이 있다. 본 논문에서는 기존의 그래프 컬러링 기반 레지스터 할당(Graph-coloring based Register Allocation) 알고리즘을 보완한 페어 레지스터 할당(Pair Register Allocation) 알고리즘을 제안하고, 이를 통한 성능 분석 결과 및 추후 연구 방향을 제시하고자 한다.

내장형 소프트웨어의 성능 향상을 위한 새로운 레지스터 할당 기법 (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%의 성능향상을 얻을 수 있었다.

EPIC 아키텍쳐를 위한 적극적 레지스터 할당 알고리듬 (An Aggressive Register Allocation Algorithm for EPIC Architectures)

  • 최준기;이상정
    • 한국정보처리학회논문지
    • /
    • 제6권2호
    • /
    • pp.497-511
    • /
    • 1999
  • 최근 많은 명령어 수준 병렬 처리 기술들이 개발되면서 ILP 프로세서 성능이 급격히 증가하고 있다. 특히, 새로운 기술로 주목 받고 있는 EPIC(Explicitly Parallel Instruction Computing) 아키텍쳐는 조건실행 (Predicated Execution)과 투기적실행(Speculative execution)을 하드웨어와 접목하여 성능 향상을 시도하고 있다. 본 논문에서는 EPIC 아키텍쳐의 특성을 최대로 활용하여 코드 스케줄 가능성을 높이는 새로운 레지스터 할당 알고리듬을 제안한다. 그리고, 제안된 레지스터 할당 알고리듬은 조건실행의 적용으로 인하여 더욱 효율을 높일 수 있음을 실험을 통하여 입증한다. 실험 결과 기존의 레지스터 할당 방법에 비하여 평균 19%의 성능 향상을 보임으로써 제안된 레지스터 할당 방법이 효과적임을 검증한다.

  • PDF

레지스터 사용해제 지연을 통한 바이너리 변환 성능향상 (Faster Binary Translation by Delayed Deallocation of Temporary Registers)

  • 최민
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2013년도 춘계학술대회
    • /
    • pp.494-496
    • /
    • 2013
  • 최근 각종 스마트 디바이스의 활용이 급속히 활용이 늘어나고 있다. 본 연구는 바이너리 변환(Binary Translation) 기술에 있어 레지스터 할당 관점에서의 성능향상 기법을 소개한다. 사용이 끝난 임시 레지스터의 재사용을 위해서 자원의 사용해제를 지연한다. 따라서, 다음 명령어가 직전에 사용된 임시 레지스터의 재사용을 통해, 자원을 해제하고 재할당하는 오버헤드 없이 바이너리 변환의 성능향상을 꾀할 수 있도록 한다.

  • PDF

ASIC설계를 위한 하드웨어 할당 및 바인딩 알고리듬 (A Hardware Allocation and Binding Algorithm for ASIC Design)

  • 최지영;인치호;김희석
    • 한국정보처리학회논문지
    • /
    • 제7권4호
    • /
    • pp.1255-1262
    • /
    • 2000
  • This paper proposes a hardware allocation and binding algorithm for ASIC Design. The proposed algorithm works on schedules input graph and simultaneously allocates and binds functional units, interconnections and registers by considering interdependency between operations and storage elements in each control step, in order to share registers and interconnections connected to functional units, as much as possible. Especially, he register allocation is executes the allocation optimal using graph coloring. This paper shows the effectiveness of the algorithm by comparing experiments to determine number of functional unit and register in advance or to separate executing allocation and binding of existing system.

  • PDF