• 제목/요약/키워드: 복수 로드/스토어 명령어

검색결과 2건 처리시간 0.014초

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

  • 조두산;김찬혁;백윤흥
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(B)
    • /
    • 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)

  • 안민욱;조두산;백윤흥;조정훈
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권8호
    • /
    • pp.819-833
    • /
    • 2005
  • 하나의 instruction으로 여러 메모리 블록을 읽거나 쓰는 MLS(Multiple Load/store) 명령어를 사용하면 전체 코드에서 메모리 명령어의 수를 최소화해서 코드 사이즈를 축소할 수 있다. 이러한 장점 때문에 많은 마이크로 프로세서에서 이 명령어를 지원하고 있으나 현재까지 개발되어 있는 컴파일러들은 MLS 명령어의 장점을 효과적으로 이용하고 있지 못하고 있고 오직 제한적인 용도로 MLS 명령어를 사용하고 있다. 기존의 컴파일러에서 MLS 명령어를 효율적으로 지원하지 못하는 것은 일반적으로 MLS 명령어를 효과적으로 이용하기 위해서 해결해야 할 문제가 NP-hard의 범주에 속하기 때문이다. 이것은 stack frame에서 변수들에 대한 최적의 메모리 옵셋을 찾는 문제와 레지스터 할당에 관련된 복합적인 문제이다. 본 논문에서는 heuristic 기법을 효율적으로 이용하여 위에 언급된 문제를 polynomial time bound에 해결할 수 있는 기법을 제안한다.