1 |
1
기존 플랫폼(Platform)에서 작동할 수 있는 바이너리 프로그램(Binary Program)을 입력받아 중간 코드를 생성하는 전반부, 상기 전반부에서 생성한 중간 코드를 입력받아 최적화된 중간 코드를 생성하는 중간부 및 상기 중간부에서 생성한 최적화된 중간 코드를 입력받아 목표 플랫폼에서 작동할 수 있는 바이너리 프로그램을 생성하는 후반부를 포함하는 바이너리 프로그램 변환 장치에 있어서, 상기 전반부는, 기존 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 읽어 들여, 중간 코드에 해당하는 제어 흐름 그래프 및 레지스터 트랜스퍼 언어(RTL : Register Transfer Language)를 생성하는 수단을 포함하고, 상기 중간부는, 상기 전반부에서 생성된 중간 코드를 입력받아 목표 플랫폼에 최적인 전략을 선택하는 전략 결정 수단; 및 상기 전략 결정 수단에 의하여 선택된 전략에 따라 목표 프로세서 명세와 중간 코드를 기반으로 최적화된 중간 코드를 생성하는 전략 실행 수단을 포함하여 이루어진 것을 특징으로 하는 바이너리 프로그램 변환 장치
|
2 |
2
삭제
|
3 |
3
제 1 항에 있어서, 상기 제어 흐름 그래프 및 레지스터 트랜스퍼 언어 생성 수단은, 기존 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 읽어들여, 기존 플랫폼의 바이너리 파일 서식을 참조하여 텍스트 섹션(Text Section)과 데이터 섹션(Data Section)으로 분리하고, 기존 플랫폼의 명령어 셋으로 변환할 수 있도록 정보를 조사하는 바이너리 파일 분석기와; 상기 바이너리 파일 분석기가 조사한 정보와 기존 프로세서 명세를 바탕으로 읽어 들인 바이너리 프로그램을 기존 플랫폼의 어셈블리어(Assembly Language) 코드로 변환하는 디스어셈블러(Disassembler)와; 상기 디스어셈블러로부터 생성한 기존 플랫폼의 어셈블리어 코드로부터 관용어 표현을 탐색하여 대체하는 관용어 분석기와; 상기 관용어 분석기에서 대체한 관용어를 참조하여, 상기 디스어셈블러에서 변환된 어셈블리어 코드로부터 제어 흐름 그래프 및 레지스터 트랜스퍼 언어 코드를 생성하는 제어 흐름 그래프 생성기를 포함하여 이루어진 것을 특징으로 하는 바이너리 프로그램 변환 장치
|
4 |
4
제 1 항에 있어서, 상기 후반부는, 목표 프로세서 명세 및 목표 플랫폼의 바이너리 파일 서식을 참조하여, 상기 전략 실행 수단에 의하여 생성된 최적화된 중간 코드를 목표 플랫폼에서 실행할 수 있는 바이너리 프로그램을 변환하는 수단을 포함하여 이루어진 것을 특징으로 하는 바이너리 프로그램 변환 장치
|
5 |
5
제 4 항에 있어서, 상기 바이너리 프로그램을 변환하는 수단은, 목표 프로세서 명세를 참조하여, 상기 전략 결정 수단에 의하여 생성된 최적화된 중간 코드를 입력받아 어셈블리어 코드로 변환하는 어셈블러와; 목표 플랫폼의 바이너리 파일 서식을 참조하여, 상기 어셈블러에 의하여 변환된 어셈블리어 코드로부터 목표 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 생성하는 바이너리 코드 생성기를 포함하여 이루어진 것을 특징으로 하는 바이너리 프로그램 변환 장치
|
6 |
6
기존 플랫폼(Platform)에서 실행할 수 있는 바이너리 프로그램(Binary Program)을 새로운 프로세서와 운영 체제로 구성한 목표 플랫폼에서 실행할 수 있도록 하는 바이너리 프로그램 변환 방법에 있어서, 기존 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 입력받아, 중간 코드에 해당하는 제어 흐름 그래프 및 레지스터 트랜스퍼 언어(RTL : Register Transfer Language)를 생성하는 단계; 상기 중간 코드를 입력받아 목표 플랫폼에 최적인 전략을 선택하는 단계; 상기 선택된 전략에 따라 목표 프로세서 명세와 상기 중간 코드를 기반으로 최적화된 중간 코드를 생성하는 단계; 를 포함하는 것을 특징으로 하는 바이너리 프로그램 변환 방법
|
7 |
7
삭제
|
8 |
8
제 6 항에 있어서, 상기 제어 흐름 그래프 및 레지스터 트랜스퍼 언어를 생성하는 단계는, 기존 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 읽어들여, 기존 플랫폼의 바이너리 파일 서식을 참조하여 텍스트 섹션(Text Section)과 데이터 섹션(Data Section)으로 분리하고, 기존 플랫폼의 명령어 셋으로 변환할 수 있도록 정보를 조사하는 서브 단계; 상기 조사한 정보와 기존 프로세서 명세를 참조하여, 입력된 바이너리 프로그램을 기존 플랫폼의 어셈블리어(Assembly Language) 코드로 변환하는 서브 단계; 상기 변환된 기존 플랫폼의 어셈블리어 코드로부터 관용어 표현을 탐색하여 대체하는 서브 단계; 및 상기 대체한 관용어를 참조하여, 상기 변환된 어셈블리어 코드로부터 제어 흐름 그래프 및 레지스터 트랜스퍼 언어 코드를 생성하는 서브 단계; 를 포함하는 것을 특징으로 하는 바이너리 프로그램 변환 방법
|
9 |
9
제 6 항에 있어서, 목표 프로세서 명세 및 목표 플랫폼의 바이너리 파일 서식을 참조하여, 상기 최적화된 중간 코드를 목표 플랫폼에서 실행할 수 있는 바이너리 프로그램으로 생성하는 단계; 를 더 포함하는 것을 특징으로 하는 바이너리 프로그램 변환 방법
|
10 |
10
제 9 항에 있어서, 상기 바이너리 프로그램으로 생성하는 단계는, 목표 프로세서 명세를 참조하여, 상기 생성된 최적화된 중간 코드로부터 어셈블리어 코드를 생성하는 서브 단계; 및 목표 플랫폼의 바이너리 파일 서식을 참조하여, 상기 생성된 어셈블리어 코드로부터 목표 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 생성하는 서브 단계; 를 포함하는 것을 특징으로 하는 바이너리 프로그램 변환 방법
|
11 |
11
컴퓨터에, 기존 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 읽어들여, 기존 플랫폼의 바이너리 파일 서식을 참조하여 텍스트 섹션(Text Section)과 데이터 섹션(Data Section)으로 분리하고, 기존 플랫폼의 명령어 셋으로 변환할 수 있도록 정보를 조사하는 단계; 상기 조사한 정보와 기존 프로세서 명세를 참조하여, 입력된 바이너리 프로그램을 기존 플랫폼의 어셈블리어(Assembly Language) 코드로 변환하는 단계; 상기 변환된 기존 플랫폼의 어셈블리어 코드로부터 관용어 표현을 탐색하여 대체하는 단계; 상기 대체한 관용어를 참조하여, 상기 변환된 어셈블리어 코드로부터 제어 흐름 그래프 및 레지스터 트랜스퍼 언어 코드를 생성하는 단계; 상기 생성된 제어 흐름 그래프 및 레지스터 트랜스퍼 언어 코드를 읽어들여 목표 플랫폼에 최적인 전략을 선택하는 단계; 상기 선택된 전략에 따라 목표 프로세서 명세와 중간 코드를 기반으로 최적화된 중간 코드를 생성하는 단계; 목표 프로세서 명세를 참조하여, 상기 생성된 최적화된 중간 코드로부터 어셈블리어 코드를 생성하는 단계; 및 목표 플랫폼의 바이너리 파일 서식을 참조하여, 상기 생성된 어셈블리어 코드로부터 목표 플랫폼 위에서 실행할 수 있는 바이너리 프로그램을 생성하는 단계; 를 포함하여 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
|