KR960038647A - 명령의 시퀀싱에 의하여 해저드의 해소를 도모하는 최적화장치 - Google Patents

명령의 시퀀싱에 의하여 해저드의 해소를 도모하는 최적화장치 Download PDF

Info

Publication number
KR960038647A
KR960038647A KR1019960013068A KR19960013068A KR960038647A KR 960038647 A KR960038647 A KR 960038647A KR 1019960013068 A KR1019960013068 A KR 1019960013068A KR 19960013068 A KR19960013068 A KR 19960013068A KR 960038647 A KR960038647 A KR 960038647A
Authority
KR
South Korea
Prior art keywords
command
resource
instruction
detecting
value
Prior art date
Application number
KR1019960013068A
Other languages
English (en)
Other versions
KR100238330B1 (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 KR960038647A publication Critical patent/KR960038647A/ko
Application granted granted Critical
Publication of KR100238330B1 publication Critical patent/KR100238330B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/445Exploiting fine grain parallelism, i.e. parallelism at instruction level

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Abstract

참조- 정의간의 의존관계, 정의- 정의간의 의존관계를 그래프에 나타내지 않아도 해저드의 해소를 확실하게 실행하는 최적화장치를 제공한다.
제9도의 스텝 s1에서는 정의 - 참조간의 의존관계로 이루어지는 DAG의 명령노드로부터 출력후보를 노미네이트하고, 노미네이트한 각DAG의 명령노드를 출력후보로서 스텝 s3에 부여한다. 스텝 s3에서는 해저드 등의 DAG의 어느 링크에 위치하는가에 의거하여 노미네이트된 출력후보의 명령노드중 어느것을 우선할것인지를 결정한다.
스텝 s4에서는 리소스상태 정보를 참조하여 선택된 명령노드에서 자원이 정의되어 있지 않거나 혹은 정의되어 있는 자원이 사용중이 아닌가를 확인하고, 그렇다면 스텝 s5에서 출력 리스트 버퍼(17)에 선택된 명령노드를 출력한다.
스텝 s5에서의 출력후, 그 선택된 명령노드가 최후의 명령노드인지를 판단하고, 그렇지 않다면 스텝 s7에서 리소스상태 정보를 갱신한다.

Description

명령의 시퀀싱에 의하여 해저드의 해소를 도모하는 최적화장치
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제5도는 최적화장치의 내부구성을 나타낸 블록도, 제6A는 이 DAG의 데이타구조의 포맷을 나타내는 도면, 제6B는 본 실시예의 DAG의 일례를 나타내는 도면, 제6C도는 본 실시예의 DAG의 일례를 나타내는 도면.

Claims (34)

  1. 파이프라인처리의 해저드를 해소하기 위하여 프로그램중의 분기를 포함하지 않는 프로그램 부분의 명령을 시퀀싱하는 최적화장치로서, 상기 프로그램중의 분기를 포함하지 않는 프로그램 부분에 대하여 복수의 유향 비주기 그래프를 생성하는 유향 비주기 생성수단과, 상기 유향 비중기 그래프는 자원에 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 명령을 자로 한 친자관계의 계보를 나타내며, 각 유향 비주기 그래프에서, 해저드가 존재하는 친자간에 마크를 설정하는 마크설정수단과, 상기 프로그램 부분의 명령을 시퀀싱하며, 이 시퀀싱은 유향 비주기 그래프중의 마크된 명령간에 그 명령간에서 사용중인 자원의 값을 파괴하지 않는 다른 유향 비주기 그래프의 명령을 삽입함으로써 실행되는 시퀀싱수단을 포함하는 것을 특징으로 하는 최적화장치.
  2. 제1항에 있어서, 상기 최적화장치는, 유향 비주기 그래프의 선두 명령중, 자손에 해저드를 포함하는 명령에 의하여 높은 우선도를 부여하고, 자손에 포함하지 않는 명령에 의하여 낮은 우선도를 부여하며, 상기 자손의 명령이란 유향 비주기 그래프내를 친으로부터 자의 단방향으로 선두명령으로부터 정의 - 참조의 직접적 또는 간접적인 친자관계를 살필 수 있는 모든 명령을 말하는 우선도 부여수단과, 상기 시퀀싱수단은, 유향 비주기 그래프의 선두명령중 대상이 되는 명령이 지시되면 지시된 명령을 유향 비주기 그래프로부터 절단하는 절단수단과, 절단된 명령을 절단된 순위에 따라 시리얼레 격납하는 명령격납수단과, 나중에 참조되는 자원의 값을 파괴하는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 파괴명령 검출수단과, 친의 명령이 명령격납수단의 열의 최후미에 존재하는 명령이며, 또 그 친과의 사이에 마크가 설정되어 있는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 마크 부착 명령검출수단과, 파괴명령 검출수단에 의하여 검출된 명령 및 마크부착 명령검출수단에 의하여 검출된 명령의 절단을 절단금지수단과, 절단금지수단에 의하여 절단이 금지된 명령 이외의 선두명령으로서, 부여된 우선도가 가장 높은 명령을 대상으로 하여 지시하는 명령지지수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  3. 제2항에 있어서, 상기 최적화장치는, 각각의 자원에 대응하는 자원 플래그를 기억하며 사용중으로 되어 있는 자원에 대응하는 자원 플래그는 온으로 설정되고, 미사용으로 되어 있는 자원에 대응하는 자원 플래그는 오프를 설정되어 있으며, 대상으로 되어 있는 프로그램부분의 입구에서는 선행하는 프로그램의 부분의 출구의 상태를 방영하는 자원 플래그 기억수단과, 명령격납수단에 명령이 격납될 때마다 그 명령으로 값이 정의되는 자원에 대응하는 자원 플래그를 온으로 반전시키고, 자원의 값이 참조되는 것이 명령격납수단에 격납된 명령에서 최후가 되는 자원에 대응하는 자원 플래그를 오프로 반전시키는 갱신수단과, 온으로 되어 있는 자원 플래그를 참조하고, 그 자원플래그에 대응하는 자원의 값을 파괴할 것인지를 판정함으로써 명령을 검출하는 파괴명령 검출수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  4. 제3항에 있어서, 대상이 되는 프로그램 부분에서, 하나의 명령으로 정의된 자원의 값이 후속하는 복수개의 명령에 의하여 값이 참조되는 경우, 유향 비주기 그래프는 그 자원의 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 명령을 자로 한 일대다(one and multi)의 친가관계를 나타내고, 대상이 되는 프로그램 부분에서, 선행하는 명령으로 정의된 값을 하나의 명령에서 참조하는 경우, 유향 비주기 그래프는 그 자원의 값을 참조하는 명령을 자로하고, 그 자원의 값을 정의하는 복수의 명령을 친으로 한 다대일(multi and one)의 친자관계를 나타내고, 상기 갱신수단은, 절단수단에 의하여 명령이 절단되면 명령으로 정의되는 자원의 값이 이후에 참조되는지를 판정하는 참조유무 판정부와, 이후에 참조된다고 판정된 경우, 그 정의자원에 대응하는 자원플래그를 오프로부터 온으로 반전시키는 제1반전부와, 절단수단에 의하여 절단된 명령으로 참조되어 있는 자원이 단수라면 그 자원에 대한 친명령을 검출하고, 참조되어 있는 자원이 복수라면 각각의 자원을 정의하고 있는 친명령을 검출하는 제1친명령 검출부와, 제1친명령 검출부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 몇 개의 자명령에서 다시 참조되고 있다면 그들의 자명령을 모두 검출하는 검출된 자명령은 복수, 단수의 2가지가 있는 제1자명령 검출부와, 절단수단에 의하여 절단된 다른 자명령이 제1자명령 검출부에 의하여 검출되면 그들의 자명령이 모두 절단완료인지를 판정하는 제1절단완료 명령판정부와, 절단된 명령 이외의 자명령이 검출되지 않은 경우, 혹은 절단된 명령과는 다른 자명령이 검출되었지만, 그들은 제1절단완료 명령판정부에 의하여 절단완료라고 판정된 경우, 절단된 명령에 의하여 값이 참조되는 자원에 대응하는 자원 플래그를 온으로부터 오프로 반전시키는 제2반전부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  5. 제 4항에 있어서, 상기 파괴명령 검출수단은, 유향 비주기 그래프의 선두에 있는 각각의 명령을 파괴후보로서 선택하는 파괴후보 선택부와, 파괴후보로서 선택된 명령으로 정의되는 정의자원이 단수라면 정의자원에대응하는 자원플래그가 미사용을 나타내는 오프로 설정되어 있는 지를 판정하고, 정의되는 자원이 복수라면 그들 정의자원에 대응하는 자원플래그가 모든 오프로 설정되어 있는 지를 판정하는 정의자원 검출부와, 검출된 모든 정의자원에 대응하는 자원플래그가 오프라면 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는제1제외부와, 몇개의 자원에 대응하느 자원플래그가 온으로 설정되어 있는 경우, 그들 자원을 정의하고 있는 친명령을 모두 검출하는 제2친명령 검출부와 제2친명령부에 의하여여 검츨된 각각의 친명령으로 정의되어 있는 자원이 다시 몇개의 자명령에서 참조되어 있다면 그들 자명령을 모두 검출하는 제2자명령 검출부와, 파괴후보와는 다른자 명령이 제2자명령 검출부에 의하여 검출되면 그들의 자명령를 모두 절단완료인지를 판장하는 제2절단완료 명령판정부와, 모두 정의자원에 대하여 제2자명령검출주에 의하여 파괴후보 이외의 자명령이 검출되지않은 경우, 혹은 파괴후보와는 다른 자명령이 검출되었지만, 그들은 제2절단완료 명령판정부에 의하여 모두 절단완료라고 판정된 경우, 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제2제외부와, 파괴후보로서선택되고 또 비파괴명령으로 변경되지 않은 명령을 파괴명령으로서 절단금지수단에 출력하는 출력부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  6. 제5항에 있어서,상기 시퀀싱수단은, 하나의 프로그램 부분에 대하여 파괴명령 검출수단이 파괴명령만을 검출한 경우, 그 유향 비주기 그래프를 명령격납수단의 최후미에 격납된 명령이 절단되기 전의 상태까지 복원하는 제1복원수단과, 이전 그 명령이 절단됨으로써 값이 변경을 받은 자원에 대응하는 자원플래그를 해당명령이 절단되기 전의 상태로 복원하는 제2복원수단과, 명령이 유향 비주기 그래프로 되돌아가면 복귀된 명령에 이어서 높은 우선도가 부여된 유향 비주기 그래프의 선두명령을 대상으로 하여 지시하는 명령지시수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  7. 제3항에 있어서, 프로그램 부분에서, 하나의 명령으로 값이 정의된 자원이 후속하는 복수개의 명령에 의하여 값이 참조되는 경우, 유향 비주기 그래프는 그 자원의 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 복수의 명령을 자로 한 1대 다의 친자관계를 나타내고, 대상이 되는 프로그램 부분에서, 선행하는 복수개의 명령으로 정의된 값을 하나의 명령에서 참조하는 경우, 유향 비주기 그래프는 그 자원의 값을 참조하는 명령을 자로하고, 그 자원의 값을 정의하는 복수의 명령을 친으로 한 다 대 1의 친자관계를 나타내고, 상기 파괴명령 검출수단은, 각 유향 비주기 그래프의 선두에 있는 각각의 명령을 파괴후보로서 선택하는 파괴후보 선택부와, 파괴후보로서 선택된 명령으로 정의되는 정의자원이 단수라면 정의자원에 대응하는 자원플래그가 미사용을 나타내는 오프로 설정되어 있는 지를 판정하고, 정의되는 자원이 복수라면 그들 정의자원에 대응하는 자원 플래그가 모든 오프에 설정되어 있는 지를 판정하는 정의자원 검출부와, 검출된 모든 정의자원에 대응하는 자원 플래그가 오프라면 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제1제외부와, 몇 개의 자원에 대응하는 자원플래그가 온으로 설정되어 있는 경우, 그들의 자원을 정의하고 있는 친명령을 모두 검출하는 제2친명령 검출부와, 제2침명령부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 다시 몇 개의 자명령에서 참조되어 있다면 그들의 자명령을 모두 검출하는 제2자명령 검출부와, 파괴후보와는 다른 자명령이 제2자명령 검출부에 의하여 검출되면 그들의 자명령은 모두 절단완료인지를 판정하는 제2절단완료 명령판정부와, 모든 정의자원에 대하여 제2자명령 검출부에 의하여 파과후보 이외의 자명령이 검출되지 않은 경우, 혹은 파괴후보와는 다른 자명령이 검출되었지만 그들은 제2절단완료 명령판정부에 의하여 모두 절단완료라고 판정된 경우, 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제2제거부와, 파괴후보로서 선택되고 비파괴명령으로 변경되지 않은 명령을 파괴명령으로서 절단금지수단에 출력하는 출력부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  8. 제7항에 있어서, 상기 시퀀싱수단은, 하나의 프로그램 부분에 대하여 파괴명령 검출수단이 파괴명령만을 검출한 경우, 그 유향 비주기 그래프를 명령격납수단의 최후미에 격납된 명령이 절단되기 전의 상태로까지 복원하는 제1복원수단과, 이전 그 명령이 절단됨으로써 값이 변경을 받은 자원에 대응하는 자원플래그를 해당 명령이 절단되기 전의 상태로 복원하는 제2복원수단과, 명령이 유향 비주기 그래프로 되돌아가면 복귀면 명령에 이어서 높은 우선도가 부여된 유향 비주기 그래프의 선두명령을 대상으로 하여 지시하는 명령지시수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  9. 제1항에서 상기 최적화장치는, 유향 비주기 그래프의 선두 명령중, 자손에 해저드를 포함하는 명령에 제1우선도를 부여하고, 자손에 해저드를 포함하지 않는 명령에 제1우선도보다 낮은 제2우선도를 부여하는 제1우선도 부여수단과, 상기 시퀀싱수단은, 유향 비주기 그래프의 선두명령중 대상이 되는 명령이 지시되면 지시된 명령을 유향 비주기 그래프로부터 절단하는 절단수단과, 절단된 명령을 절단된 순위에 따라 직렬로 격납하는 명령격납수단과, 나중에 참조되는 자원의 값을 파괴하는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 파괴명령 검출수단과, 친의 명령이 명령격납수단의 열의 최후미에 존재하는 명령이며, 또 그 친과의 사이에 마크가 설정되어 있는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 마크부착 명령검출수단과, 유향 비주기 플래그의 선두명령중, 마크부착 명령검출수단에 의하여 검출된 명령에 제1우선도 부여수단에 의하여 부여된 제2우선도보다도 낮은 제3우선도를 부여하는 제2우선도 부여수단과, 파괴명령 검출수단에 의하여 검출된 명령의 절단을 금지하는 절단금지수단과, 절단금지수단에 의하여 절단이 금지된 명령 이외의 선두명령으로서, 부여된 우선도가 가장 높은 명령을 대상으로하여 지시하는 명령지시수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  10. 제9항에 있어서, 상기 최적화장치는, 각각의 자원에 대응하는 자원 플래그를 기억하며, 사용중으로 되어 있는 자원에 대응하는 자원 플래그는 온으로 설정하고, 미사용으로 되어 있는 자원에 대응하는 자원 플래그는 오프로 설정되어 있으며, 대상으로 되어 있는 프로그램부분의 입구에서는 선행하는 프로그램 부분의 출구의 상태를 반영하는 자원 플래그 기억수단과, 명령격납수단에 명령이 격납될때마다 그 명령으로 값이 정의되는 대응하는 자원 플래그를 온으로 반전시키고, 자원의 값이 참조되는 것이 명령격납수단에 격납된 명령에서 최후가 되는 자원에 대응하는 자원 플래그를 오프로 반전시키는 갱신수단과, 파괴명령 검출수단은, 온으로 되어있는 자원 플래그가 참조하고, 그 자원플래그에 대응하는 자원의 값을 파괴하는지를 판정함으로써 명령을 검출하는 파괴명령 검출수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  11. 제10항에 있어서, 대상이 되는 프로그램 부분에서, 하나의 명령으로 정의된 자원의 값이 후속하는 복수개의 명령에 의하여 값이 참조되는 경우, 유향 비주기 플래그는 그 자원의 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 복수의 명령을 자로 한 1 대 다의 친자관계를 나타내고, 대상이 되는 프로그램 부분에서, 선행하는 복수개의 명령으로 정의된 값을 하나의 명령에서 참조하는 경유, 유향 비주기 그래프는 그 자원의 값을 참조하는 명령을 자로 하고 그 자원의 값을 정의하는 복수의 명령을 친으로 한 다 대 1의 친자관계를 나타내고, 상기 갱신수단은, 절단수단에 의하여 명령이 절단되며 절단된 명령으로 정의되는 자원의 값이 이후에 참조되는지를 판정하는 참조유무 판정부와, 이후에 참조된다고 판정된 경우, 그 정의자원에 대응하는 자원플래그를 오프로부터 온으로 반전시키는 제1반전부와, 절단수단에 의하여 절단된 명령으로 참조되어 있는 자원이 단수라면 그 자원에 대한 친명령을 검출하고, 참조되어 있는 자원이 복수라면 각각의 자원을 정의하고 있는 친명령을 검출하는 제1친명령 검출부와, 제1친명령 검출부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 몇 개의 자명령으로 다시 참조되고 있다면 그들의 자명령을 모두 검출하며, 검출된 자명령은 복수, 단수의 2가지가 있는 제1자명령 검출부와, 절단수단에 의하여 절단된 명령과는 다른 자명령이 제1자명령 검출부에 의하여 검출되면 그들의 자명령이 모두 절단완료되었는지를 판정하는 제1절단완료 명령판정부로, 절단된 명령 이외의 자명령이 검출되지 않은 경우, 혹은 절단된 명령과는 다른 자명령이 검출되었지만 그들은 제1절단완료 명령판정부에 의하여 절단완료라고 판정된 경우, 절단된 명령에 의하여 값이 참조되는 자원에 대응하는 자원플래그를 온으로부터 오프로 반전시키는 제2반전부를 더울 포함하는 것을 특징으로 하는 최적화장치.
  12. 제11항에 있어서, 상기 파괴명령 검출수단은, 각 유향 비주기 그래프의 선두에 있는 각각의 명령을 파괴후보로서 선택하는 파괴후보 선택부와, 파괴후보로서 선택된 명령으로 정의되는 정의자원이 단수라면 대응하는 자원플래그가 미사용을 나타내는 오프로 설정되어 있는 지를 판정하고, 정의되는 자원이 복수라면 그들 정의 자원에 대응하는 자원플래그가 모든 오프로 설정되어 있는 지를 판정하는 정의자원 감출부와, 검출된 모든 정의 자원에 대응하는 자원플래그가 오프라면 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제1제외부와, 몇 개의 자원에 대응하는 자원플래그가 온으로 설정되어 있느 경우, 그들 자원을 정의하고 있는 친명령을 모두 검출하는 제2친명령 검출부와, 제2친명령부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 다시 몇 개의 자명령에서 참조되어 있다면 그들 자명령을 모두 검출하는 제2자명령 검출부와, 파괴후보와는 다른 자 명령이 제2자명령이 검출부에 의하여 검출되면 그들의 자명령은 모두 절단완료인지를 판정하는 제2절단완료 명령 판정부와, 모든 정의자원에 대하여 제2자명령검출부에 의하여 파괴후보 이외의 자명령이 검출되지 않는 경우, 혹은 파괴후보와는 다른 자명령이 검출되었지만, 그들은 제2절단완료 명령판정부에 의하여 모두 절단완료라고 판정된 경우, 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제2제외부와, 파괴후보로서 선택되고, 또 비파괴명령으로 변경되지 않은 명령을 파괴명령으로서 절단금지수단에 출력하는 출력부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  13. 제12항에 있어서, 상기 시퀀싱수단은, 하나에 프로그램 부분에 대하여 파괴명령 검출수단이 파괴명령만을 검출한 경우, 그 유향 비주기 그래프를 명령격납수단의 최후미에 격납된 명령이 절단되기 전의 상태까지 복원하는 제1복원수단과, 이전의 그 명령이 절단됨으로써 값이 변경을 받은 자원에 대응하는 자원플래그를 해당명령이 절단되기 전의 상태로 복원하는 제2복원수단과, 명령이 유향 비주기 그래프로 되돌아가면 복귀된 명령에 이어서 높은 우선도가 부여된 유향 비주기 그래프의 선두명령을 대상으로 하여 지시하는 명령지시수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  14. 파이프라인처리의 해저드를 해소하기 위해 프로그램중의 분기를 포함하지 않는 프로그램 부분의 명령을 시퀀싱하는 최적화장치로서, 상기 프로그램중의 분기를 포함하지 않는 프로그램 부분에 대하여 복수의 유향 비주기 그래프를 생성하는 유향 비주기 그래프 생성수단과, 유향 비주기 그래프는 자원에 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 명령을 자로 한 친자관계의 계보를 나타내며, 각 유향 비주기 그래프에서, 해저드가 존재하는 친자간에 마크를 설정하는 마크설정수단과, 유향 비주기 그래프의 선두명령중 자손에 해저드를 포함하는 명령에 의하여 높은 우선도를 부여하고, 자손에 해저드를 포함하지 않는 명령에 의하여 낮은 우선도를 부여하는 부여수단과, 상기 자손의 명령이란 유향 비주기 그래프내를 친으로부터 자의 단방향으로 선두명령으로부터 정의 - 참조의 직접적 또는 간접적인 친자관계를 살필 수 있는 모든 명령이며, 유향 비주기 그래프의 선두명령중 대상이 되는 명령이 지시되면 지시된 명령을 유향 비주기 그래프로부터 절단하는 절단수단과, 절단된 명령을 절단된 순위에 따라 직렬로 격납하는 명령격납수단과, 나중에 값이 참조되는 자원을 파괴하는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 파괴명령 검출수단과, 친의 명령이 명령격납수단의 열의 최후미에 존재하는 명령이며, 또 그 친과의 사이에 마크가 설정되어 있는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 마크부착 명령검출수단과, 파괴명령 검출수단에 의하여 검출된 명령 및 마크부착 명령검출수단에 의하여 검출된 명령의 절단을 금지하는 절단금지수단과, 절단금지수단에 의하여 절단이 금지된 명령 이외의 선두명령으로서, 부여된 우선도가 가장 높은 명령을 대상으로 하여 지시하는 명령지시수단과, 절단 수단에 의하여 명령이 절단되면 절단된 나머지 명령열을 새로운 유향 비주기 그래프로 하여 우선도 부여수단, 파괴명령 검출수단, 마크부착 명령검출수단, 절단금지수단, 명령지시수단 차례로 기동시키는 기동수단을 포함하는 것을 특징으로 하는 최적화장치.
  15. 제14항에 있어서, 상기 최적화장치는, 각각의 자원에 대응하는 자원 플래그를 기억하며, 사용중으로 되어있는 자원에 대응하는 자원 플래그는 온으로 설정되고, 미사용으로 되어 있는 자원에 대응하는 자원 플래그는 오프로 설정되어 있고, 대상으로 되어 있는 프로그램 부분의 입구에서는 선행하는 프로그램 부분의 출구의 상태를 반영하는 자원 플래그 기억수단과, 명령격납수단에 명령이 격납될 때마다 그 명령으로 값이 정의되는 자원에 대응하는 자원플래그를 온으로 반전시키고, 자원의 값이 참조되는 것이 명령격납수단에 격납된 명령에서 최후가 되는 자원에 대응하는 자원 플래그를 오프로 반전시키는 갱신수단과, 온으로 되어 있는 자원 플래그를 참조하고, 그 자원 플래그에 대응하는 자원의 값을 파괴할 것인지를 판정함으로써 명령을 검출하는 파괴명령 검출수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  16. 제15항에 있어서, 대상이 되는 프로그램 부분에서, 하나의 명령으로 정의된 자원의 값이 후속하는 복수개의 명령에 의하여 값이 참조되는 경우, 유향 비주기 그래프는 그 자원의 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 복수의 명령을 자로 한 1 대다의 친자관계를 나타내고, 대상이 되는 프로그램 부분에서, 선행하는 복수개의 명령으로 정의된 값을 하나의 명령에서 참조하는 경우, 유향 비주기 그래프는 그 자원의 값을 참조하는 명령을 자로하고, 그 자원의 값을 정의하는 복수의 명령을 친으로 한 다 대 1의 친자관계를 나타내고, 상기 갱신수단은, 절단수단에 의하여 명령이 절단되면 절단된 명령으로 정의되는 자원의 값이 이후에 참조되는지를 판정하는 참조유무 판정부와, 이후에 참조된다고 판정된 경우, 그 정의자원에 대응하는 자원 플래그를 오프로부터 온으로 반전시키는 제1반전부와, 절단수단에 의하여 절단된 명령으로 참조되어 있는 자원이 단수라면 그 자원에 대한 친명령을 검출하고, 참조되어 있는 자원이 복수라면 각각의 자원을 정의하고 있는 친명령을 검출하는 제1친명령 검출부와, 제1친명령 검출부에 의하여 검출된 친명령으로 정의되어 있는 자원이 몇 개의 자명령으로 다시 참조되고 있다면 그들의 자명령을 모두 검출하는 제1자명령검출부와, 상기 검출된 자명령은 복수, 단수의 2가지가 있으며, 절단수단에 의하여 절단된 명령과는 다른 자명령이 제1자명령 검출부에 의하여 검출되면 그들의 자명령이 모두 절단완료되었는지를 판정하는 제1절단완료 명령판정부와, 절단된 명령 이외의 자명령이 검출되지 않은 경우, 혹은 절단된 명령과는 다른 자 명령이 검출되었지만 그들은 제1절단완료 명령판정부에 절단완료라고 판정된 경우, 절단된 명령에 의하여 값이 참조되는 자원에 대응하는 자원플래그를 온으로부터 오프로 반전시키는 제2반전부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  17. 제16항에 있어서, 상기 파괴명령 검출수단은, 각 유향 비주기 그래프의 선두에 있는 각각의 명령을 파괴후보로서 선택하는 파괴후보 선택부와, 파괴후보로서 선택된 명령으로 정의되는 정의자원이 단수라면 정의자원에 대응하는 자원플래그가 미사용을 나타내는 오프로 설정되어 있는지를 판정하고, 정의되는 자원이 복수라면 그들 정의자원에 대응하는 자원플래그가 모든 오프에 설정되어 있는지를 판정하는 정의자원 검출부와, 검출된 모든 정의자원에 대응하는 자원플래그가 오프라면 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제1제외부와, 몇 개의 자원에 대응하는 자원플래그가 온에 설정되어 있는 경우, 그들 자원을 정의하고 있는 친명령을 모두 검출하는 제2침명령 검출부와, 제2친명령부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 다시 몇 개의 자명령에서 참조되어 있다면 그들 자명령을 모두 검출하는 제2자명령 검출부와, 파괴후보와는 다른 자명령이 제2자명령 검출부에 의하여 검출되면 그들의 자명령은 모두 절단완료인지를 판정하는 제2절단완료 명령판정부와, 모든 정의자원에 대하여 제2명령 검출부에 의하여 검출되었지만, 그들은 제2절단완료 명령 판정부에 의하여 모두 절단완료라고 판정된 경우, 그 파괴후보로서 선택된 명령을 비파괴 명령으로 변경하는 제2제외부와, 파괴후보로서 선택되고 또 비파괴 명령으로 변경되지 않은 명령을 파괴명령으로서 절단금지수단에 출력하는 출력부를 더울 포함하는 것을 특징으로 하는 최적화장치.
  18. 제17항에 있어서, 상기 시퀀싱수단은, 하나의 프로그램 부분에 대하여 파괴명령 검출수단이 파괴명령만을 검출한 경우, 그 유향 비주기 그래프를 명령격납수단의 최후미에 격납된 명령이 절단되기 전에 상태까지 복원하는 제1복원수단과, 이전 그 명령이 절단됨으로써 값이 변경을 받은 자원에 대응하는 자원플래그를 해당명령이 절단되기 전의 상태로 복원하는 제2복원수단과, 명령이 유향 비주기 그래프로 되돌려지면 복귀된 명령에 이어서 높은 우선도가 부여된 유향 비주기 그래프의 선두명령을 대상으로 하여 지시하는 명령지지수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  19. 파이프라인처리의 해저드를 해소하기 위해 프로그램중의 분기를 포함하지 않는 프로그램 부분의 명령을 시퀀싱하는 최적화장치로서, 상기 프로그램중의 분기를 포함하지 않는 프로그램 부분에 대하여 복수의 유향 비주기 그래프를 생성하는 유향 비주기 그래프 생성수단과, 상기 유향 비주기 그래프는 자원에 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 명령을 자로 한 친가관계의 계보를 나타내며, 각 유향 비주기 그래프에서, 해저드가 존재하는 친자간에 마크를 설정하는 마크설정수단과, 유향 비주기 그래프의 선두명령중 자손에 해저드를 포함하는 명령에 의하여 높은 우선도를 부여하고, 자손에 해저드를 포함하지 않는 명령에 의하여 낮은 우선도를 부여하는 우선도 부여수단과, 상기 자손의 명령이란 유향 비주기 그래프내를 친으로부터 자의 단방향으로 선두명령으로부터 정의 - 참조의 직접적 또는 간접적인 친자관계를 살필 수 있는 모든 명령이며, 유향 비주기 플래그의 선두명령중 대상이 되는 명령이 지시되면 지시된 명령을 유향 비주기 그래프로부터 절단하는 절단수단과, 절단된 명령을 절단된 순위에 따라 직렬로 격납하는 명령격납수단과, 나중에 값이 참조되는 자원을 파괴하는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 파괴명령 검출수단과, 친의 명령이 명령격납수단의 열의 최후미에 존재하는 명령이며, 또 그 친과의 사이에 마크가 설정되어 있는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 마크부착 명령검출수단과, 파괴명령 검출수단에 의하여 어떤 명령이 검출된 경우, 해당 명령 및 해당명령과 해당 자원에 관한 데이타 플로우를 가지는 모든 명령이 차지하는 구간에서 미사용인 자원을 선별하는 제1치환후보 선별수단과, 상기 자원에 관한 데이타 플로우를 가지는 명령이 차지하는 구간이란 자원에 값의 정의하는 명령과, 정의된 자원의 값을 참조하는 모든 명령이 차지하는 구간에 그 자원의 값을 재정의하는 명령과, 재정의된 자원의 값을 참조하는 모든 명령이 차지하는 구간을 합한 구간을 말하며, 상기 재정의하는 명령이란 이미 정의된 자원의 값에 의거한 값이며, 그 자원을 정의하는 명령을 말하며, 선별된 자원의 종별을 식별하는 식별수단과, 파괴명령 검출수단에 의하여 검출된 명령 및 그 명령으로 정의된 자원에 관하여 데이타 플로우를 가지는 모든 명령을 해독하는 해독수단과, 식별수단의 식별결과와 해독수단의 해독결과를 조합시켜보아 그 조합을 프로세서의 명령 세트와 조합함으로써 선별에 남은 자원으로부터 치환후보를 다시 선별하는 제2치환후보 선별수단과, 사용중인 자원의 값을 정의하고 있다고 파괴명령 검출수단에 의하여 검출된 명령에서 값이 정의되는 자원과, 그 명령을 포함하는 유향 비주기 그래프의 해당 자원에 관한 데이타 플로우를 가지는 명령으로 사용되고 있는 자원을 판정된 치환후보에 개시하는 개선수단과, 마크부착 명령 검출수단에 의하여 검출된 명령 및 파괴명령 검출수단에 의하여 검출된 명령중 고침수단에 의하여 자원이 고쳐지지 않은 이외의 것의 절단을 금지하는 절단금지수단과, 절단이 금지된 선두명령중, 우선도가 가장 높은 그래프를 대상으로 하여 지시하는 명령지시수단과, 절단수단에 의하여 명령이 절단되면 절단된 나머지 명령열을 새로운 유향 비주기 그래프로하여 우선도 부여수단, 파괴명령 검출수단, 마크부착 명령검출수단, 절단금지수단, 명령지지수단을 차례로 기동시키는 기동수단을 포함하는 것을 특징으로 하는 최적화장치.
  20. 제19항에 있어서, 상기 최적화장치는, 각각의 자원에 대응하는 자원 플래그를 기억하며, 사용중으로 되어 있는 자원에 대응하는 자원 플래그는 온으로 설정되고, 미사용으로 되어 있는 자원에 대응하는 자원 플래그는 오프로 설정되어 있으며, 대상으로 되어 있는 프로그램부분의 입구에서는 선행하는 프로그램 부분의 출구의 상태를 반영하는 자원 플래그 기억수단과, 명령격납수단에 명령이 격납될 때마다 그 명령으로 값이 정의되는 자원에 대응하는 자원플래그를 온으로 반전시키고 자원의 값이 참조되는 것이 명령격납수단에 격납된 명령에서 최후가 되는 자원에 대응하는 자원 플래그를 오프로 반전시키는 갱신수단과, 온으로 되어 있는 자원 플래그를 참조하고, 그 자원플래그에 대응하는 자원의 값을 파괴할 것인지를 판정함으로써 명령을 검출하는 파괴명령 검출수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  21. 제20항에 있어서, 대상이 되는 프로그램 부분에서, 하나의 명령으로 정의된 자원의 값이 후속하는 복수개의 명령에 의하여 값이 참조되는 경우, 유향 비주기 그래프는 그 자원의 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 복수의 명령을 자로 한 1 대다의 친자관계를 나타내고, 대상이 되는 프로그램 부분에서, 선행하는 복수개의 명령으로 정의된 값을 하나의 명령에서 참조하는 경우, 유향 비주기 그래프는 그 자원의 값을 참조하는 명령을 자로하고, 그 자원의 값을 정의하는 복수의 명령을 친으로 한 다 대 1의 친자관계를 나타내고, 상기 갱신수단은, 절단수단에 의하여 명령이 절단되면 절단된 명령으로 정의되는 자원의 값이 이후에 참조되는지를 판정하는 참조유무 판정부와, 이후에 참조된다고 판정된 경우, 그 정의자원에 대응하는 자원플래그를 오프로부터 온으로 반전시키는 제1반전부와, 절단수단에 의하여 절단된 명령에서 참조되어 있는 자원이 단수라면 그 자원에 대한 친명령을 검출하고, 참조되어 있는 자원이 복수라면 각각의 자원을 정의하고 있는 친명령을 검출하는 제1친명령 검출부와, 제1친명령 검출부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 몇 개의 자명령으로 다시 참조되고 있다면, 그들의 자명령을 모두 검출하는, 검출된 자명령은 복수, 단수의 2가지가 있는 제1자명령 검출부와, 절단수단에 의하여 절단된 명령과는 다른 자명령이 제1자명령 검출부에 의하여 검출되면 그들의 자명령이 모두 절단완료되었는지를 판정하는 제1절단완료 명령판정부와, 절단돤 명령 이외의 자명령이 검출되지 않은 경우, 혹은 절단된 명령과는 다른 자명령이 검출되었지만, 그들은 제1절단완료 명령판정부에 의하여 절단완료라고 판정된 경우, 절단된 명령에 의하여 값이 참조되는 자원에 대응하는 자원플래그를 온으로부터 오프로 반전시키는 제2반전부를 더울 포함하는 것을 특징으로 하는 최적화장치.
  22. 제21항에 있어서, 상기 파괴명령 검출수단은, 각 유향 비주기 그래프의 선두에 있는 각각의 명령을 파괴후보로서 선택하는 파괴후보 선택부와, 파괴후보로서 선택된 명령에서 정의되는 정의자원이 단수라면 정의자원에 대응하는 자원플래그가 미사용을 나타내는 오프로 설정되어 있는지를 판정하고, 정의되는 자원이 복수라면 그들 정의자원에 대응하는 자원플래그가 모두 오프에 설정되어 있는 지를 판정하는 정의자원 검출부와, 검출된 모든 정의자원에 대응하는 자원플래그가 오프라면 그 파괴후보로서 선택된 명령을 비파괴 명령으로 변경하는 제1제어부와, 몇 개의 자원에 대응하는 자원플래그가 온에 설정되어 있는 경우, 그들 자원을 정의하고 있는 친명령을 모두 검출하는 제2친명령 검출부와, 제2친명령부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 다시 몇 개의 자명령에서 참조되어 있다면 그들 자명령을 모두 검출하는 제2자명령 검출부와, 파괴후보와는 다른 자명령이 제2자명령이 제2자명령 검출부에 의하여 검출되면 그들의 자명령은 모두 절단완료인지를 판정하는 제2절단완료 명령판정부와, 모든 정의장원에 대하여 제2자명령 검출부에 의하여 파괴후보 이외의 자명령이 검출되지 않은 경우, 혹은 파괴후보와는 다른 자명령이 검출되었지만, 그들은 제2절단완료 명령판정부에 의하여 모두 절단완료라고 판정된 경우, 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제2제외부와, 파괴후보로서 선택되고 비파괴명령으로 변경되지 않은 명령을 파괴명령으로서 절단금지수단에 출력하는 출력부를 더울 포함하는 것을 특징으로 하는 최적화장치.
  23. 제22항에 있어서, 상기 시퀀싱수단은, 하나의 프로그램 부분에 대하여 파괴명령 검출수단이 파괴명령만을 검출한 경우, 그 유향 비주기 그래프를 명령격납수단의 최후미에 격납된 명령이 절단되기 전의 상태까지 복원하는 제1복원수단과, 이전 그 명령이 절단됨으로써 값이 변경을 받은 자원에 대응하는 자원 플래그를 해당명령이 절단되기 전의 상태로 복원하는 제2복원수단과, 명령이 유향 비주기 그래프로 되돌아가면 복귀된 명령에 이어서 높은 우선도가 부여된 유향 비주기 그래프의 선두명령을 대상으로 하여 지시하는 명령지시수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  24. 파이프라인처리의 해저드를 해소하기 위해 프로그램중의 분기를 포함하지 않는 프로그램 부분의 명령을 시퀀싱하는 최적화장치로서, 상기 프로그램중의 분기를 포함하지 않는 프로그램 부분에 대하여 복수의 유향 비주기 그래프를 생성하는 유향 비주기 그래프 생성수단과, 상기 유향 비주기 그래프는 자원에 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 명령을 자로 한 친자관계의 계보를 나타내며, 각 유향 비주기 그래프에서, 해저드가 존재하는 친자간에 마크를 설정하는 마크설정수단과, 유향 비주기 그래프의 선두명령중 자손에 해저드를 포함하는 명령에 의하여 높은 우선도를 부여하고, 자손에 해저드를 포함하지 않는 명령에 의하여 낮은 우선도를 부여하는 우선도 부여수단과, 상기 자손의 명령이란 유향 비주기 그래프를 친으로부터 자의 단방향으로 선두명령으로부터 정의 - 찬보의 직접적 또는 간접적인 친자관계를 살필 수 있는 모든 명령이며, 유향 비주기 그래프의 선두명령중 대상이 되는 명령이 지시되면 지시된 명령을 유향 비주기 그래프로부터 절단하는 절단수단과, 절단된 명령을 절단된 순위에 따라 직렬로 격납하는 명령격납수단과, 나중에 값이 참조되는 자원을 파괴하는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 파괴명령 검출수단과, 친의 명령이 명령격납수단의 열의 최후미에 존재하는 명령이며, 그 친과의 사이에 마크가 설정되어 있는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 마크부착 명령검출수단과, 파괴명령 검출수단에 의하여 어떤 명령이 검출된 경우, 해당명령을 선두에 두는 유향비선회 그래프에서 미사용인 자원을 선별하는 제1차환후보 선별수단과, 선별된 자원을 종별을 식별하는 식별수단과, 파괴명령 검출수단에 의하여 검출된 명령 및 그 명령으로 정의된 자원에 관하여 테이크 플로우를 가지는 모든 명령을 해독하는 해독수단과, 식별수단의 식별결과와 해독수단의 해독결과를 조합시켜보아 그 조합을 프로세서의 명령 세트와 조합함으로써 식별에 남은 자원으로부터 치환후보를 다시 선별하는 제2치환후보 선별수단과, 사용중인 자원의 값을 정의하고 있다고 파괴명령 검출수단에 의하여 검출된 명령에서 값이 정의되는 자원과, 그 명령을 포함하는 유향 비주기 그래프의 해당 자원에 관한 데이타 플로우를 가지는 명령으로 사용되고 있는 자원을 판정된 치환후보로 고치는 고침수단과, 마크부착 명령검출수단에 의하여 검출된 명령 및 파괴명령 검출수단에 의하여 검출된 명령 중 고침수단에 의하여 자원이 고쳐지지 않은 이외의 것의 절단을 금지하는 절단금지수단과, 절단이 금지된 선두명령 중, 우선도가 가장 높은 그래프를 대상으로 하여 지시하는 명령지지수단과, 절단수단에 의하여 명령이 절단되면 절단된 나머지 명령열을 새로운 유향 비주기 그래프로하여 우선도 부여수단, 파괴명령 검출수단, 마크부착 명령검출수단, 절단금지수단, 명령지시수단을 차례로 기동하는 기동수단을 포함하는 것을 특징으로 하는 최적화장치.
  25. 제24항에 있어서, 상기 최적화장치는, 각각의 자원에 대응하는 자원 플래그를 기억하고, 사용 중으로 되어 있는 자원에 대응하는 자원 플래그는 온으로 설정되고, 미사용으로 되어 있는 자원에 대응하는 자원 플래그는 오프로 설정되어 있으며 대상으로 되어 있는 프로그램부분의 입구에서는 선행하는 프로그램 부분의 출구의 상태를 반영하는 자원 플래그 기억수단과, 명령격납수단에 명령이 격납될 때마다 그 명령으로 값이 정의되는 자원에 대응하는 자원 플래그를 온으로 반전시키고 자원의 값이 참조되는 것이 명령격납수단에 격납된 명령에서 최후가 되는 자원에 대응하는 자원 플래그를 오프로 반전시키는 갱신수단과, 온으로 되어 있는 자원 플래그를 참조하고, 그 자원플래그에 대응하는 자원의 값을 파괴할 것인지를 판정함으로써 명령을 검출하는 파괴명령 검출수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  26. 제25항에 있어서, 대상이 되는 프로그램 부분에서, 하나의 명령으로 정의된 자원이 값이 후속하는 복수개의 명령에 의하여 값이 참조되는 경우, 유향 비주기 플래그는 그 자원의 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 복수의 명령을 자로 한 1대다의 친자관계를 나타내고, 대상이 되는 프로그램 부분에서, 선행하는 복수개의 명령으로 정의된 값을 하나의 명령에서 참조하는 경우, 유향 비주기 그래프는 그 자원의 값을 참조하는 명령을 자로하고, 그 자원의 값을 정의하는 복수의 명령을 친으로 한 다 대1의 친자관계를 나타내고, 상기 갱신수단은, 절단수단에 의하여 명령이 절단되면 절단된 명령으로 정의되는 자원의 값이 이후에 참조되는 지를 판정하는 참보유무 판정부와, 이후에 참조된다고 판정된 경우, 그 정의자원에 대응하는 자원플래그를 오프로부터 온으로 반전시키는데 제1반전부와, 절단수단에 의하여 절단된 명령에서 참조되어 있는 자원이 단수라면 그 자원에 대한 친명령을 검출하고, 참조되어 있는 자원이 복수라면 각각의 자원을 정의하고 있는 친명령을 검출하는 제1친명령 검출부와, 제1친명령 검출부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 몇 개의 자명령으로 다시 참조되고 있다면 그들의 자명령을 모두 검출하는, 검출된 자명령은 복수, 단수의 2가지가 있는 제1자명령 검출부와, 절단수단에 의하여 절단된 명령과는 다른 자명령 검출부에 의하여 검출되면 그들의 자명령이 모두 절단완료되었는지를 판정하는 제1절단완료 명령판정부와, 절단된 명령 이외의 자명령이 검출되지 않은 경우, 혹은 절단된 명령과는 다른 자명령이 검출되었지만, 그들은 제1절단완료 명령판정부에 의하여 절단완료라고 판정된 경우 절단된 명령에 의하여 값이 참조되는 자원에 대응하는 자원 플래그를 온으로부터 오프로 반전시키는 제2반전부를 더울 포함하는 것을 특징으로 하는 최적화장치.
  27. 제26항에 있어서, 상기 파괴명령 검출수단은, 각 유향 비주기 그래프의 선두에 있는 각각의 명령을 파괴후보로서 선택하는 파괴후보 선택부와, 파괴후보로서 선택된 명령으로 정의되는 정의자원이 단수라면 정의자원에 대응하는 자원플래그가 미사용을 나타내는 오프로 설정되어 있는 지를 판정하고, 정의되는 자원이 복수라면 그들 정의자원에 대응하는 자원플래그가 모든 오프에 설정되어 있는 지를 판정하는 정의자원 검출부와, 검출된 모든 정의자원에 대응하는 자원플래그가 오프라면 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제1제외부와, 몇개의 자원에 대응하는 자원플래그가 온에 설정되어 있는 경우, 그들 자원을 정의하고 있는 친명령을 모두 검출하는 제2친명령 검출부와, 제2친명령부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 다시 몇가지 자명령에서 참조되어 있다면 그들 자명령을 모두 검출하는 제2차명령 검출부와, 파괴후보와는 다른 자명령이 제2자명령검출부에 의하여 검출되면 그들의 자명령은 모두 절단완료인지를 판정하는 저2절단완료 명령 판정부와, 모든 정의자원에 대하여 제2자명령 검출부에 의하여 파괴후보 이외의 자명령이 검출되지 않은 경우, 혹은 파괴후보와는 다른 자명령이 검출되었지만, 그들을 제2절단완료 명령판정부에 의하여 모두 절단완료라고 판정된 경우, 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제2제외부와, 파괴후보로서 선택되고 또 비파괴 명령으로 변경되지 않은 명령을 파괴명령으로서 절단금지수단에 출력하는 출력부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  28. 제27항에 있어서, 상기 시퀀싱수단은, 하나의 프로그램 부분에 대하여 파괴명령 검출수단이 파괴명령만을 검출한 경우, 그 유향 비주기 그래프를 명령격납수단의 최후미에 격납된 명령이 절단되기 전의 상태까지 복원하는 제1복원수단과, 이전 그 명령이 절단됨으로써 값이 변경을 받은 자원에 대응하는 자원플래그를 해당 명령이 절단되기 전의 상태로 복원하는 제2복원수단과, 명령이 유향 비주기 그래프로 되돌려지면 복귀된 명령에 이어서 높은 우선도가 부여된 유향 비주기 그래프의 선두명령을 대상으로 하여 지시하는 명령지시수단을 더울 포함하는 것을 특징으로 하는 최적화장치.
  29. 로드명령에 의하여 값이 정의되는 자원이 그 직후의 명령에서 ALU 연산 혹은 어드레스 연산의 오퍼랜드로서 참조되기 때문에 파이프라인처리의 지연을 프로그램내의 명령을 시퀀싱함으로써 대처하는 최적화장치로서, 상기 프로그램중의 분기를 포함하지 않는 프로그램 부분에 대하여 자원에 값을 정의하는 명령을 친으로 하고, 그 자원의 값을 참조하는 자로 한 명령끼리의 친자관계의 계보를 나타내는 유향 비주기 그래프를 복수개 생성하는 유향 비주기 그래프생성수단과, 친의 명령에 의하여 값이 정의되는 자원이 자의 명령에서 ALU 연산 혹은 어드레스 연산의 오퍼랜드로서 참조되어 있는 배열을 각 유향 비주기 그래프로부터 검출하고, 각 유향 비주기 그래프의 그 배열의 친자간에 마크를 설정하는 해저드 정보설정수단과, 상기 프로그램 부분의 명령을 시퀀싱하며 이 시퀀싱은 유향 비주기 그래프중의 마크된 명령간에 다른 유향 비주기 그래프의 명령으로서 그 명령간에서 사용되고 있는 자원의 값을 파괴하지 않는 다른 유향 비주기 그래프의 명령을 삽입함으로써 실행되는 시퀀싱수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  30. 제29항에 있어서, 상기 최적화장치는, 유향 비주기 그래프의 선두명령중 자손에 해저드를 포함하는 명령에 의하여 높은 우선도를 부여하고, 자손에 해저드를 포함하지 않는 명령에 의하여 낮은 우선도를 부여하는 우선도 부여수단과, 상기 자손의 명령이란 유향 비주기 그래프내를 친으로부터 자의 단방향으로 선두명령으로부터 정의 - 참조의 직접적 또는 간접적인 친자관계를 살필 수 있는 모든 명령이고 시퀀싱수단은, 유향 비주기 그래프의 선두명령중 대상이 되는 명령이 지시되면 지시된 명령을 유향 비주기 그래프로부터 절단하는 절단수단과, 절단된 명령을 절단된 순위에 따라 직렬로 격납하는 명령격납수단과, 나중에 참조되는 자원의 값을 파괴하는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 파괴명령 검출수단과, 친의 명령이 명령격납수단의 열의 최후미에 존재하는 명령이며, 또 그 친과의 사이에 마크가 설정되어 있는 명령을 각 유향 비주기 그래프의 선두로부터 검출하는 마크부착 명령검출수단과, 파괴명령 검출수단에 의하여 검출된 명령 및 마크부착 명령검출수단에 의하여 검출된 명령이 절단을 금지하는 절단금지수단과, 절단금지수단에 의하여 절단이 금지된 명령 이외의 선두명령으로서, 부여된 우선도가 가장 높은 명령을 대상으로 하여 지시하는 명령지시수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  31. 제30항에 있어서, 상기 최적화장치는, 각각의 자원에 대응하는 자원 플래그를 기억하며, 사용중으로 되어 있는 자원에 대응하는 자원 플래그는 온으로 설정되고, 미사용으로 되어 있는 자원에 대응하는 자원 플래그는 오프로 설정되어 있고, 대상으로 되어 있는 프로그램부분의 입구에서는 선행하는 프로그램 부분의 출구의 상태를 반형하는 자원 플래그 기억수단과, 명령격납수단에 명령이 격납될 때마다 그 명령으로 값이 정의되는 자원에 대응하는 자원 플래그를 온으로 반전시키고 자원의 값이 참조되는 것이 명령격납수단에 격납된 명령에서 최후가 되는 자원에 대응하는 자원 플래그를 오프로 반전시키는 갱신수단과, 온으로 되어 있는 자원 플래그를 참조하고, 그 자원플래그에 대응하는 자원의 값을 파괴할 것인지를 판정함으로써 명령을 검출하는 파이프라인 검출수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
  32. 제31항에 있어서, 대상이 되는 프로그램 부분에서, 하나의 명령으로 정의된 자원의 값이 후속하는 복수개의 명령에 의하여 값이 참조되는 경우, 유향 비주기 그래프는 그 자원의 값을 정의하는 명령을 친으로 하고, 그 자원의 참조하는 복수의 명령을 자로 한 1대 다의 친자관계를 나타내고, 대상이 되는 프로그램 부분에서, 선행하는 복수개의 명령으로 정의된 값을 하나의 명령에서 참조하는 경우, 유향 비주기 그래프는 그 자원의 값을 참조하는 명령을 자로하고, 그 자원의 값을 정의하는 복수의 명령을 친으로 한 다 대1의 친자관계를 나타내고, 상기 갱신수단은, 절단수단에 의하여 명령이 절단되면 절단된 명령으로 정의되는 자원의 값이 이후에 참조되었는지를 판정하는 참조유무 판정부와, 이후에 참조된다고 판정된 경우, 그 정의자원에 대응하는 자원플래그를 오프로부터 온으로 반전시키는 제1반전부와, 절단수단에 의하여 절단된 명령으로 참조되어 있는 자원이 단수라면 그 자원에 대한 친명령을 검출하고, 참조되어 있는 자원이 복수라면 각각의 자원을 정의하고 있는 친명령을 검출하는 제1친명령 검출부와, 제1친명령 검출부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 몇 개의 자명령에서 다시 참조되고 있다면 그들의 자명령을 모두 검출하는 검출된 자명령은 복수, 단수의 2가지가 있는 제1자명령 검출부와, 절단수단에 의하여 절단된 명령과는 다른 자명령 검출부에 의하여 검출되면 그들의 자명령의 모두 절단완료 되었는지를 판정하는 제1절단완료 명령판정부와, 절단된 명령 이외의 자명령이 검출도지 않은 경우, 혹은 절단된 명령과는 다른 자명령이 검출되었지만, 그들은 제1절단완료 명령판정부에 의하여 절단완료라고 판정된 경우, 절단된 명령에 의하여 값이 참조되는 자원에 대응하는 자원 플래그를 온으로부터 오프로 반전시키는 제2반전부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  33. 제32항에 있어서, 상기 파괴명령 검출수단은, 각 유향 비주기 그래프의 선두에 있는 각각의 명령을 파괴후보로서 선택하는 파괴후보 선택부와, 파괴후보로서 선택된 명령으로 정의되는 정의자원이 단수라면 정의자원에 대응하는 자원플래그가 미사용을 나타내는 오프로 설정되어 있는지를 판정하고, 정의되는 자원이 복수라면 그들 정의자원에 대응하는 자원플래그가 모든 오프에 설정되어 있는 지를 판정하는 정의자원 검출부와, 검출된 모든 정의자원에 대응하는 자원플래그가 오프라면 그 파괴후보로서 선택된 명령을 비파괴명령으로 변경하는 제1제외부와, 몇개의 자원에 대응하는 자원플래그가 온에 설정되어 있는 경우, 그들 자원을 정의하고 있는 친명령을 모두 검출하는 제1친명령 검출부와, 제2친명령부에 의하여 검출된 각각의 친명령으로 정의되어 있는 자원이 다시 몇 개의 자명령에서 참조되어 있다면 그들 자명령을 모두 검출하는 제2자명령 검출부와, 파괴후보와는 다른 자명령이 제2자명령 검출부에 의하여 검출되면 그들의 자명령은 모두 절단완료인지를 판정하는 제2절단완료 명령판정부와, 모든 정의자원에 대하여 제2자명령검출부에 의하여 파괴후보 이외의 자명령이 검출되지 않은 경우, 혹은 파괴후보와는 다른 자명령이 검출되었지만, 그들은 제2절단완료 명령판정부에 의하여 모두 절단완료라고 판정된 경우, 그 파괴후보로서 선택된 명령을 비파괴 명령으로 변경하는 제2제외부와, 파괴후보로서 선택되고 또 비파괴 명령으로 변경되지 않은 명령을 파괴명령으로서 절단금지수단에 출력하는 출력부를 더욱 포함하는 것을 특징으로 하는 최적화장치.
  34. 제33항에서, 상기 시퀀싱수단은, 하나의 프로그램 부분에 대하여 파괴명령 검출수단이 파괴명령만을 검출한 경우, 그 유향 비주기 그래프를 명령격납수단의 최후미에 격납된 명령이 절단되기 전의 상태까지 복원하는 제1복원수단과, 이전 그 명령이 절단됨으로써 값이 변경을 받은 자원에 대응하는 자원플래그를 해당 명령이 절단되기 전의 상태로 복원하는 제2복원수단과, 명령어 유향 비주기 그래프로 되돌려지면 복귀된 명령에 이어서 높은 우선도가 부여된 유향 비주기 그래프의 선두명령을 대상으로 하여 지시하는 명령지시수단을 더욱 포함하는 것을 특징으로 하는 최적화장치.
KR1019960013068A 1995-04-27 1996-04-26 명령의 시퀀싱에 의하여 헤저드의 해소를 도모하는 최적화장치 KR100238330B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP95-104300 1995-04-27
JP07104300A JP3113792B2 (ja) 1995-04-27 1995-04-27 最適化装置

Publications (2)

Publication Number Publication Date
KR960038647A true KR960038647A (ko) 1996-11-21
KR100238330B1 KR100238330B1 (ko) 2000-01-15

Family

ID=14377080

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960013068A KR100238330B1 (ko) 1995-04-27 1996-04-26 명령의 시퀀싱에 의하여 헤저드의 해소를 도모하는 최적화장치

Country Status (7)

Country Link
US (1) US5850552A (ko)
EP (1) EP0740251B1 (ko)
JP (1) JP3113792B2 (ko)
KR (1) KR100238330B1 (ko)
CN (1) CN1160627C (ko)
DE (1) DE69622219T2 (ko)
TW (1) TW352424B (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE37093E1 (en) 1991-06-03 2001-03-13 Ricoh Company, Ltd. Optical disk drive unit with a sealing type bearing member
US6044221A (en) * 1997-05-09 2000-03-28 Intel Corporation Optimizing code based on resource sensitive hoisting and sinking
US5978588A (en) * 1997-06-30 1999-11-02 Sun Microsystems, Inc. Method and apparatus for profile-based code placement using a minimum cut set of the control flow graph
JP3220055B2 (ja) * 1997-07-17 2001-10-22 松下電器産業株式会社 機械語命令列またはアセンブリ言語命令列を最適化する最適化装置、及び、高級言語で記載されたソースプログラムを機械語またはアセンブリ言語の命令列に変換するコンパイラ装置。
EP1645956A3 (en) * 1997-08-29 2008-02-13 Matsushita Electric Industrial Co., Ltd. Instruction conversion apparatus for reducing the number of types of instructions
US6189141B1 (en) * 1998-05-04 2001-02-13 Hewlett-Packard Company Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control
US6158049A (en) * 1998-08-11 2000-12-05 Compaq Computer Corporation User transparent mechanism for profile feedback optimization
US6145125A (en) * 1998-11-12 2000-11-07 International Business Machines Corporation Method and storage medium for building very large executable programs
US7058647B1 (en) 1999-08-31 2006-06-06 Charles E. Hill & Associates Electronic presentation generation system and method
US6681387B1 (en) 1999-12-01 2004-01-20 Board Of Trustees Of The University Of Illinois Method and apparatus for instruction execution hot spot detection and monitoring in a data processing unit
KR100304527B1 (ko) * 2000-01-10 2001-11-03 이동욱, 이정호 현금카드를 통한 실시간 현금 결제 처리 방법
US7433881B1 (en) 2000-08-31 2008-10-07 Charles E. Hill & Associates, Inc. System and method for handling multi-resolution graphics files
US6675376B2 (en) * 2000-12-29 2004-01-06 Intel Corporation System and method for fusing instructions
US7185327B2 (en) * 2001-01-09 2007-02-27 Hewlett-Packard Development Company, L.P. System and method for optimizing operations via dataflow analysis
JP2002304823A (ja) * 2001-04-10 2002-10-18 Fujitsu Ltd リオーダリングコントローラ、リオーダリング方法及び記憶装置
US7000095B2 (en) * 2002-09-06 2006-02-14 Mips Technologies, Inc. Method and apparatus for clearing hazards using jump instructions
US7448030B2 (en) * 2004-03-18 2008-11-04 Intel Corporation Optimized ordering of firmware modules in pre-boot environment
US7506331B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for determining the profitability of expanding unpipelined instructions
US7934079B2 (en) * 2005-01-13 2011-04-26 Nxp B.V. Processor and its instruction issue method
US7908163B2 (en) * 2005-07-15 2011-03-15 The Board Of Trustees Of The University Of Alabama Method and system for parallel scheduling of complex dags under uncertainty
US7330962B2 (en) * 2005-11-14 2008-02-12 Nvidia Corporation Dynamic instruction sequence selection during scheduling
US8539467B2 (en) * 2006-07-27 2013-09-17 International Business Machines Corporation Method and data processing system for solving resource conflicts in assembler programs
TWI334571B (en) * 2007-02-16 2010-12-11 Via Tech Inc Program instruction rearrangement methods
US8612944B2 (en) * 2008-04-17 2013-12-17 Qualcomm Incorporated Code evaluation for in-order processing
US9690591B2 (en) * 2008-10-30 2017-06-27 Intel Corporation System and method for fusing instructions queued during a time window defined by a delay counter
JP5140105B2 (ja) * 2010-03-23 2013-02-06 Necシステムテクノロジー株式会社 命令スケジューリング装置、命令スケジューリング方法および命令スケジューリングプログラム
CN106959957B (zh) * 2016-01-11 2020-07-07 阿里巴巴集团控股有限公司 一种有向无环图dag连线提示方法及装置
JP6325625B2 (ja) * 2016-10-14 2018-05-16 ファナック株式会社 プログラム最適化システム
CN110221838B (zh) * 2019-05-28 2020-10-27 中国科学院高能物理研究所 一种基于遗传算法和有向无环图进行程序自动设计优化的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161216A (en) * 1989-03-08 1992-11-03 Wisconsin Alumni Research Foundation Interprocedural slicing of computer programs using dependence graphs
JPH03135630A (ja) * 1989-10-20 1991-06-10 Nec Corp 命令スケジューリング方式
US5119495A (en) * 1989-12-21 1992-06-02 Bull Hn Information Systems Inc. Minimizing hardware pipeline breaks using software scheduling techniques during compilation
US5107418A (en) * 1990-06-11 1992-04-21 Supercomputer Systems Limited Partnership Method for representing scalar data dependences for an optimizing compiler
US5202993A (en) * 1991-02-27 1993-04-13 Sun Microsystems, Inc. Method and apparatus for cost-based heuristic instruction scheduling
US5448737A (en) * 1992-03-17 1995-09-05 International Business Machines Corporation System and method for optimizing computer code using a compact data flow representation

Also Published As

Publication number Publication date
EP0740251A2 (en) 1996-10-30
EP0740251A3 (en) 1997-06-11
TW352424B (en) 1999-02-11
JP3113792B2 (ja) 2000-12-04
EP0740251B1 (en) 2002-07-10
CN1146577A (zh) 1997-04-02
KR100238330B1 (ko) 2000-01-15
US5850552A (en) 1998-12-15
DE69622219T2 (de) 2002-10-31
CN1160627C (zh) 2004-08-04
JPH08305577A (ja) 1996-11-22
DE69622219D1 (de) 2002-08-14

Similar Documents

Publication Publication Date Title
KR960038647A (ko) 명령의 시퀀싱에 의하여 해저드의 해소를 도모하는 최적화장치
US5375239A (en) Use of build status indicators in connection with building of complex computer programs from source code parts
US5748959A (en) Method of conducting asynchronous distributed collective operations
JP4709469B2 (ja) スレッドを明示的に中断することなく整合状態とする方法及び装置
US7844971B2 (en) Method and apparatus for detecting cross-thread stack access in multithreaded programs
CN107729240B (zh) 嵌入式软件堆栈溢出检测方法和装置
US20050004786A1 (en) State machine modelling
US20080109827A1 (en) Method and Apparatus for Allowing Restarted Programs to Use Old Process Identifications and Thread Identifications
US20070101327A1 (en) Method and system for providing a potential deadlock source code debugger warning
KR920010475A (ko) 병렬처리 장치 및 그의 병렬처리 방법
US20040230975A1 (en) Apparatus and method for synchronizing multiple threads in an out-of-order microprocessor
CN105550575A (zh) 一种未导出的函数地址和数据结构偏移的获取方法及装置
JP2010102454A (ja) 情報処理装置、情報処理プログラム
CN111290895A (zh) 一种服务器io性能测试方法、装置、设备、介质
JP4594889B2 (ja) 複数の処理装置を備えたシステム上で実行されるプログラムのトレース方法、および、複数の処理装置を備えたシステム
KR102185294B1 (ko) 병렬 프로그램의 소스 코드 분석 장치 및 방법, 기록매체
JPH05242051A (ja) タスクスケジューリング方式
JP3863902B2 (ja) 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体
JP4937200B2 (ja) イメージ検査装置、os装置及びイメージ検査方法
JP2006172003A (ja) プログラム実行監視装置、プログラム実行監視方法及びプログラム作成方法
JP2006293582A (ja) ジョブ自動リランシステム
US7281166B1 (en) User-customizable input error handling
JP3085309B2 (ja) デバッグシステム
JP2008234058A (ja) 退避データ判別方法、退避データ判別プログラムおよび退避データ判別装置
JP2002073347A (ja) 例外処理方法及びコンパイラ

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: 20091009

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee