KR101118593B1 - Vliw 명령어 처리 장치 및 방법 - Google Patents

Vliw 명령어 처리 장치 및 방법 Download PDF

Info

Publication number
KR101118593B1
KR101118593B1 KR1020090027975A KR20090027975A KR101118593B1 KR 101118593 B1 KR101118593 B1 KR 101118593B1 KR 1020090027975 A KR1020090027975 A KR 1020090027975A KR 20090027975 A KR20090027975 A KR 20090027975A KR 101118593 B1 KR101118593 B1 KR 101118593B1
Authority
KR
South Korea
Prior art keywords
instruction
command
vliw
selection condition
selection
Prior art date
Application number
KR1020090027975A
Other languages
English (en)
Other versions
KR20100063615A (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 KR20100063615A publication Critical patent/KR20100063615A/ko
Application granted granted Critical
Publication of KR101118593B1 publication Critical patent/KR101118593B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Abstract

본 발명은 VLIW 명령어 처리 장치 및 방법에 관한 것으로, 이전 주기에서 생성된 명령어 선택 조건에 따라 VLIW(Very Long Instruction Word) 명령어에 포함된 적어도 하나의 명령어 중 하나를 선택하는 명령어 선택부; 및 상기 명령어 선택부를 통해 선택된 명령어를 처리하여, 명령어 처리 결과값과 새로운 명령어 선택 조건을 생성하는 선택 명령어 실행부를 포함하여 구성되며, 이에 의하여 조건 분기 명령어의 처리 효율을 증대시키고 VLIW 아키텍쳐의 하드웨어 크기는 감소시켜 줄 수 있도록 한다.
VLIW, VLIW 아키텍쳐, 조건 분기 명령어, 조건 분기, 선택적 명령어

Description

VLIW 명령어 처리 장치 및 방법{Apparatus and method for processing VLIW instruction}
본 발명은 VLIW(Very Long Instruction Word) 명령어 처리 장치에 관한 것으로, 특히 조건 분기 명령어의 처리 효율은 증대되고 하드웨어 크기는 감소되도록 하는 VLIW 명령어 처리 장치 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-026-02, 과제명: MPcore 플랫폼 기반 다중 포맷 멀티미디어 SoC].
VLIW 아키텍쳐는 기존의 CISC(Complex Instruction Set Computer)의 수평 마이크로 코드 프로세서의 개념을 확장 발전시킨 기법으로, 다수개의 중복된 기능장치들의 동작이 하나의 긴 명령어의 고정된 필드에 기술되어 병렬 처리되도록 하는 아키텍쳐이다.
이상적인 VLIW 아키텍처는 한 주기(cycle) 당 서로 독립적인 다수개의 명령어의 병렬처리를 위하여 광역 레지스터 파일에 연결된 다수개의 기능장치(예를 들어, ALU)로 구성된다. 광역 레지스터 파일에 연결된 기능 장치는 명령 필드에 독립 된 세트에 의해 동작이 제어된다.
VLIW 아키텍처에서는 하나의 긴 VLIW 명령어가 입력되면, VLIW 명령어내 다수개의 명령어가 다수개의 기능장치를 이용하여 병렬 처리되며, 각 명령 간에는 파이프라인 처리된다.
특히, 조건 분기 명령어가 입력되는 경우, 종래의 VLIW 아키텍처에서는 조건 분기 명령어의 처리 결과에 상관없이 VLIW 명령어내에 포함된 다수개의 명령어들을 무조건 수행되도록 한 후, 차후에 조건 분기 명령어의 처리 결과에 따라 하나의 결과값을 라이트-백(write-back) 해주도록 한다.
도1은 조건 분기 명령어에 따른 VLIW 명령어 처리 조건을 도시한 도면이다.
도1에서 C로 명명된 명령어는 'if'와 같은 조건 분기 명령어이고, I로 명명된 명령어는 덧셈, 뺄셈, 곱셈, 나누기, 로그 등과 같은 일반 연산동작을 수행하기 위한 일반 명령어이다.
계속하여 도1을 참조하면, VLIW 명령어에 조건 분기 명령어가 포함되면, 조건 분기 명령어의 처리 결과에 따라 VLIW 명령어의 처리 경로가 상이해짐을 알 수 있다.
그러나, 종래에 기술에서는 앞서 설명한 바와 같이 VLIW 명령어내에 포함된 모든 명령어들을 처리한 후, 차후에 조건 분기 명령어의 처리 결과에 따라 하나의 결과값을 선택하도록 한다. 그 결과 파이프 라인이 스톨(stall)이 발생하여 처리 효율이 저하되는 문제가 발생한다.
또한, 종래의 기술에 따른 VLIW 아키텍처는 VLIW 명령어내에 포함된 모든 명 령어를 동시에 처리할 수 있는 기능 장치를 구비해야 하므로, 하드웨어 크기도 불필요하게 증대되는 문제를 가진다.
이에 본 발명에서는 조건 분기 명령어의 처리 효율을 증대시키고 VLIW 아키텍쳐의 하드웨어 크기는 감소시켜 줄 수 있도록 하는 VLIW 명령어 처리 장치 및 방법에 관한 것이다.
본 발명의 제1측면에 따르면 상기와 같은 문제점을 해결하기 위한 수단으로서, 이전 주기에서 생성된 명령어 선택 조건에 따라 VLIW(Very Long Instruction Word) 명령어에 포함된 적어도 하나의 명령어 중 하나를 선택하는 명령어 선택부; 및 상기 명령어 선택부를 통해 선택된 명령어를 처리하여, 명령어 처리 결과값과 새로운 명령어 선택 조건을 생성하는 선택 명령어 실행부를 포함하는 VLIW 명령어 처리 장치를 제공한다.
상기 VLIW 명령어는 상기 VLIW 명령어내에 포함될 수 있는 명령어 개수에 대한 비트정보가 설정되는 플래그 필드와 상기 적어도 하나의 명령어가 저장되는 다수개의 명령어 필드로 구성되며, 상기 다수개의 명령어 필드 개수는 상기 비트정보의 값에 따라 일정하게 고정되는 것을 특징으로 한다.
상기 명령어 선택부는 상기 플래그 필드에 저장된 비트 정보에 따라 상기 VLIW 명령어에 포함된 명령어 개수를 확인한 후, 상기 명령어 선택 조건에 응답하여 상기 VLIW 명령어에 포함된 명령어 중 하나를 선택하기 위한 제어 신호를 생성하는 선택제어부; 및 상기 제어 신호에 응답하여 상기 VLIW 명령어에 포함된 명령 어 중 하나를 선택하는 선택부를 포함한다.
상기 선택 명령어 실행부는 상기 명령어 선택부를 통해 선택된 명령어를 처리하여, 명령어 처리 결과값을 생성하는 명령어 실행부; 및 상기 명령어 처리 결과값에 따라 상기 새로운 명령어 선택 조건을 생성하는 명령 선택 조건 생성부를 포함하는 것을 특징으로 한다.
상기 명령 선택 조건 생성부는 상기 명령어 선택부를 통해 선택된 명령어가 조건 분기 명령어인 경우에는, 상기 명령어 처리 결과값에 상응하는 비트 정보를 가지는 상기 새로운 명령어 선택 조건을 생성하고, 일반 명령어인 경우에는 상기 이전 주기에서 생성된 명령어 선택 조건을 상기 새로운 명령어 선택 조건으로 출력하는 것을 특징으로 한다.
본 발명의 제2측면에 따르면 상기와 같은 문제점을 해결하기 위한 수단으로서, 조건 분기 명령어가 입력되면, 상기 조건 분기 명령어의 처리 결과를 반영하는 명령어 선택 조건을 생성하는 단계; 다음 주기가 되어 다수개의 명령어를 포함하는 VLIW(Very Long Instruction Word) 명령어가 입력되면, 상기 명령어 선택 조건에 따라 상기 다수개의 명령어 중 하나의 명령어만 선택하는 단계; 및 상기 선택된 명령어만을 처리하는 단계를 포함하는 VLIW 명령어 처리 방법을 제공한다.
상기 VLIW 명령어는 상기 VLIW 명령어내에 포함될 수 있는 명령어 개수에 대한 비트정보가 설정되는 플래그 필드와 상기 적어도 하나의 명령어가 저장되는 다수개의 명령어 필드로 구성되며, 상기 다수개의 명령어 필드 개수는 상기 비트정보의 값에 따라 일정하게 고정되는 것을 특징으로 한다.
상기 하나의 명령어만 선택하는 단계는 상기 플래그 필드에 저장된 비트 정보에 따라 상기 VLIW 명령어에 포함된 명령어 개수를 확인한 후, 상기 명령어 선택 조건에 응답하여 상기 VLIW 명령어에 포함된 명령어 중 하나를 선택하는 것을 특징으로 한다.
또한, 상기 VLIW 명령어 처리 방법은 상기 선택된 명령어의 처리 결과에 따라 새로운 명령어 선택 조건을 생성하는 단계를 더 구비할 수 있으며, 상기 새로운 명령어 선택 조건을 생성하는 단계는 상기 선택된 명령어가 조건 분기 명령어이면, 상기 선택된 명령어만을 처리에 상응하는 정보를 가지도록 상기 새로운 명령어 선택 조건을 생성하고, 상기 선택된 명령어가 일반 명령어이면, 상기 명령어 선택 조건 그대로를 상기 새로운 명령어 선택 조건으로 출력하는 것을 특징으로 한다.
이와 같이 본 발명의 VLIW 명령어 처리 장치 및 방법은 조건 분기 명령어의 처리 결과에 따라 VLIW 명령어내에 포함된 다수개의 명령어 중 하나만을 선택하고 처리되도록 한다. 따라서 VLIW 명령어 처리 장치 및 방법에서는 VLIW 명령어내에 포함된 다수개의 명령어를 동시에 처리할 필요가 없어, VLIW 아키텍쳐의 처리 효율은 증대되도록 하는 반면 하드웨어 크기를 감소되도록 한다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있 어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도2 은 본 발명의 일 실시예에 따른 VLIW 명령어 처리 장치의 구성도를 도시한 도면이다.
도2에 도시된 바와 같이, 본 발명의 VLIW 명령어 처리 장치는 명령어 선택부(10)와 선택 명령어 실행부(20)를 포함하여 구성된다.
명령어 선택부(10)는 이전 주기에 수행된 명령어 처리 동작에 의해 획득된 명령어 선택 조건(sbit-i)를 제공받고, 이에 응답하여 VLIW 명령어(VLIW)내에 포함된 다수개의 명령어 중 하나만을 선택한다.
선택 명령어 실행부(20)는 명령어 선택부(10)를 통해 선택된 명령어를 처리하여 명령어 처리 결과값(result-j)와 다음 주기의 명령어 선택 조건(sbit-j)을 생성한다.
즉, 본 발명의 VLIW 명령어 처리 장치는 이전 주기에 수행되어진 명령어 처 리 결과에 따라 현재 주기에 입력된 다수개의 명령어들 중 하나만을 선택하고 처리하도록 한다.
본 발명에서는 VLIW 명령어 처리 동작이 원활히 수행될 수 있도록 VLIW 명령어 구조를 도3에서와 같이 변경해준다.
도3은 본 발명의 일실예에 따른 VLIW 명령어 구조를 도시한 도면이다.
도3를 계속하여 참조하면, 본 발명의 VLIW 명령어는 플래그 필드(flag)와 다수개의 명령어 필드(inst0 ~instn)로 구성된다.
플래그 필드(flag)에는 VLIW 명령어(VLIW)내에 포함될 수 있는 명령어의 개수를 통보하기 위한 비트 정보가 저장된다.
다수개의 명령어 필드(inst0 ~instn) 각각은 다시 동작 코드 필드(opcode)와 동작 조건 필드(opcon)로 나뉘고, 동작 코드 필드(opcode)에는 해당 명령어의 종류에 대한 정보가 저장되고, 동작 조건 필드(opcon)에는 명령어 처리 조건(예를 들어, 소스 정보가 저장된 레지스트리 주소, 명령어 처리 결과가 저장될 레지스트리 주소등)에 대한 정보가 저장된다. 그리고 이러한 다수개의 명령어 필드(inst0 ~instn)의 개수는 비트 정보에 따라 일정하게 고정된다.
참고로, 플래그 필드(flag)의 비트 정보는 명령어들의 스케줄링 및 동기화를 수행하는 VLIW 아키텍쳐내 최적화 컴파일러(미도시)에 의해 획득 및 설정된다.
도4은 본 발명의 명령어 선택부의 상세 구성도로, 도4의 명령어 선택부(10) 는 선택제어부(12) 및 선택부(14)를 포함하여 구성된다.
선택제어부(12)는 현재 주기에 입력된 VLIW 명령어(VLIW)의 플래그 필드(flag)에 저장된 값을 확인하여, VLIW 명령어(VLIW)내에 포함되는 명령어의 개수를 파악한다. 그리고 명령어 선택 조건(sbit-i)에 따라 VLIW 명령어(VLIW)에 포함된 다수개의 명령어 중 하나를 선택하기 위한 제어 신호(ctrl)를 발생한다.
예를 들어, '00'으로 설정된 명령어 선택 조건(sbit-i)와 플래그 필드(flag)가'11'으로 설정된 VLIW 명령어(VLIW)가 입력되면, 선택제어부(12)는 플래그 필드(flag)에 설정된 비트 정보로부터 VLIW 명령어가 4개의 명령어를 포함하고 있음을 확인한다. 그리고 '00'로 설정된 명령어 선택 조건(sbit-i)에 따라 4개의 명령어 중에서 첫번째 명령어 필드(inst1)에 저장된 명령어를 선택한다.
이와 동일한 원리로 명령어 선택 조건(sbit-i)가 '01'로 설정된 경우에는 두 번째 명령어 필드(inst2)에 저장된 명령어를, '10' 로 설정된 경우에는 세 번째 명령어 필드(inst3)에 저장된 명령어를, '11'로 설정된 경우에는 네 번째 명령어 필드(inst4)에 저장된 명령어를 각각 선택하기 위한 제어 신호(ctrl)를 발생한다.
선택부(14)는 선택제어부(12)의 제어 신호(ctrl)에 응답하여 VLIW 명령어(VLIW)에 포함된 다수개의 명령어 중 하나의 명령어(s-inst)만을 선택하여 선택 명령어 실행부(20)에 전달한다.
도5은 본 발명의 일 실시예에 따른 선택 명령어 실행부의 상세 구성도로, 도5의 선택 명령어 실행부(20)는 명령어 실행부(22) 및 명령 선택 조건 생성부(24)를 포함하여 구성된다.
명령어 실행부(22)는 명령어 선택부(10)를 통해 선택된 명령어(s-inst)를 종래에서와 동일하게 처리하여, 명령어 처리 결과값(result-j)를 생성한다. 즉, 선택된 명령어(s-inst)내에 포함된 명령어 처리 조건(예를 들어, opcon0)에 따라 다수개의 입력 정보 중 소스 정보에 대응되는 입력 정보만을 선택하고, 명령어 종류에 대응되는 연산을 수행하여 명령어 처리 결과값(result-j)를 생성한다.
명령 선택 조건 생성부(24)는 명령어 선택부(10)를 통해 선택된 명령어(s-inst)가 조건 분기 명령어이면, 명령어 실행부(22)의 명령어 처리 결과값(result-j)를 참조하여 다음 주기의 명령어 선택 조건(sbit-j)을 생성한다. 반면, 명령어 선택부(10)를 통해 선택된 명령어가 일반 명령어이면, 이전 주기의 명령어 선택 조건(sbit-i) 그대로를 다음 주기의 명령어 선택 조건(sbit-j)로써 출력한다.
도6은 본 발명의 일실예에 따른 조건 분기 명령어에 따른 VLIW 명령어 처리 방법을 설명하기 위한 동작 흐름도이다.
먼저, if 명령어와 같은 조건 분기 명령어가 입력되면(S1), VLIW 명령어 처리 장치는 조건 분기 명령어의 처리 결과를 반영하는 명령어 선택 조건(sbit-i)을 생성한다(S2).
그리고 다음 주기가 되어(S3), 다수개의 명령어를 포함하는 VLIW 명령어가 새로이 입력되면(S4), VLIW 명령어 처리 장치는 플래그 필드(flag)에 저장된 비트 정보에 따라 VLIW 명령어(VLIW)에 포함된 명령어 개수를 확인한 후, 이전 주기의 명령어 선택 조건(sbit-i)에 응답하여 VLIW 명령어(VLIW)내에 포함된 다수개의 명령어 중에서 하나의 명령어(s-inst)만을 선택한다(S5).
그리고 선택된 명령어(s-inst)만을 처리하여 명령어 처리 결과값(result-j)을 생성한다(S6).
그리고 선택된 명령어(s-inst)가 조건 분기 명령어인 경우에는 명령어 처리 결과값(result-j)에 상응하는 정보를 가지는 새로운 명령어 선택 조건(sbit-j)을 생성하고, 일반 명령어인 경우에는 이전 주기의 명령어 선택 조건(sbit-i) 그대로를 새로운 명령어 선택 조건(sbit-j)으로 출력한다. 즉, 다음 주기에 입력될 VLIW 명령어에서 하나의 명령어를 선택하기 위한 정보를 또 다시 생성한다 (S7).
그리고 다음 주기가 되면(S8), 단계S4로 재진입하여 더 이상의 VLIW 명령어가 입력되지 않을 때까지 상기의 과정이 반복 수행되도록 한다.
도7은 도6의 VLIW 명령어 처리 방법의 일예를 설명하기 위한 도면이다.
도7에서는 설명의 편이를 위해 도1에서와 같은 처리 조건을 가지는 VLIW 명령어가 입력되고, 명령어 선택 조건(sbit)의 디폴트 값으로는 '00'이 설정되어 있다고 가정한다.
먼저, 명령어 선택 조건(sbit-0)이 디폴트 값인 '00'으로 설정된 상태에서, 제1 주기가 되어 ('11', C1, NOP, NOP, NOP)으로 구성된 VLIW 명령어가 입력되면, VLIW 명령어 처리 장치는 명령어 선택 조건(sbit-0)에 따라 첫번째 명령어 필드에 저장된 'C1 명령어'를 선택 및 처리한다.
만약, 'C1 명령어'의 처리 결과가 '참'이고, 이에 따라 제1주기의 명령어 선택 조건(sbit-1)이 '00'으로 설정되면, VLIW 명령어 처리 장치는 이에 응답하여 제2 주기시 입력되는 ('11', C2, I5, NOP, NOP)으로 구성된 VLIW 명령어에서 'C2 명령어'를 선택 및 처리하게 된다.
반면, 'C1 명령어'의 처리 결과가 '거짓'이고, 이에 따라 명령어 선택 조건(sbit-1)이 '10'으로 설정되면, VLIW 명령어 처리 장치는 제2 주기시 입력되는 ('11', C2, I5, NOP, NOP)으로 구성된 VLIW 명령어에서 'I5명령어'를 선택 및 처리한다.
VLIW 명령어 처리 장치는 제3 및 제5주기에서도 상기에서와 동일한 방식으로 이전 주기의 명령어 선택 조건(sbit-i)에 따라 현재 주기에 입력된 다수개의 명령어들 중 하나를 선택하여 처리하고, 처리 결과를 반영하여 명령어 선택 조건(sbit-j)을 새로이 생성해준다.
그 결과, 본 발명에서는 조건 분기 명령어의 처리 결과에 따라 다양하게 발생될 수 있는 여러 개의 처리 경로(pass1~pass4) 중에서 하나의 처리 경로(pass1)만을 선택 및 처리할 수 있게 된다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
도1은 조건 분기 명령어에 따른 VLIW 명령어 처리 조건을 도시한 도면이다.
도2 은 본 발명의 일 실시예에 따른 VLIW 명령어 처리 장치의 구성도를 도시한 도면이다.
도3은 본 발명의 일실예에 따른 VLIW 명령어 구조를 도시한 도면이다.
도4은 본 발명의 명령어 선택부의 상세 구성도를 도시한 도면이다.
도5은 본 발명의 일 실시예에 따른 선택 명령어 실행부의 상세 구성도를 도시한 도면이다.
도6은 본 발명의 일실예에 따른 VLIW 명령어 처리 방법을 설명하기 위한 동작 흐름도이다.
도7은 도6의 VLIW 명령어 처리 방법의 일예를 설명하기 위한 도면이다.

Claims (10)

  1. 이전 주기에서 생성된 명령어 선택 조건에 따라 VLIW(Very Long Instruction Word) 명령어에 포함된 적어도 하나의 명령어 중 하나를 선택하는 명령어 선택부; 및
    상기 명령어 선택부를 통해 선택된 명령어를 처리하여, 명령어 처리 결과값과 새로운 명령어 선택 조건을 생성하는 선택 명령어 실행부를 포함하며,
    상기 선택 명령어 실행부는 상기 명령어 선택부를 통해 선택된 명령어가 조건 분기 명령어인 경우에는, 상기 조건 분기 명령어의 처리 결과를 반영하여 상기 새로운 명령어 선택 조건을 생성하는 것을 특징으로 하는 VLIW 명령어 처리 장치.
  2. 제1항에 있어서, 상기 VLIW 명령어는
    상기 VLIW 명령어내에 포함될 수 있는 명령어 갯수에 대한 비트정보가 설정되는 플래그 필드와 상기 적어도 하나의 명령어가 저장되는 다수개의 명령어 필드로 구성되며, 상기 다수개의 명령어 필드 개수는 상기 비트정보의 값에 따라 일정하게 고정되는 것을 특징으로 하는 VLIW 명령어 처리 장치.
  3. 제2항에 있어서, 상기 명령어 선택부는
    상기 플래그 필드에 저장된 비트 정보에 따라 상기 VLIW 명령어에 포함된 명령어 개수를 확인한 후, 상기 명령어 선택 조건에 응답하여 상기 VLIW 명령어에 포 함된 명령어 중 하나를 선택하기 위한 제어 신호를 생성하는 선택제어부; 및
    상기 제어 신호에 응답하여 상기 VLIW 명령어에 포함된 명령어 중 하나를 선택하는 선택부를 포함하는 것을 특징으로 하는 VLIW 명령어 처리 장치.
  4. 제1항에 있어서, 상기 선택 명령어 실행부는
    상기 명령어 선택부를 통해 선택된 명령어를 처리하여, 명령어 처리 결과값을 생성하는 명령어 실행부; 및
    상기 명령어 처리 결과값에 따라 상기 새로운 명령어 선택 조건을 생성하는 명령 선택 조건 생성부를 포함하는 것을 특징으로 하는 VLIW 명령어 처리 장치.
  5. 제4항에 있어서, 상기 명령 선택 조건 생성부는
    상기 명령어 선택부를 통해 선택된 명령어가 조건 분기 명령어인 경우에는, 상기 명령어 처리 결과값에 상응하는 비트 정보를 가지는 상기 새로운 명령어 선택 조건을 생성하고, 일반 명령어인 경우에는 상기 이전 주기에서 생성된 명령어 선택 조건을 상기 새로운 명령어 선택 조건으로 출력하는 것을 특징으로 하는 VLIW 명령어 처리 장치.
  6. 조건 분기 명령어가 입력되면, 상기 조건 분기 명령어의 처리 결과를 반영하는 명령어 선택 조건을 생성하는 단계;
    다음 주기가 되어 다수개의 명령어를 포함하는 VLIW(Very Long Instruction Word) 명령어가 입력되면, 상기 명령어 선택 조건에 따라 상기 다수개의 명령어 중 하나의 명령어만 선택하는 단계; 및
    상기 선택된 명령어만을 처리하는 단계를 포함하는 VLIW 명령어 처리 방법.
  7. 제6항에 있어서, 상기 VLIW 명령어는
    상기 VLIW 명령어내에 포함될 수 있는 명령어 갯수에 대한 비트정보가 설정되는 플래그 필드와 상기 다수개의 명령어가 저장되는 다수개의 명령어 필드로 구성되며, 상기 다수개의 명령어 필드 개수는 상기 비트정보의 값에 따라 일정하게 고정되는 것을 특징으로 하는 VLIW 명령어 처리 방법.
  8. 제7항에 있어서, 상기 하나의 명령어만 선택하는 단계는
    상기 플래그 필드에 저장된 비트 정보에 따라 상기 VLIW 명령어에 포함된 명령어 개수를 확인한 후, 상기 명령어 선택 조건에 응답하여 상기 VLIW 명령어에 포함된 명령어 중 하나를 선택하는 것을 특징으로 하는 VLIW 명령어 처리 방법.
  9. 제6항에 있어서,
    상기 선택된 명령어의 처리 결과에 따라 새로운 명령어 선택 조건을 생성하는 단계를 더 구비하는 것을 특징으로 하는 VLIW 명령어 처리 방법.
  10. 제9항에 있어서, 상기 새로운 명령어 선택 조건을 생성하는 단계는
    상기 선택된 명령어가 조건 분기 명령어이면, 상기 선택된 명령어의 처리 결과에 상응하는 정보를 가지도록 상기 새로운 명령어 선택 조건을 생성하고, 상기 선택된 명령어가 일반 명령어이면, 상기 명령어 선택 조건 그대로를 상기 새로운 명령어 선택 조건으로 출력하는 것을 특징으로 하는 VLIW 명령어 처리 방법.
KR1020090027975A 2008-12-03 2009-04-01 Vliw 명령어 처리 장치 및 방법 KR101118593B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080121852 2008-12-03
KR20080121852 2008-12-03

Publications (2)

Publication Number Publication Date
KR20100063615A KR20100063615A (ko) 2010-06-11
KR101118593B1 true KR101118593B1 (ko) 2012-02-27

Family

ID=42363537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090027975A KR101118593B1 (ko) 2008-12-03 2009-04-01 Vliw 명령어 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101118593B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860321B2 (en) 2017-12-05 2020-12-08 Samsung Electronics Co., Ltd. Electronic device and method for processing instruction using the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089402B2 (en) * 2001-12-12 2006-08-08 Canon Kabushiki Kaisha Instruction execution control for very long instruction words computing architecture based on the free state of the computing function units
JP2007094986A (ja) * 2005-09-30 2007-04-12 Fujitsu Ltd シミュレーション装置およびシミュレーション方法
KR20080086739A (ko) * 2007-03-23 2008-09-26 삼성전자주식회사 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법
KR20100094214A (ko) * 2009-02-18 2010-08-26 삼성전자주식회사 Vliw 명령어 생성 장치 및 그 방법과 vliw 명령어를 처리하는 vliw 프로세서 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089402B2 (en) * 2001-12-12 2006-08-08 Canon Kabushiki Kaisha Instruction execution control for very long instruction words computing architecture based on the free state of the computing function units
JP2007094986A (ja) * 2005-09-30 2007-04-12 Fujitsu Ltd シミュレーション装置およびシミュレーション方法
KR20080086739A (ko) * 2007-03-23 2008-09-26 삼성전자주식회사 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법
KR20100094214A (ko) * 2009-02-18 2010-08-26 삼성전자주식회사 Vliw 명령어 생성 장치 및 그 방법과 vliw 명령어를 처리하는 vliw 프로세서 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860321B2 (en) 2017-12-05 2020-12-08 Samsung Electronics Co., Ltd. Electronic device and method for processing instruction using the same

Also Published As

Publication number Publication date
KR20100063615A (ko) 2010-06-11

Similar Documents

Publication Publication Date Title
US20020169942A1 (en) VLIW processor
US6647489B1 (en) Compare branch instruction pairing within a single integer pipeline
KR100309566B1 (ko) 파이프라인프로세서에서다중명령어를무리짓고,그룹화된명령어를동시에발행하고,그룹화된명령어를실행시키는방법및장치
US5710902A (en) Instruction dependency chain indentifier
EP2951681B1 (en) Solution to divergent branches in a simd core using hardware pointers
EP2569694B1 (en) Conditional compare instruction
EP0968463B1 (en) Vliw processor processes commands of different widths
US9766894B2 (en) Method and apparatus for enabling a processor to generate pipeline control signals
US8413086B2 (en) Methods and apparatus for adapting pipeline stage latency based on instruction type
WO2015114305A1 (en) A data processing apparatus and method for executing a vector scan instruction
US20040039900A1 (en) Processor, program conversion apparatus, program conversion method, and computer program
US20140317388A1 (en) Apparatus and method for supporting multi-modes of processor
KR101647817B1 (ko) 재구성 가능한 프로세서의 시뮬레이션 장치 및 방법
JPH1165844A (ja) パイプラインバイパス機能を有するデータ処理装置
KR101016257B1 (ko) 프로세서 및 정보 처리 장치
JP2008176453A (ja) シミュレーション装置
KR101118593B1 (ko) Vliw 명령어 처리 장치 및 방법
US20160274916A1 (en) Processor, program code translator and software
JPH1185513A (ja) プロセッサ
KR950012118B1 (ko) 병렬 파이프라인 명령 처리 장치
JP4771079B2 (ja) Vliw型プロセッサ
US7437544B2 (en) Data processing apparatus and method for executing a sequence of instructions including a multiple iteration instruction
JP2003316598A (ja) 高信頼性モード動作併用長命令実行プロセッサ
US9639360B2 (en) Reducing energy and increasing speed by an instruction substituting subsequent instructions with specific function instruction
CN112579168B (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
LAPS Lapse due to unpaid annual fee