• Title/Summary/Keyword: 복수 로드/스토어 명령어

Search Result 2, Processing Time 0.018 seconds

A variable replication technique for improving multiple load/store code generation (복수 로드/스토어 명령어 생성 개선을 위한 변수 복사 기법)

  • Cho, Doo-San;Kim, Chan-Hyuk;Paek, Yun-Heung
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06b
    • /
    • pp.338-341
    • /
    • 2011
  • 프로그램 코드 사이즈는 내장형시스템 구성에 있어서 고려해야 할 핵심 요소중의 하나이다. 프로그램 사이즈는 해당 시스템의 메모리 크기, 전력소모, 성능, 가격 등에 영향을 미치기 때문이다. 프로그램 코드 사이즈를 최적화하기 위하여 활용할 수 있는 시스템 자원 중에서 효과적인 것 중 하나가 복수 로드/스토어 명령어(Multiple Load/Store Instruction, MLS)이다. MLS 명령어는 하나의 명령어로 하나이상의 메모리 값을 레지스터로 블록 전송 (block transfer)하는 것이 가능하기 때문이다. 본 연구에서는 MLS명령어를 기존보다 효과적으로 생성함으로써 코드 크기를 감소시키는 최적화 기법에 대해 논의한다. 실험을 통하여 Mediabench와 DSPStone 벤치마크에서 본 연구에서 제안하는 기법을 통하여 평균 메모리 접근 코드사이즈가 10.3% 감소하였다.

Code Size Reduction Through Efficient use of Multiple Load/store Instructions (복수의 메모리 접근 명령어의 효율적인 이용을 통한 코드 크기의 감소)

  • Ahn Minwook;Cho Doosan;Paek Yunheung;Cho Jeonghun
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.8
    • /
    • pp.819-833
    • /
    • 2005
  • Code size reduction is ever becoming more important for compilers targeting embedded processors because these processors are often severely limited by storage constraints and thus the reduced code size can have a positively significant Impact on their performance. Various code size reduction techniques have different motivations and a variety of application contexts utilizing special hardware features of their target processors. In this work, we propose a novel technique that fully utilizes a set of hardware instructions, called the multiple load/store (MLS), that are specially featured for reducing code size by minimizing the number of memory operations in the code. To take advantage of this feature, many microprocessors support the MLS instructions, whereas no existing compilers fully exploit the potential benefit of these instructions but only use them for some limited cases. This is mainly because optimizing memory accesses with MLS instructions for general cases is an NP-hard problem that necessitates complex assignments of registers and memory off-sets for variables in a stack frame. Our technique uses a couple of heuristics to efficiently handle this problem in a polynomial time bound.