가상 기계 코드를 위한 패턴 매칭 최적화기

Pattern Matching Optimizer for Virtual Machine Codes

  • 발행 : 2006.09.01

초록

가상 기계란 하드웨어로 이루어진 물리적 시스템과는 달리 소프트웨어로 제작되어 논리적인 시스템 구성을 갖는 개념적인 컴퓨터이다. 그러나 가상 기계는 실제 프로세서로 처리하는 것보다 실행 속도가 매우 느리기 때문에 실행되는 코드의 최적화가 매우 중요하다. 본 논문은 가상 기계 코드 최적화기의 실험대상으로 EVM(Embedded Virtual Machine)의 중간 코드인 SIL(Standard Intermediate Language)을 이용하였다. 현존하는 최적화 방법론에 관한 연구를 통하여 가상 기계 코드 특성을 고려한 최적화 방법론을 제시하고, 최적화된 코드를 생성하기 위한 코드 최적화기를 설계하고 구현하였다. 가상 기계 코드 최적화기는 주어진 패턴을 찾아서 패턴에 해당하는 부분을 최적화 코드로 바꾸어, 전체 코드의 크기를 줄이고 실행 속도의 개선효과를 가진다. 또한, 구현된 최적화기의 실험 결과를 도출하였다.

VM(Virtual Machine) can be considered as a software processor which interprets the abstract machine code. Also, it is considered as a conceptional computer that consists of logical system configuration. But, the execution speed of VM system is much slower than that of a real processor system. So, it is very important to optimize the code for virtual machine to enhance the execution time. In this paper, we designed and implemented the optimizer for the virtual(or abstract) machine code(VMC) which is actually SIL(Standard Intermediate Language) that is an intermediate code of EVM(Embedded Virtual Machine). The optimizer uses the pattern matching optimization techniques reflecting the characteristics of the VMC as well as adopting the existing optimization methodology. Also, we tried a benchmark test for the VMC optimizer and obtained reasonable results.

키워드