Abstract

최근 내장형 프로세서가 다양한 휴대 기기에서 사용이 급격히 증가됨에 따라, 빠른 수행 속도와 저전력을 지원하는 내장형 프로세서를 제작하기 위해 대상 응용 프로그램에 최적환 된 설계가 요구되고 있다. 이를 위해, 프로세서들은 다중 출력 명령어형태의, 특별한 명령어들을 추가하고 있다. 여기서 다중 출력 명령어란 다수의 결과값을 병렬적으로 출력하는 명령어를 말한다. 하지만, 이러한 다중 출력 명령어들은 기존 컴파일러에서 생성하지 못하는 문제점이 있다. 그래서, 이를 위한 컴파일 알고리즘이 개발되었지만, 이 알고리즘에서는 register pressure를 고려하지 않아서 최적의 성능을 발휘할 수가 없었다. 본 논문에서는 register pressure를 고려하는 알고리즘을 새롭게 제안하고, 그 결과 기존 알고리즘에 비해서 평균 3%의 코드 사이즈 감소와 2.7% 수행 시간 향상을 더 이룰 수 있었다. The demand for faster execution time and lower energy consumption has compelled architects of embedded processors to customize it to the needs of their target applications. These processors consequently provide a rich set of specialized instructions in order to enable programmers to access these features. Such an instruction is typically a <TEX>$multi$</TEX>-<TEX>$output$</TEX> <TEX>$instruction$</TEX> (MOI), which outputs multiple results parallely in order to exploit inherent underlying hardware parallelism. Earlier study has exhibited that MOIs help to enhance performance in aspect of instruction counts and code size. However the earlier algorithm does not consider the register pressure. So, some selected MOIs introduce register spill/reload code that increases the code size and instruction count. To attack this problem, we introduce a novel iterated instruction selection algorithm based on the register pressure of each selected MOIs. The experimental results show the suggested algorithm achieves 3% code-size reduction and 2.7% speed-up on average.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call