KR100515039B1 - 조건부 명령어를 고려한 파이프라인 상태 표시 회로 - Google Patents

조건부 명령어를 고려한 파이프라인 상태 표시 회로 Download PDF

Info

Publication number
KR100515039B1
KR100515039B1 KR10-1998-0029413A KR19980029413A KR100515039B1 KR 100515039 B1 KR100515039 B1 KR 100515039B1 KR 19980029413 A KR19980029413 A KR 19980029413A KR 100515039 B1 KR100515039 B1 KR 100515039B1
Authority
KR
South Korea
Prior art keywords
instruction
input
pipeline
executed
instructions
Prior art date
Application number
KR10-1998-0029413A
Other languages
English (en)
Other versions
KR20000009174A (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 삼성전자주식회사
Priority to KR10-1998-0029413A priority Critical patent/KR100515039B1/ko
Publication of KR20000009174A publication Critical patent/KR20000009174A/ko
Application granted granted Critical
Publication of KR100515039B1 publication Critical patent/KR100515039B1/ko

Links

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
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • 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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

개시되는 데이터 처리 시스템은 조건부 명령어를 수행하고, 수행중인 명령어의 종류에 따른 제어 신호를 출력하는 N 개의 조합회로가 직렬로 연결된 파이프라인과, 상기 제어 신호들에 응답하여 상기 N 개의 조합회로 각각에 입력된 명령어가 있는 지의 여부와, 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호들을 출력하는 파이프라인 상태 표시 수단을 포함한다. 이러한 데이터 처리 시스템은 파이프라인의 각 스테이지에 입력된 명령어가 있는 지의 여부와 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호들을 출력한다. 그 결과, 파이프라인으로 구성된 마이크로 프로세서에서 조건부 필드를 갖는 명령어를 보다 효율적으로 제어할 수 있다.

Description

조건부 명령어를 고려한 파이프라인 상태 표시 회로{PIPELINE STATUS INDICATING CIRCUIT FOR CONDITIONAL INSTRUCTION}
본 발명은 파이프라인 데이터 처리 시스템에 관한 것으로, 좀 더 구체적으로는 조건부 명령어를 고려한 파이프라인 상태 표시 회로를 갖는 데이터 처리 시스템에 관한 것이다.
파이프라인 데이터 처리 시스템(pipeline data processing system)은 시스템의 처리율(throughput)을 향상시키기 위해 개발되었다. 파이프라인은 하나의 프로세스를 서로 다른 기능을 갖는 여러 개의 서브 프로세스(subprocess)로 나누어 각 서브프로세스가 동시에 서로 다른 연산을 취급하도록 하는 기법이다. 각 스테이지에서 수행된 연산 결과는 다음 스테이지로 연속적으로 넘어가게 되어 데이터가 마지막 스테이지를 통과하게 되면 최종적인 연산 결과를 얻게 된다. 상술한 바와 같이 하나의 진행에서 연산을 중복시키는 것은 각 스테이지마다 레지스터를 둠으로써 가능하다. 이 레지스터들은 각 스테이지마다의 연산 결과를 보관한다.
도 1a 및 도 1b는 파이프라인 처리에 따른 처리율 향상을 보여주기 위한 개념적 블록도이다.
우선 도 1a를 참조하면, 파이프라인을 도입하지 않은 일반적인 프로세스는, 명령어를 수행하기 위한 일련의 과정 예컨대, 메모리에서 명령어를 페치(fetch), 명령어의 디코딩(decoding), 유효 주소 계산, 메모리에서 피연산자 페치, 명령어의 실행, 결과의 저장 등과 같은 과정을 하나의 조합 회로(2)에서 수행하였다.
즉, 하나의 명령어를 수행하기 위한 사이클은 레지스터 R0(1)으로부터 조합회로(2)로 입력된 명령어가 R1(3)로 결과를 출력할 때까지의 사이클과 동일하다.
도 1b에는 파이프라인의 일반적인 구조를 개념적인 블록도로 도시하고 있다. 도면에 도시된 바와 같이, 명령어를 수행하기 위한 조합회로를 두 개의 조합회로들(5, 7)로 나누어 각각의 조합회로가 서로 다른 기능을 수행하도록 한다. 각 조합 회로의 출력은 레지스터 R1(6)과 레지스터 R2(8)로 입력된다. 이 때 레지스터 R1(6)의 출력은 다음 조합 회로(7)로 입력된다. 따라서, 전체 사이클은 1/2로 줄어든다.
다단으로 구성된 파이프라인을 제어하기 위해서는 각 단에서 사용되는 정보가 다른 단으로부터 독립적이어야 한다. 빠른 데이터 처리를 요구하는 마이크로프로세서에서는 메모리로부터 페치한 명령어를 디코딩 블록에서 디코딩한 후 각 단에서 사용될 수 있도록 파이프라인을 통하여 처리되도록 한다.
또, 파이프라인 처리에 있어서, 어느 명령어가 한 사이클 내에 수행될 수 없는 경우, 이후에 입력되는 명령어들은 홀딩(holding)되어야 한다. 분기 명령어(branch instruction)에 의해 프로그램의 순서가 바뀌는 경우에는 이미 수행중인 파이프라인 내의 모든 명령어가 취소되어야 한다.
어드밴스드 리스크 머신즈(Advanced RISC Machines) 사에서 제조하는 마이크로프로세서에서 수행되는 조건부 명령어(conditional instruction)들은 이전 명령어의 수행 결과에 따라 명령어의 수행 여부가 결정된다. 예컨대 비교 명령어인 'CMP'나 조건부 분기 명령어 'BEQ', 'BLT' 등과 같은 명령어 이후에 위치하는 명령어들은 상기 명령어들의 수행결과에 따라 수행여부가 결정된다.
따라서, 비교 명령어인 'CMP'나 조건부 분기 명령어 'BEQ', 'BLT' 등과 같은 명령어에 의한 조건 플래그의 변화는 다음 명령어의 수행에 큰 영향을 미친다.
상술한 바와 같이 조건부 명령어를 파이프라인으로 처리하기 위해서는 이전 명령어의 수행 결과와, 어느 순간에 처리가 홀딩되어야 하는가 및 파이프라인 내의 모든 명령어를 취소해야 하는가에 대한 정보를 프로세서 내의 각 조합 회로로 제공하여야 한다.
따라서, 본 발명의 목적은 조건부 명령어를 파이프라인 구조의 프로세서에서 처리하기 위해 파이프라인의 각 스테이지에 입력된 명령어가 있는 지의 여부와 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호를 출력하는 데이터 처리 시스템을 제공하는데 있다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 데이터 처리 시스템은: 조건부 명령어를 수행하고, 수행중인 명령어의 종류에 따른 제어 신호를 출력하는 N 개의 조합회로가 직렬로 연결된 파이프라인 및; 상기 제어 신호들에 응답하여 상기 N 개의 조합회로 각각에 입력된 명령어가 있는 지의 여부와, 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호들을 출력하는 파이프라인 상태 표시 수단을 포함한다.
바람직한 실시예에 있어서, 상기 파이프라인 상태 표시 수단은, 소정의 클락 신호에 동기되어 n-1 번째 조합회로부터 n 번째 조합회로로 입력된 명령어가 있는 지의 여부를 나타내는 제 1 신호를 출력하는 제 1 수단 및; 상기 클락 신호에 동기되어 n 번째 조합회로에서 명령어가 수행되고 있는 지의 여부를 나타내는 제 2 신호를 출력하는 제 2 수단을 포함하되, 상기 제 1 및 제 2 수단은, 각각 N 개가 직렬로 구성되어 상기 조합회로에 각각 대응하고, n-1 번째 출력이 n 번째의 입력이 된다.
바람직한 실시예에 있어서, 상기 N 개의 조합회로 가운데 디코딩(decoding)단에 대응하는 상기 제 2 수단은, 상기 N 개의 조합회로 가운데 연산(executing)단에서의 연산 결과에 따른 조건부 명령어의 실행 가능 조건을 입력받는다.
이 실시예에 있어서, 상기 m(m < n-1) 번째 제 1 및 제 2 수단은, 상기 n 번째 조합 회로로부터 명령어를 수행하는데 적어도 2 사이클이 필요함을 나타내는 제어 신호가 입력될 때, 상기 m 번째 조합 회로로 입력된 명령어가 없고, 수행되고 있는 명령어가 없음을 나타내는 상기 제 1 및 제 2 신호를 출력한다.
이 실시예에 있어서, 상기 제 1 및 제 2 수단은, 상기 N 개의 조합회로 가운데 적어도 하나의 조합 회로로부터 상기 N 개의 조합 회로에 있는 모든 명령어를 삭제해야 함을 나타내는 제어 신호가 입력될 때, 상기 조합 회로로 입력된 명령어가 없고, 수행되고 있는 명령어가 없음을 나타내는 상기 제 1 및 제 2 신호를 출력한다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면 도 2 및 도 4를 참조하여 상세히 설명한다.
본 발명의 신규한 데이터 처리 시스템은 조건부 명령어를 수행하고, 수행중인 명령어의 종류에 따른 제어 신호를 출력하는 N 개의 조합회로가 직렬로 연결된 파이프라인과, 상기 제어 신호들에 응답하여 상기 N 개의 조합회로 각각에 입력된 명령어가 있는 지의 여부와, 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호들을 출력하는 파이프라인 상태 표시 수단을 포함한다. 이러한 데이터 처리 시스템은 파이프라인의 각 스테이지에 입력된 명령어가 있는 지의 여부와 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호들을 출력한다. 그 결과, 파이프라인으로 구성된 마이크로 프로세서에서 조건부 필드를 갖는 명령어를 보다 효율적으로 제어할 수 있다.
도 2는 본 발명의 바람직한 실시예에 따른 데이터 처리 시스템의 내부 회로 구성을 블록적으로 보여주고 있다.
도 2를 참조하면, 파이프라인(pipeline)(100)은 명령어 파이프라인(instruction pipeline)과 데이터 파이프라인(data pipeline)으로 구성된다. 상기 파이프라인(100)은 조건부 명령어(conditional instruction)를 처리 가능한 파이프라인으로서 N 개의 조합회로가 직렬로 연결되어 있다. 상기 N 개의 조합회로는 각각 현재 수행중인 명령어의 종류에 따라 제어 신호들을 출력한다. 파이프라인 상태 표시부(200)는 상기 제어 신호들에 응답하여 상기 N 개의 조합회로 각각에 입력된 명령어가 있는 지의 여부와, 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호들을 제어 회로(300)로 출력한다. 제어 회로(300)는 상기 표시 신호에 따른 제어를 수행하여 파이프라인(100)을 제어한다.
도 3은 도 2에 도시된 파이프라인의 구조를 상세히 보여주고 있는 블록도이다.
도 3을 참조하면, 파이프라인(100)은 5 개의 스테이지(stage)로 구성되어 있다. 각 스테이지는 그에 해당하는 연산을 수행하는 조합 회로들(10 ~ 50)을 두고, 그 출력에 레지스터들(12 ~ 52)을 연결시킨다. 이때 각 레지스터의 출력은 다음 스테이지의 입력으로 들어가게 된다. 레지스터마다 클럭 펄스 신호(clock) 입력이 있는데, 매 클럭 펄스마다 파이프라인 속의 데이터들은 다음 스테이지의 연산을 수행하고 그의 레지스터에 중간 결과의 값이 저장되게 된다. 각 부연산(suboperation)은 파이프라인 안에서 각각의 스테이지로서 구현되며, 각 스테이지는 한두 개의 레지스터와 조합회로로 구성된다. 상기 파이프를 다 채우고 레지스터 R5로부터 첫 번째 결과를 얻기 위해서는 다섯 번의 클럭 펄스가 필요하다. 이때부터는 매 클럭 펄스마다 새로운 결과가 출력되고, 파이프라인상에서 데이터가 이동된다. 그리고, 더 이상의 입력 데이터가 없는 경우에는 최종 결과가 출력될 때까지 클럭이 지속된다.
파이프라인(100)은 이전 명령어가 다른 스테이지에서 실행되고 있는 동안에 메모리에 연속적으로 저장되어 있는 다음 명령어를 읽어온다. 즉 명령어의 페치와 실행 단계가 중첩되어 동시에 수행되는 것이다. 스테이지 1에서는 메모리에서 명령어를 페치(fetch)하고, 스테이지 2에서는 명령어를 디코딩(decoding)한다. 다음 스테이지 3에서는 명령어를 실행시킨다. 스테이지 4에서는 명령어의 실행 결과를 저장하기 위하여 메모리를 액세스(access)하고, 스테이지 5에서 저장(write back)한다.
도면에 도시된 바와 같이, 각 스테이지는 조합회로(S1 ~ S5)와 레지스터(R1 ~ R5)를 각각 갖는다. 각 조합 회로에서의 수행 결과는 상기 레지스터에 저장된다. 스테이지 3 즉, 실행단에서의 수행 결과에 따른 조건 플래그 신호(condition_exe)는 스테이지 2로 입력되어, 스테이지 2에서 디코딩 되는 명령어가 실행될 것인 지의 여부를 결정하게 된다. 만일 현재 디코딩하고 있는 명령어가 있고(fetch_ok=1), 그 명령어가 실행단(stage 3)에서 수행되어야 한다면 조건 플래그(condition_exe)는 1이고, 수행되지 않아야 한다면 상기 조건 플래그는 0이다.
도 4는 도 2에 도시된 파이프라인 상태 표시부의 구성을 블록적으로 보여주고 있다.
도 4를 참조하면, 파이프라인 상태 표시부(200)는, D 플립플롭들(115, 125, 135, 155, 165, 175)과, 멀티플렉서들(120, 130, 160, 170) 및 두 개의 앤드 게이트(AND gate)(110, 150)로 구성된다. 앤드 게이트(110)로 입력되는 vbit_in 신호는 파이프라인에서 수행되는 명령어가 있다는 것을 나타내는 신호로, 다음 명령어가 프리페치(prefetch)되어 있고, 그 명령어가 다음 연산단에서 수행된다는 것을 나타낸다. 즉, vbit_in 신호는 "fetch_ok & condition_exe"인 상태를 나타낸다.
hold_(n) 신호는 n 단에서 발생하는 신호로, n 단에서 한 사이클(cycle) 이내에 명령어를 수행할 수 없음을 나타내는 신호이다. 즉, 스테이지 n에서 한 사이클에 연산을 수행할 수 없다면, 스테이지 m(0< m < n-1)에서는 다음 스테이지로 진행할 수 없다. 따라서, 스테이지 n에서의 명령어 수행이 종료될 때까지 스테이지 m(0 < m <n-1)의 명령어들은 현재 스테이지에 머물러 있어야 한다.
즉, 상기 n 번째 조합 회로로부터 명령어를 수행하는데 적어도 2 사이클이 필요함을 나타내는 제어 신호가 파이프라인 상태 표시부(200)로 입력될 때, m(0< m < n-1) 번째 스테이지에 대응하는 D 플립플롭은 디스에이블(disable)된다. 디스에이블된 D 플립플롭은 명령어가 조합회로 내에 있는지의 여부, 그리고 그 명령어가 상기 조합회로에서 수행되고 있는지의 여부를 표시하는 신호를 출력하지 않는다.
pipe_flush 신호는 인터럽트(interrupt) 또는 분기(branch) 명령어와 같은 명령어에 의해 프로그램의 수행순서가 바뀔 때 발생한다. 프로그램의 수행순서가 바뀌는 경우, 파이프라인에서 수행 중인 모든 명령어는 삭제되어야 한다. 상기 pipe-flush 신호가 발생하면, 모든 D 플립플롭들의 출력은 로우(low)가 되고, 다음 사이클의 시작점에서 모든 D 플립플롭들의 값이 로우가 되어 현재 파이프라인을 지나가고 있는 명령어들(조건을 만족하여 실제 수행되고 있는 명령어 또는 조건을 만족하지 않아 수행되지는 않지만 파이프라인의 한 스테이지를 차지하고 있는 명령어)이 삭제된다.
상기 hold_(n) 신호와 pipe_flush 신호가 모두 로우일 때, D 플립플롭들(115, 125, 135, 155, 165, 175)이 인에이블(enable) 된다. 상기 hold_(n) 신호와 pipe_flush 신호 가운데 적어도 하나의 신호가 하이(high; H)이면, 멀티플렉서들(120, 130, 160, 170)은 '0'을 출력하고, 상기 두 신호 모두 로우일 때 D 플립플롭들로부터 출력되는 신호를 입력받아 출력한다.
D 플립플롭들(115, 125, 135)은 각각 스테이지 3, 4, 5에 대응하고, 출력되는 신호들(e_v, w_v, r_v)은 각각 상기 스테이지 3, 4, 5에 명령어가 있는가를 나타내는 신호이다. D 플립플롭들(155, 165, 175)은 각각 스테이지 3, 4, 5에 대응하고, 출력되는 신호들(e_c, w_c, r_c)은 각각 상기 스테이지 3, 4, 5에서 명령어가 수행되는 가의 여부를 나타내는 신호이다.
즉, 상기 파이프라인 상태 표시 회로는 각 스테이지에서 실행되고 있는 명령어와, 조건을 만족하지 않아 수행되고 있지 않은 명령어들이 각 스테이지에 어떻게 있는가를 나타내는 상태 레지스터 역할을 수행한다.
상기 파이프라인 상태 표시 회로에서 출력되는 각 스테이지의 상태 표시 신호는 조건부 명령어를 수행하는 마이크로 프로세서의 제어에 필요한 신호이다. 파이프라인의 마지막 단을 지나가는 명령어의 수행 결과는 프로세서의 상태를 수정하게 되는데, 마지막으로 수행된 프로그램 번지를 가리키는 프로그램 카운터(program counter; PC)의 값은 마지막 D 플립플롭들(135, 175)가운데 하나에 1이 있다. hold_r 신호 및 pipe_flush 신호가 발생하지 않으면 사이클의 마지막에 마지막 파이프라인 단의 프로그램 주소로 변한다. 모드 변환 또는 다른 이유로 인하여 파이프라인이 비었을 때에만 수행이 가능한 명령어들을 수행하기 위하여 파이프라인이 비었는 지의 여부를 검사하는데 상기 상태 표시 신호들은 유용하다. 더욱이, 파이프라인의 각 스테이지에서 명령어가 수행되었으나 레지스터에 저장되지 않은 데이터를 미리 사용하는 포워딩(forwarding)을 하거나, 포워딩할 수 없는 값 때문에 레지스터로 값이 갱신될 때까지 기다려야 하는 경우 등을 검색해야 할 때, 실제로 수행되고 있는 명령어가 있는 지의 여부와 수행되는 명령어가 레지스터를 갱신할 것인가의 여부를 판단하는데 사용된다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
이상과 같은 본 발명에 의하면, 파이프라인의 각 스테이지에 입력된 명령어가 있는 지의 여부와 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호를 출력한다. 그 결과, 파이프라인으로 구성된 마이크로 프로세서에서 조건부 필드를 갖는 명령어를 보다 효율적으로 제어할 수 있다.
도 1a 및 도 1b는 파이프라인 처리에 따른 처리율 향상을 보여주기 위한 개념적 블록도;
도 2는 본 발명의 바람직한 실시예에 따른 데이터 처리 시스템의 내부 회로 구성을 블록적으로 보여주고 있는 도면;
도 3은 도 2에 도시된 파이프라인의 구조를 상세히 보여주고 있는 블록도; 그리고
도 4는 도 2에 도시된 파이프라인 상태 표시부의 구성을 블록적으로 보여주고 있다.
*도면의 주요 부분에 대한 부호의 설명*
1, 3, 4, 6, 8, 12, 22, 32, 42, 42 : 레지스터
2, 5, 7, 10, 20, 30, 40, 50 : 조합회로
100 : 파이프라인
110, 150 : 앤드 게이트
120, 130, 160, 170 : 멀티플렉서
115, 125, 135, 155, 165, 175 : D 플립플롭
200 : 파이프라인 상태 표시부 300 : 제어 회로

Claims (5)

  1. 데이터 처리 시스템에 있어서:
    조건부 명령어를 수행하고, 수행중인 명령어의 종류에 따른 제어 신호를 출력하는 N 개의 조합회로가 직렬로 연결된 파이프라인 및;
    상기 제어 신호들에 응답하여 상기 N 개의 조합회로 각각에 입력된 명령어가 있는 지의 여부와, 상기 입력된 명령어가 상기 조합회로에서 각각 수행되고 있는 지의 여부를 표시하는 신호들을 출력하는 파이프라인 상태 표시 수단을 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  2. 제 1 항에 있어서,
    상기 파이프라인 상태 표시 수단은,
    소정의 클락 신호에 동기되어 n-1 번째 조합회로부터 n 번째 조합회로로 입력된 명령어가 있는 지의 여부를 나타내는 제 1 신호를 출력하는 제 1 수단 및;
    상기 클락 신호에 동기되어 상기 n 번째 조합회로에서 명령어가 수행되고 있는 지의 여부를 나타내는 제 2 신호를 출력하는 제 2 수단을 포함하되,
    상기 제 1 및 제 2 수단 각각은,
    이전단의 출력이 다음단의 입력으로 전달되도록 직렬로 연결된 D 플립플롭들로 구성되는 것을 특징으로 하는 데이터 처리 시스템.
  3. 제 2 항에 있어서,
    상기 N 개의 조합회로 가운데 디코딩(decoding)단에 대응하는 상기 제 2 수단은,
    상기 N 개의 조합회로 가운데 연산(executing)단에서의 연산 결과에 따른 조건부 명령어의 실행 가능 조건을 입력받는 것을 특징으로 하는 데이터 처리 시스템.
  4. 제 2 항에 있어서,
    상기 m(m < n-1) 번째 제 1 및 제 2 수단은,
    상기 n 번째 조합 회로로부터 명령어를 수행하는데 적어도 2 사이클이 필요함을 나타내는 제어 신호가 입력될 때, 상기 m 번째 조합 회로로 입력된 명령어가 없고, 수행되고 있는 명령어가 없음을 나타내는 상기 제 1 및 제 2 신호를 출력하는 것을 특징으로 하는 데이터 처리 시스템.
  5. 제 2 항에 있어서,
    상기 제 1 및 제 2 수단은,
    상기 N 개의 조합 회로에 있는 모든 명령어를 삭제해야 함을 나타내는 제어 신호가 인터럽트/분기 발생시 입력될 때, 상기 N개의 조합 회로로 입력된 명령어가 없고, 수행되고 있는 명령어가 없음을 나타내는 상기 제 1 및 제 2 신호를 출력하는 것을 특징으로 하는 데이터 처리 시스템.
KR10-1998-0029413A 1998-07-22 1998-07-22 조건부 명령어를 고려한 파이프라인 상태 표시 회로 KR100515039B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1998-0029413A KR100515039B1 (ko) 1998-07-22 1998-07-22 조건부 명령어를 고려한 파이프라인 상태 표시 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1998-0029413A KR100515039B1 (ko) 1998-07-22 1998-07-22 조건부 명령어를 고려한 파이프라인 상태 표시 회로

Publications (2)

Publication Number Publication Date
KR20000009174A KR20000009174A (ko) 2000-02-15
KR100515039B1 true KR100515039B1 (ko) 2005-11-29

Family

ID=19544816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0029413A KR100515039B1 (ko) 1998-07-22 1998-07-22 조건부 명령어를 고려한 파이프라인 상태 표시 회로

Country Status (1)

Country Link
KR (1) KR100515039B1 (ko)

Also Published As

Publication number Publication date
KR20000009174A (ko) 2000-02-15

Similar Documents

Publication Publication Date Title
US6647489B1 (en) Compare branch instruction pairing within a single integer pipeline
US5961637A (en) Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6889318B1 (en) Instruction fusion for digital signal processor
US5461722A (en) Parallel processing apparatus suitable for executing in parallel a plurality of instructions including at least two branch instructions
US5131086A (en) Method and system for executing pipelined three operand construct
US6981131B2 (en) Early condition code evaluation at pipeline stages generating pass signals for controlling coprocessor pipeline executing same conditional instruction
US6145074A (en) Selecting register or previous instruction result bypass as source operand path based on bypass specifier field in succeeding instruction
KR100423910B1 (ko) 코프로세서 명령 실행 장치 및 방법
KR20010109354A (ko) 프로세서내의 기록 트래픽을 감소시키는 시스템 및 방법
US6145075A (en) Apparatus and method for executing a single-cycle exchange instruction to exchange contents of two locations in a register file
JP2620511B2 (ja) データ・プロセッサ
US5335330A (en) Information processing apparatus with optimization programming
EP0378415A2 (en) Multiple instruction dispatch mechanism
JP2535252B2 (ja) 並列処理装置
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
US20020035677A1 (en) Method and apparatus for pre-processing instructions for a processor
JP3708022B2 (ja) プロセッサ
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JP3182591B2 (ja) マイクロプロセッサ
JP2002024008A (ja) データ処理装置およびプログラム変換装置
JP3915019B2 (ja) Vliwプロセッサ、プログラム生成装置、および記録媒体
JP2503223B2 (ja) 先行制御方式
JPH06131180A (ja) 命令処理方式および命令処理装置
JP3405106B2 (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
LAPS Lapse due to unpaid annual fee