KR0125605B1 - 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치 - Google Patents

프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치

Info

Publication number
KR0125605B1
KR0125605B1 KR1019940008823A KR19940008823A KR0125605B1 KR 0125605 B1 KR0125605 B1 KR 0125605B1 KR 1019940008823 A KR1019940008823 A KR 1019940008823A KR 19940008823 A KR19940008823 A KR 19940008823A KR 0125605 B1 KR0125605 B1 KR 0125605B1
Authority
KR
South Korea
Prior art keywords
load module
architecture
execution
calculator
program
Prior art date
Application number
KR1019940008823A
Other languages
English (en)
Other versions
KR940024587A (ko
Inventor
야요이 아베
신이찌로오 스즈끼
요이씨로오 다께우찌
Original Assignee
사또 후미오
가부시끼가이샤 도시바
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 사또 후미오, 가부시끼가이샤 도시바 filed Critical 사또 후미오
Publication of KR940024587A publication Critical patent/KR940024587A/ko
Application granted granted Critical
Publication of KR0125605B1 publication Critical patent/KR0125605B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

제1아키텍처의 계산기용 제1고급언어 소스프로그램을 편집하여 제2아키텍처의 계산기용 기계어 프로그램을 생성하고, 상기 기계어 프로그램을 역 편집하여 아키텍처에 의존하지 않는 제2고급언어 소스프로그램을 생성하고 상기 제2고급언어 소스프로그램을 편집하고 링크하여 제1실행로드모듈을 생성하고 프로그램의 아키텍처를 변환하여 상기 제1실행로드모듈을 실행하여 상기 기계어 프로그램의 동작을 검증한다.

Description

프로그램의 아키텍처 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치.
제1도는 본 발명의 제1실시예에 의한 기계어 프로그램의 동작검증장치의 구성을 나타낸 블록도.
제2도는 제1도의 시스템에 있어서의 기계어 프로그램의 동작검증순서를 설명하기 위한 플로우챠트
제3도는 제1실시예에서의 동작검증의 대상이 되는 기계어 프로그램(2)의 토대로 되었던 제1고급언어소스프로그램(6)의 일부 기술예를 나타낸 도면
제4도는 기계어 프로그램(2)의 제3도와의 대응부분을 나타낸 도면
제5도는 명령정보 테이블(13)의 내용예를 나타낸 모식도
제6도는 제4도에 나타낸 기계어 프로그램부분에 대한 디코드처리부(14)의 디코드처리에 의해 얻어진 해독완료 명령정보를 나타낸 도면
제7도는 고급언어 프로그램 생성부(1)에 의해 기계어 프로그램(2)으로부터 생성된 제2고급언어 소스프로그램(3)의 제4도에 대응한 부분을 나타낸 도면
제8도는 본 발명의 제2실시예에 의한 기계어 프로그램의 동작검증장치의 구성을 나타낸 블록도
본 발명은 제1아키텍처의 계산기용 프로그램을 제1아키텍처와는 다른제2아키텍처의 계산기용의 기계어 프로그램으로 변환하는 방법 및 장치와 그 방법 및 장치로 작성된 기계어프로그램의동작검증방법 및 장치에 관한 것이다.
아키텍처가 다른 계산기를 새로 개발할 경우에는 새로운 계산기용 기계어 프로그램의 디버그(동작검증)을 할 필요가 생긴다.
그러나 새로운 계산기용 기계어 프로그램의 다버그 단계에서는 새로운 계산기(하드웨어)가 완성되지 않고 있어 실존하지 않는 것이 일반적이다. 따라서 이 기계어 프로그램을 새로운 계산기로 동작검증하는 것이 불가능하다.
종래의 새로운 아키텍처의 계산기용 기계어 프로그램의 동작검증을 할 때는 새로운 계산기의 하드웨어기능을 소프트웨어적으로 모의하는 시뮬레이터를 사용하고 있다. 단 시뮬레이터에 기존의 아키텍처용 시뮬레이터를 사용할 수는 없으므로 기존의 시뮬레이터의 개조 혹은 새로운 아키텍처에 적합한 새로운 시뮬레이터의 개발이 필요하다.
통상적으로 시뮬레이터를 사용한 기계어 프로그램의 동작검증은 기계어 프로그램의 명령코드를 소프트웨어처리에 의해 순차적으로 꺼내어서 디코드하여 동작 시뮬레이트를 행하여 실현한다.
상기와 같이 종래에는 새로운 아키텍처의 계산기용 기계어 프로그램의 동작검증을 시뮬레이터를 사용해서 실시할 경우에 시뮬레이터측에서의 대응이 필요하므로 시뮬레이터의 개조 혹은 시뮬레이터의 신규개발에 수고가 든다. 특히 복수의 새로운 아키텍처를 개발하여 그중에서 실제로 적용하는 하나의 아키텍처를 결정하고자 할 경우에는 그 아키텍처에 대응하는 시뮬레이터를 각각 준비하여야 한다.
시뮬레이터를 사용한 기계어 프로그램의 동작검증에서는 명령코드의 꺼내기, 디코드가 소프트웨어처리에 의해 순차적으로 실시되므로 시뮬레이숀의 실행에 장시간을 요한다.
본 발명의 목적은 제1아키텍처의 계산기용 프로그램을 제1아키텍처와 다른 제2아키텍처의 계산기용 프로그램으로 변환함과 동시에 그 변환된 새로운 아키텍처용 프로그램을 용이하게 검증할 수 있는 장치 및 방법을 제공하는데 있다.
본 발명의 목적은 구체적으로는
(1) 제1아키텍처의 계산기용 프로그램을 제2아키텍처의 계산기용 프로그램으로 용이하게 변환하는 것,
(2) 시뮬레이터를 사용하지 않고 기존의 계산기로 새로운 제2아키텍처의 계산기용 기계어 프로그램의 동작을 검증하는 것,
(3) 시뮬레이터를 사용하여 제2아키텍처의 계산기용 기계어 프로그램의 동작을 검증하는 것이다.
본 발명은 청구항 1을 특징으로 한다. 아울러 청구항 2 및 청구항 3을 특징으로 한다.
제3스텝은 청구항 4 또는 청구항 7을 특징으로 한다.
본 발명은 청구항 11을 특징으로 한다. 아울러 청구항 12 및 청구항 13을 특징으로 한다.
제1실행로드모듈 생성수단은 청구항 14 또는 청구항 17을 특징으로 한다.
상기의 구성에서 제2아키텍처의 계산기에 의존하는 기계어 프로그램을 일단 범용성이 있는 (즉 아키텍처에 의존하지 않음) 고급언어 소스프로그램으로 변환한 후에 제1아키텍처의 계산기용 실행로드모듈 또는 제2아키텍처의 계산기용 실행로드모듈로 편집하고 링크하므로 다른 아키텍처의 계산기용 프로그램을 용이하게 작성할 수가 있고, 또는 제1아키텍처의 계산기용 프로그램을 다른 아키텍처(이 경우에는 제2아키텍처)의 계산기용 프로그램으로 용이하게 변환할 수 있다.
또 새로운 아키텍처(제2아키텍처)의 계산기를 개발하는 과정에서 새로운 계산기용 기계어 프로그램(제1의 기계어 프로그램)의 동작검증을 할 필요가 생겼을 경우에는 그 기계어 프로그램으로부터 동 프로그램과 같은 동작을 정의한 고급언어 소스프로그램이 생성된다. 이 고급언어 소스프로그램은 아키텍처에 의존하지 않으므로 동 소스프로그램을 기존의 아키텍처(제1아키텍처)의 계산기에 적합한 콤파일러로 편집하여 이 계산기로 실행가능한 로드모듈을 작성할 수가 있다. 따라서 이 로드모듈을 이 계산기로 실제로 실행시킴으로써 상기 제1의 기계어 프로그램과 같은 동작을 행할 수가 있으므로 이 모의적인 제1의 기계어 프로그램의 동작검증을 기존의 계산기로 실현할 수가 있다.
마찬가지 이유에 의해 실행로드 모듈작성 과정에서 생성되는 제2아키텍처에 의존하는 제1의 기계어 프로그램, 제1의 기계어 프로그램과 같은 동작이 가능한 제2의 기계어 프로그램을 토대로 제1아키텍처에 적합한 기존의 시뮬레이터에 의한 시뮬레이숀을 실행할 수도 있어서 제1의 기계어 프로그램의 동작검증을 기존의 시뮬레이터에 의해 실현할 수가 있다.
상기와 같이 본 발명에 의하면 새로운 아키텍처의 계산기용 기계어 프로그램으로부터 그 기계어 프로그램과 같은 동작을 정의한 고급언어 소스프로그램을 생성하고 이 고급언어 소스프로그램을 편집하여 새로운 아키텍처와는 다른 기존의 아키텍처의 계산기로 실행가능한 로드모듈을 작성하고 이 로드모듈을 상기 기존 아키텍처의 계산기로 실행시킴으로써 기계어 프로그램의 동작검증을 새로운 아키텍처의 계산기가 실존하지 않아도 고속으로 실행할 수가 있다.
또한 본 발명에 의하면 상기와 같이 생성된 고급언어 소스프로그램의 편집과정에서 생성되는 제1아키텍처에 의존하는 기계어 프로그램을 토대로 제1아키텍처용의 시뮬레이터를 동작시켜 시뮬레이숀을 실행함으로써 기존의 시뮬레이터로도 기계어 프로그램의 동작검증을 할 수 있다.
[실시예 1]
제1도는 본 발명의 제1실시예에 의한 기계어 프로그램 동작검증장치의 구성을 나타낸 블록도이다. 이하의 설명에서는 기존의 아키텍처(이하 제1아키텍처라 한다)의 계산기를 순차 실행형으로 하고, 새로운 아키텍처의 계산기(이하 제2아키텍처라 한다)를 병렬 실행형으로 하여 설명한다.
고급언어 프로그램 생성부(1)는 제2아키텍처의 계산기(이하 편의상 제2계산기라 한다)의 기계어로 기술된 기계어 프로그램(2)으로부터 기계어 프로그램(2)과 같은 동작을 정의한 아키텍처에 의존하지 않는 언어(예를들어 C언어. 이하의 설명에서는 편의상 고급언어를 C언어로 하여 설명한다)로 기술된 제2고급언어 소스프로그램(3)을 생성한다.
여기에서 기계어 프로그램(2)은 병렬실행형의 새로운 제2아키텍처의 계산기용으로 개발된 프로그램으로서 개발자에 의해 직접 작성된 것이어도 좋고, 제1아키텍처의 계산기(이하 제1계산기라 한다)용의 제1고급언어 소스프로그램(6)을 제2아키텍처용으로 콤파일러(9)로 편집하여 작성하여도 좋다. 기계어 프로그램(2)은 제2계산기가 동시에 실행가능한 명령을 병행해서 실행하도록 병렬 기술된 프로그램(즉 병렬화된 기계어 프로그램)이다.
고급언어 프로그램 생성부(1)는 명령페치(fetch)부(11)와, 페치명령기억부(12)와, 명령정보테이블(13)과, 디코드처리부(14)와, 해독완료명령정보기억부(15)와, 고급언어기술부(16)를 갖는다.
명령페치부(11)는 기계어 프로그램(2)으로부터 명령을 꺼낸다.
페치명령기억부(12)는 명령페치부(11)에 의해 꺼낸 명령을 기억한다.
명령정보테이블(13)은 명령의 종류마다 그 명령에 대응하는 기술방법(기술형식)을 나타낸 정보(명령정보)를 갖는다.
디코드처리부(14)느 명령정보테이블(13)을 참조하여 페치명령기억부(12)에 기억된 명령을 디코드하여 고급언어기술부(16)로 처리기능한 형식의 명령정보를 생성한다.
해독완료명령정보기억부(15)는 디코드처리부(14)에 의해 생성된 명령정보(해독완료명령정보)를 기억한다.
고급언어기술부(16)는 해독완료명령정보기억부(15)에 기억된 해독완료명령정보에 기술되어 있는 동작과 동일한 동작을 정의한 고급언어(예를들어 C언어)의 코드(즉 제2고급언어 소스프로그램)를 생성한다.
콤파일러 링커(5)는 제1 및 제2고급언어 소스프로그램(6), (3)을 편집하고 링크하여 제1계산기(4)로 실행가능한 제1 및 제2실행로드모듈(7), (8)을 작성한다.
제1계산기(4)는 기존의 아키텍처(제1아키텍처)의 예컨대 순차 실행형의 계산기이며 콤파일러 링커(5)로 작성된 제1 및 제2실행로드모듈(7),(8)을 실행한다.
상기와 같이 구성된 장치의 동작을 제2도의 플로챠트를 참조하여 설명한다.
기계어 프로그램(2)은 병렬화한 코드를 출력하는 제2아키텍처에 적합한 새로운 콤파일러(9)에 의해 제1고급언어 소스프로그램(예를 들어 포트란)을 편집하므로써 생성된다.
제1고급언어 소스프로그램(6)의 기술예의 일부를 제3도에 나타낸다. 기계어 프로그램(2)의 제3도와의 대응부분을 제4도에 나타낸다.
제3도에 나타낸 소스프로그램부분은 정수(INTEGER)형의 변수 B와 C의 가산결과를 정수형의 변수 A로 하는 것을 정의하고 있다. 제4도에 나타낸 기계어 프로그램부분에서는 상기 변수 A, B, C의 메모리영역으로서 각각 메모리의 A번지, B번지, C번지(어드레스 A, B, C)가 할당되어 있다. 제4도에 같은 행에 기술되어 있는 2개의 명령 LD([B], R2) 및 LD([C], R3), 즉 메모리의 B번지로부터 레지스터 R2로 로드하는 명령 및 메모리의 C번지로부터 레지스터 RE로 로드하는 명령은 병행하여 실행되는 것을 나타낸다.
고급언어 프로그램 생성부(1)에 기계어 프로그램(2)이 보조기억장치 또는 주기억(도시하지 않음)을 통하여 입력된다(스텝 S1).
명령페치부(11)는 보조기억장치 또는 주기억상의 기계어 프로그램(2)으로부터 각 명령을 꺼내고 꺼낸 명령을 디코드처리부(14)가 억세스 가능한 메모리 영역에 확보된 페치명령기억부(12)에 카피한다(스텝 S2).
디코드처리부(14)는 명령페치부(11)에 의해 꺼낸 명령을 기억하는 페치명령기억부(12)로부터 명령을 꺼내어 명령정보테이블(13)을 참조하여 디코드한다(스텝 S3).
디코드처리부(14)의 동작의 상세한 것을 제5도 및 제6도를 참조하여 설명한다.
명령정보테이블(13)은 제5도에 나타낸 바와 같이 명령의 종류마다 그 명령의 기술방법을 나타내는 명령정보를 갖는다.
명령정보는 예를들어 명령명이 ADD이면 ADD를 나타내는 명령 ID(명령 식별자)로서 100, 오퍼랜드 수로서 3, 오퍼랜드의 종류로서 제1오퍼랜드∼제3오퍼랜드의 어느것이나 레지스터라는 정보로부터 온다.
디코드처리부(14)는 페치명령기억부(12)에 기억된 명령으로부터의 명령의 종류를 실행에 필요한 데이터(예를들어 오퍼랜드 등)의 내용을 독취한다. 디코드처리부(14)는 예를들어 명령 LD([B], R2)이면 명령의 종류가 LD이며 오퍼랜드가 제1오퍼랜드(제1오퍼랜드치) B와 제2오퍼랜드(제2오퍼랜드 레지스터) 2의 2개이며 B번지로부터 레지스터 R2로 로드하는것을 독취한다.
디코드처리부(14)는 독취한 정보로부터 제6도에 나타낸 바와 같은 고급언어기술부(16)에서 처리가능한 형식의 명령정보(해독완료명령정보)를 생성하여 고급언어기술부(16)가 억세스 가능한 메모리 영역으로 확보된 해독완료명령정보기억부(15)에 기입한다. 제6도는 제4도에 나타낸 기계어 프로그램부분에 대한 디코드처리부(14)의 디코드처리에 의해 얻어진 해독완료명령정보를 나타낸다. 같은 행에 기술된 명령, 예를들어 제4도 중의 2개의 명령 LD([B] R2 및 LD([C], R3)에 대해서는 좌측의 명령으로부터 먼저 디코드되는 것으로 한다.
고급언어기술부(16)는 디코드처리부(14)에 의한 디코드처리의 결과에 따라 해독완료명령정보기억부(15)에 기억된 해독명령정보를 입력하여 명령정보중에 기술되어 있는 동작과 동일한 동작을 정의한 C언어로 기술되는 고급언어의 코드(C언어의 소스 코드), 즉 이 명령정보로 나타내는 명령을 모의한 고급언어의 코드를 생성한다(스텝 S4).
고급언어기술부(16)에 의한 고급언어의 코드작성처리에 의해 제7도에 나타낸 바와 같은 C언어로 기술된 제2고급언어 소스프로그램(3)이 생성된다.
이 제2고급언어 소스프로그램(3)은 기본적으로는 아키텍처에 의존하지 않는 프로그램으로서 새로운 아키텍처(제2아키텍처)의 계산기를 개발하기 위하여 작성된 제1고급언어 소스프로그램(6)을 새로운 콤파일러 편집해서 생성된 기계어 프로그램(2)으로부터, 통상의 고급언어 소스프로그램으로부터 기계어 프로그램을 생성하는 것과 반대 방향으로 생성되는 것이므로 당연히 기계어 프로그램(2)과 같은 동작을 할 것이다.
상기와 같이해서 고급언어 프로그램생성부(1)에 의해 생성된 제2고급언어 소스프로그램(3)을 (순차 실행형의)제1계산기(4)에서 실현되는 콤파일러 링커(5)에 의해 편집, 링크하여 제1계산기(4)로 실행가능한 제2실행로드모듈(8)을 작성한다(스텝 S5).
제2실행로드모듈(8)을 제1계산기(4)에서 실제로 실행시켜 봄으로써 개발자는 기계어프로그램(2)의 동작확인을 한다(스텝 S6). 여기서는 기대되는 동작(기계어프로그램(2)이 올바른 것이라면 실현되어야할 동작)이 이루어지고 있느냐의 여부에 의해 동작을 확인할 수가 있다.
기대되는 동작을 확실히 파악하고 있지 않는 개발자가 동작확인을 할 경우에는 다음의 방법을 적용한다.
기계어 프로그램(2)의 작성의 토대가 된 제1고급언어 소스프로그램(6)을 콤파일러 링커(5)에 의해 편집, 링크하여 이 제1계산기(4)로 실행 가능한 제1실행로드모듈(7)을 작성한다(스텝 S11). 개발자는 제1실행로드모듈(7)을 제1계산기(4)에서 실제로 실행시킴으로써(스텝 S12). 기대되는 동작을 파악할 수 있으므로 제1실행로드모듈(7)에 따른 동작과 제2실행로드모듈(8)에 따른 동작이 동일하는가의 여부를 비교하면 새로운 계산기용의 병렬화된 기계어 프로그램(2)의 동작검증을 신속히 할 수가 있다.
상기와 같이 본 발명에 의하면 기계어 프로그램(2)을 생성한 제2아키텍처에 적합한 새로운 콤파일러(9)(크로스 포트랜 콤파일러)의 디버그를 고속으로 실시할 수도 있다.
본 발명은 디버그 대상을 포트랜 콤파일러에 한정하지 않으며 C콤파일러, 코볼 콤파일러 등 기타 종류의 콤파일러 생성코드의 검증에도 응용할 수 있음은 물론이다.
제1실행로드모듈(7), 제2실행로드모듈(8)에 따른 동작으로 파일등에 격납된 각 정보를 독출하여 특정의 기억영역에 격납하고 양자를 비교하기 위한 프로그램을 제1계산기(4)에서 동작시킴으로써 기계어 프로그램(2)의 동작검증을 자동적으로 할 수도 있다.
상기 실시예에서 제1계산기(4)를 사용한 동작검증 대신에 제1아키텍처에 적합한 기존의 시뮬레이터를 사용한 동작검증도 가능하다. 이 시뮬레이터를 사용한 동작검증에서는 시뮬레이터가 제1아키텍처에 의존한 기계어 프로그램에 대응하고 있으면 콤파일러 링커(5)에 의한 제2고급언어 소스프로그램(3)의 편집 과정에서 생성되는 기계어 프로그램을 시뮬레이터에 부여하면 되고, 반대로 대응하고 있으면 같은 편집과정에서 생성되는 반대 대응을 시뮬레이터에 부여하면 된다.
상기 실시예에서 고급언어 프로그램생성부(1)에 의한 제2고급언어 소스프로그램(3)의 생성과 마찬가지로 해서 제2아키텍처에 의존하는 기계어 프로그램(2)으로부터 제1아키텍처에 의존하는 기계어 프로그램을 생성하고 이 생성한 기계어 프로그램을 토대로 제1계산기(4)로 실행가능한 로드모듈을 작성하여 동작검증을 할 수도 있고, 이 기계어 프로그램을 제1아키텍처에 적합한 시뮬레이터로 시뮬레이숀 실행시켜서 동작검증을 할 수도 있다.
[실시예 2]
제8도는 본 발명의 제2실시예에 관한 기계어 프로그램 동작검증장치의 구성을 나타낸 블록도이다.
제1도와 같은 부분에는 같은 부호를 붙이고 상세한 설명은 생략한다.
본 실시예가 제1실시예와 다른 점은 콤파일러 링커(5)를 제1콤파일러 링커(51) 및 제2콤파일러 링커(52)로 하고, 계산기(4)를 제1계산기(41) 및 제2계산기(42)로 한 점이다.
본 실시예에서 제1콤파일러 링커(51)는 제1아키텍처용의 제1계산기(41)로 실행 가능한 제1실행로드모듈(7)을 작성하기 위한 콤파일러 링커이며, 제2콤파일러 링커(52)는 제2아키텍처용의 제2계산기(42)로 실행가능한 제2실행로드모듈(8)을 작성하기 위한 콤파일러 링커이다.
제1실시예에서는 제1고급언어 소스프로그램(6) 및 제2고급언어 소스프로그램(3)을 제1아키텍처의 계산기로 실행시켜서 기계어 프로그램(2)의 동작검증을 하고 있으나, 본 실시예에서는 제1고급언어 소스프로그램(6)을 제1계산기로, 제2고급언어 소스프로그램(3)을 제2계산기로 실행시켜서 상호간에 실행결과를 비교하여 기계어 프로그램(2)의 동작검증을 하고 있는 점이 다르다. 상세한 동작은 제2도와 거의 같으므로 생략한다.
본 실시예와 같이 하여도 제1실시예와 마찬가지로 기계어 프로그램의 동작검증을 용이하게 그리고 고속으로 실시할 수가 있다.

Claims (20)

  1. 제1아키텍처의 계산기용 제1고급언어 소스 프로그램을 편집하여 제2아키텍처의 계산기용 기계어 프로그램을 생성하는 제1스텝과, 상기 기계어 프로그램을 역 편집하여 아키텍처에 의존하지 않는 제2고급언어 소스 프로그램을 생성하는 제2스텝과, 상기 고급언어 소스 프로그램을 편집하고 링크하여 제1실행로드모듈을 생성하는 제3스텝을 구비한 프로그램의 아키텍처 변환방법.
  2. 상기 제1실행로드모듈을 실행하는 제4스텝을 더 구비한 제1항의 변환방법을 사용하는 기계어 프로그램의 동작검증방법.
  3. 제2항에 있어서, 상기 제1고급언어 소스 프로그램을 편집하고 링크하여 제1아키텍처의 계산기용 제2실행로드모듈을 생성하는 제5스텝과, 상기 제2실행로드모듈을 제1아키텍처의 계산기로 실행하는 제6스텝과, 상기 제4스텝의 제1실행로드모듈의 실행결과와 상기 제6스텝의 제2실행로드모듈의 실행결과를 비교하는 제7스텝을 더 구비한 기계어 프로그램의 동작검증방법.
  4. 제1항에 있어서, 상기 제3스텝은 상기 제2고급언어 소스 프로그램을 편집하고 링크하여 상기 제1아키텍처의 계산기용 제1실행로드모듈을 생성하는 스텝을 포함한 프로그램의 아키텍처 변환방법.
  5. 상기 제1실행로드모듈을 상기 제1아키텍처의 계산기로 실행하는 제4스텝을 더 구비한 제4항의 변환방법을 사용하는 기계어 프로그램의 동작검증방법.
  6. 제5항에 있어서, 상기 제1고급언어 소스 프로그램을 편집하고 링크하여 제1아키텍처의 계산기용 제2실행로드모듈을 생성하는 제5스텝과, 상기 제2실행로드모듈을 제1아키텍처의 계산기로 실행하는 제6스텝과, 상기 제4스텝의 제1실행로드모듈의 실행결과와 상기 제6스텝의 제2실행로드모듈의 실행결과를 비교하는 제7스텝을 더 구비한 기계어 프로그램의 동작검증방법.
  7. 제1항에 있어서, 상기 제3스텝은 상기 제2고급언어 소스 프로그램을 편집하고 링크하여 상기 제2아키텍처의 계산기용 제1실행로드모듈을 생성하는 스텝을 포함한 프로그램의 아키텍처 변환방법.
  8. 상기 제1실행로드모듈을 상기 제2아키텍처의 계산기로 실행하는 제4스텝을 더 구비한 제7항의 변환방법을 사용하는 기계어 프로그램의 동작검증방법.
  9. 제8항에 있어서, 상기 제1고급언어 소스프로그램을 편집하고 링크하여 제1아키텍처의 계산기용 제2실행로드모듈을 생성하는 제5스텝과, 상기 제2실행로드모듈을 제1아키텍처의 계산기로 실행하는 제6스텝과, 상기 제4스텝의 제1실행로드모듈의 실행결과와 상기 제6스텝의 제2실행로드모듈의 실행결과를 비교하는 제7스텝을 더 구비한 기계어 프로그램의 동작검증방법.
  10. 제1아키텍처의 계산기용 제1고급언어 소스프로그램을 편집하여 제2아키텍처의 계산기용 기계어 프로그램을 생성하는 제1스텝과, 상기 기계어 프로그램을 시뮬레이터에 의해 상기 제1아키텍처의 계산기로 실행하면서 상기 기계어 프로그램의 디버그를 실시하는 제2스텝을 구비한 기계어 프로그램의 동작검증방법.
  11. 제1아키텍처의 계산기용 제1고급언어 소스 프로그램을 편집하여 제2아키텍처의 계산기용 기계어 프로그램을 생성하는 기계어 프로그램 생성수단과, 상기 기계어 프로그램을 역편집하여 아키텍처에 의존하지 않는 제2고급언어 소스프로그램을 생성하는 제2고급언어 소스프로그램 생성수단과, 상기 제2고급언어 소스프로그램을 편집하고 링크하여 제1실행로드모듈을 생성하는 제1실행로드모듈 생성수단을 구비한 프로그램의 아키텍처 변환장치.
  12. 상기 제1실행로드모듈을 실행하는 제1실행로드모듈 실행수단을 더 구비한 제11항의 변환장치를 사용하는 기계어 프로그램의 동작검증장치.
  13. 제12항에 있어서, 상기 제1고급언어 소스프로그램을 편집하고 링크하여 제1아키텍처의 계산기용 제2실행로드모듈을 생성하는 제2실행로드모듈 생성수단과, 상기 제2실행로드모듈을 제1아키텍처의 계산기로 실행하는 제2실행로드모듈 실행수단과, 상기 제1실행로드모듈 실행수단의 상기 제1실행로드모듈의 실행결과와 상기 제2실행로드모듈 실행수단의 상기 제2실행로드모듈의 실행결과를 비교하는 비교수단을 더 구비한 기계어 프로그램의 동작검증장치.
  14. 제11항에 있어서, 제1실행로드모듈 생성수단은 상기 제2고급언어 소스프로그램을 편집하고 링크하여 상기 제1아키텍처의 계산기용 제1실행로드모듈을 생성하는 수단을 포함한 프로그램의 아키텍처 변환장치.
  15. 상기 제1실행로드모듈을 상기 제1아키텍처의 계산기로 실행하는 제1실행로드모듈 실행수단을 더 구비한 제14항의 변환장치를 사용하는 기계어 프로그램의 동작검증장치.
  16. 제15항에 있어서, 상기 제1고급언어 소스프로그램을 편집하고 링크하여 제1아키텍처의 계산기용 제2실행로드모듈을 생성하는 제2실행로드모듈생성수단과, 상기 제2실행로드모듈을 제1아키텍처의 계산기로 실행하는 제2실행로드모듈실행수단과, 제1실행로드모듈 생성수단의 상기 제1실행로드모듈의 실행결과와 상기 제6실행로드모듈생성수단의 제2실행로드모듈의 실행결과를 비교하는 비교수단을 더 구비한 기계어 프로그램의 동작검증장치.
  17. 제11항에 있어서, 상기 제1실행로드모듈 생성수단은 상기 제2고급언어 소스프로그램을 편집하고 링크하여 제2아키텍처의 계산기용 제1실행로드모듈을 생성하는 수단을 포함한 프로그램의 아키텍처 변환장치.
  18. 상기 제1실행로드모듈을 상기 제2아키텍처의 계산기로 실행하는 상기 제1실행로드모듈 실행수단을 더 구비한 제17항의 변환장치를 사용하는 기계어 프로그램의 동작검증장치.
  19. 제18항에 있어서, 상기 제1고급언어 소스 프로그램을 편집하고 링크하여 제1아캐텍처의 계산기용 제2실행로드모듈을 생성하는 제2실행로드모듈 생성수단과, 상기 제2실행로드모듈을 제1아키텍처의 계산기로 실행하는 상기 제2실행로드모듈 실행수단과, 상기 제1실행로드모듈 실행수단의 상기 제1실행로드모듈의 실행결과와 상기 제2실행로드모듈 실행수단의 상기 제2실행로드모듈의 실행결과를 비교하는 비교수단을 더 구비한 기계어 프로그램의 동작검증장치.
  20. 제1아키텍처의 계산기용 제1고급언어 소스 프로그램을 편집하여 제2아키텍처의 계산기용 기계어 프로그램을 생성하는 기계어 프로그램생성수단과, 상기 기계어 프로그램을 시뮬레이터를 사용해서 상기 제1아키텍처의 계산기로 실행하면서 상기 기계어 프로그램의 디버그를 실시하는 디버그수단을 구비한 기계어 프로그램의 동작검증장치.
KR1019940008823A 1993-04-27 1994-04-26 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치 KR0125605B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP93-100964 1993-04-27
JP5100964A JPH06309193A (ja) 1993-04-27 1993-04-27 機械語プログラムの動作検証方法および装置

Publications (2)

Publication Number Publication Date
KR940024587A KR940024587A (ko) 1994-11-18
KR0125605B1 true KR0125605B1 (ko) 1998-07-01

Family

ID=14288043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940008823A KR0125605B1 (ko) 1993-04-27 1994-04-26 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치

Country Status (3)

Country Link
US (1) US6086622A (ko)
JP (1) JPH06309193A (ko)
KR (1) KR0125605B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE522988C2 (sv) * 2000-05-16 2004-03-23 Eurocity Software Ab Förfarande, datorprogramprodukt och datorprogramelement för realtidsöversättning av användargränssnitt i en godtycklig applikation
US7406682B2 (en) * 2001-03-26 2008-07-29 Emc Corporation Translator-compiler for converting legacy management software
DE60237200D1 (de) * 2001-05-11 2010-09-16 Computer Ass Think Inc Methode und system zur umwandlung von legacy-software-anwendungen in moderne, objektorientierte systeme
US7861239B2 (en) * 2005-05-23 2010-12-28 International Business Machines Corporation Data migration between versions of software
WO2008038389A1 (fr) * 2006-09-28 2008-04-03 Fujitsu Limited Appareil d'analyse de performance de programme
CN103019942B (zh) * 2012-12-31 2015-04-29 广东欧珀移动通信有限公司 一种基于安卓系统的待测应用自动测试方法和系统
US20150378864A1 (en) * 2014-06-25 2015-12-31 SmartBear Software, Inc. Systems and methods for instrumenting applications for performance monitoring
KR102405886B1 (ko) * 2022-03-17 2022-06-08 주식회사 넷아스 아키텍처 변경을 위한 소스 변환 솔루션 제공 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5133072A (en) * 1986-11-13 1992-07-21 Hewlett-Packard Company Method for improved code generation in reduced instruction set computers
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
US5257369A (en) * 1990-10-22 1993-10-26 Skeen Marion D Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5197138A (en) * 1989-12-26 1993-03-23 Digital Equipment Corporation Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
US5307504A (en) * 1991-03-07 1994-04-26 Digital Equipment Corporation System and method for preserving instruction granularity when translating program code from a computer having a first architecture to a computer having a second reduced architecture during the occurrence of interrupts due to asynchronous events
US5339422A (en) * 1991-03-07 1994-08-16 Digital Equipment Corporation System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment

Also Published As

Publication number Publication date
KR940024587A (ko) 1994-11-18
US6086622A (en) 2000-07-11
JPH06309193A (ja) 1994-11-04

Similar Documents

Publication Publication Date Title
US5170465A (en) Incremental-scanning compiler for source-code development system
US5313387A (en) Re-execution of edit-compile-run cycles for changed lines of source code, with storage of associated data in buffers
US20060101432A1 (en) Assembly language code compilation for an instruction-set architecture containing new instructions using the prior assembler
WO1990001738A1 (en) Machine process for translating programs in binary machine language into another binary machine language
US20020019973A1 (en) Compiler and method for compiling easily adaptable to processor specifications
US9129137B2 (en) Method, computer program and device for providing security for intermediate programming code for its execution by a virtual machine
KR0125605B1 (ko) 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치
EP1064598A2 (en) Hybrid computer programming environment
US11886839B2 (en) Non-transitory computer-readable recording medium, function generation method, and information processing device
CN114428642B (zh) 一种基于新型处理器架构的随机指令生成环境
US6178547B1 (en) Method and apparatus for generating non-redundant symbolic debug information in computer programs
JP3196675B2 (ja) 言語処理方式
JPH10320212A (ja) キャッシュ向け最適化方法
MacLaren Inline routines in VAXELN Pascal
JP3745968B2 (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
JPS58169637A (ja) コンパイル処理方式
JP2005301415A (ja) コンパイル方式、シミュレータ、エミュレータおよびプログラム開発支援システム
JP2002259121A (ja) ソースラインデバッグ装置
CN118069142A (zh) 编译优化方法、装置、电子设备及存储介质
US7062400B2 (en) Apparatus and program for designing system LSI, and method for verifying integrity of the program for designing system LSI
JPH1083311A (ja) シミュレータ
CN118069143A (zh) 访存处理方法、装置、电子设备及存储介质
KR100277479B1 (ko) 칠 분리 컴파일 방법
CN117971238A (zh) 一种用于验证指令集中指令相关的系统及方法
CN117950669A (zh) 热补丁生成方法、装置、电子设备、存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060929

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee