Abstract
Although 32-bit architectures are becoming the norm for modern microprocessors, 16-bit ones are still employed by many low-end processors, for which small size and low power consumption are of high priority. However, 16-bit architectures have a critical disadvantage for embedded processors that they do not provide enough encoding space to add special instructions coined for certain applications. To overcome this, many existing architectures adopt non-orthogonal, irregular instruction sets to accommodate a variety of unusual addressing modes. In general, these non-orthogonal architectures are regarded compiler-unfriendly as they tend to requires extremely sophisticated compiler techniques for optimal code generation. To address this issue, we proposed a compiler-friendly processor with a new addressing mode, called the dynamic implied addressing mode(DIAM). In this paper, we will demonstrate that the DIAM provides more encoding space for our 16-bit processor so that we are able to support more instructions specially customized for our applications. And we will explain the advanced architecture which has improved performance. In our experiment, the proposed architecture shows 11.6% performance increase on average, as compared to the basic architecture.
32비트 아키텍처가 현대 마이크로프로세서의 표준이 되어가고 있음에도 불구하고 작은 사이즈와 적은 파워 소모량을 우선시 하는 저가의 프로세서에서는 여전히 16비트 아키텍처가 사용되고 있다. 그러나 16비트 아키텍처는 특정 애플리케이션을 위한 특별한 명령어들을 추가할 만 한 충분한 인코딩 공간이 제공되지 않는 결정적인 단점을 가지고 있다. 이것을 극복하기 위해 기존의 많은 아키텍처에서 일반적이지 않은 다양 한 어드레싱 모드들을 수용하기 위한 직교적이지 않으면서(non-orthogonal) 불규칙한 명령어 셋이 사용되었다. 일반적으로 직교적이지 않은 아 키텍처들은 최적의 코드를 생성하기 위해서 매우 정교한 컴파일러 기술을 요구하는 경향이 있기 때문에 컴파일러에 지향적이지 않는 것으로 간주된다. 이전에 우리는 이런 문제를 해결하기 위해 새로운 어드레싱 모드인 DIAM (dynamic implied addressing mode)을 사용하는 컴파일러 지향적 프로세서를 제안하였다. 이 논문에서는16비트 프로세서에서 우리의 애플리케이션들을 위해 더 많은 인코딩 공간을 제공하였던 DIAM을 사용하는 아키텍처를 설명하고, 그것을 보완하여 성능이 더욱 개선된 아키텍처에 대하여 설명할 것이다. 우리의 실험에서 제안된 아키텍처는 기존의 아키텍처에 비해 평균적인 성능을 11.6% 증가시켰다.