KR0136019B1 - 정보 처리 장치 - Google Patents

정보 처리 장치

Info

Publication number
KR0136019B1
KR0136019B1 KR1019940015894A KR19940015894A KR0136019B1 KR 0136019 B1 KR0136019 B1 KR 0136019B1 KR 1019940015894 A KR1019940015894 A KR 1019940015894A KR 19940015894 A KR19940015894 A KR 19940015894A KR 0136019 B1 KR0136019 B1 KR 0136019B1
Authority
KR
South Korea
Prior art keywords
pipeline
instruction
stall
stage
processing system
Prior art date
Application number
KR1019940015894A
Other languages
English (en)
Other versions
KR950003974A (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 KR950003974A publication Critical patent/KR950003974A/ko
Application granted granted Critical
Publication of KR0136019B1 publication Critical patent/KR0136019B1/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/3873Variable length pipelines, e.g. elastic pipeline
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Advance Control (AREA)

Abstract

본 발명의 목적은 인터럽트를 이용하지 않고 타이머를 출력 신호에 동기하여 처리 가능한 파이프라인 처리 방식의 정보 처리 장치를 제공함에 있다.
파이프라인의 실행을 일시 정지하는 일시 정지 명령을 명령 세트에 갖고, 동시에 파이프라인의 실행 및 정지를 제어하는 파이프라인 제어 수단을 구비하고, 파이프라인 제어 수단이 일시 정지 명령의 실행에 의해 출력되는 일시 정지 신호에 기초하여 파이프라인의 각 스테이지를 정지 상태로 설정함과 동시에, 일시 정지 명령에 의해 지정된 파이프라인 실행 재개 수단이 출력하는 펄스 신호에 기초하여 정지 상태에 있는 파이프라인의 각 스테이지를 실행 상태로 설정한다.

Description

정보 처리 장치
제1도는 본 발명의 정보 처리 장치의 제1실시예의 블럭도.
제2도는 제1실시예의 동작을 도시한 타이밍챠트.
제3도는 본 발명의 정보 처리 장치의 제2실시예의 블럭도.
제4도는 제2실시예의 동작을 도시한 타이밍챠트.
제5도는 본 발명의 제3실시예의 블럭도.
*도면의 주요부분에 대한 부호의 설명
1:명령 레지스터
2:명령 디코더
3,4:스테이지 레지스터
5,6,7:타이머
8:파이프라인 제어부
11:SR 플립플롭
21,22,23:AND 게이트
24:OR 게이트
26:NOT 게이트
27:OR 게이트
31,32,33:AND 게이트
41:일시 정지 명령의 디코드 신호(일시 정지 신호)
42,43,44:일시 정지 명령의 오퍼랜드 신호
본 발명은 정보 처리 장치에 관한 것으로서, 특히 파이프라인 처리의 일시정지 및 재개를 제어하는 동기 명령을 구비한 파이프라인 방식의 정보 처리 장치에 관한 것이다.
신호 처리를 대상으로 하는 처리 장치에 있어서, 정기적인 이벤트에 동기하여 처리를 개시하는 방식은 가장 기본적인 설계 방식이다. 음성 또는 화상 등의 신호 처리에 있어서는 통상 신호의 샘플링 레이트에 동기하여 새로운 데이타가 처리장치에 도착하고, 처리 장치에서는 데이타의 도착을 트리거로서 필터 처리 또는 예측 처리 등이 기동된다.
신호 처리를 CPU(중앙 처리 장치) 또는 DSP(디지탈 신호 처리용 프로세서) 등의 프로그램 가능한 정보 처리 장치(이하 「처리 장치」라고 함)에서 실행하는 경우, 실행 스텝 수가 조건 분기 요인 등에 의해 변화하기 때문에, 정기적인 이벤트는 외부 요인으로서 처리 장치에 입력될 것이 요망된다.
또한, 처리 장치의 설계 방식은 이 신호 처리를 감당할 수 있는 정도로 충분히 고속인 것이 요구된다. 명령 실행 과정을, 예를 들면 명령 패치(IF), 명령 디코드(ID), 실행(EX1), 기록(WB) 등의 복수의 스테이지로 분할하고, 각 스테이지를 오버랩 실행하여 명령을 다중으로 처리하는 파이프라인 처리는 처리 장치의 고속화를 위한 기본적인 설계 방식의 하나이다.
정기적인 이벤트의 발생을 외부 요인으로서 처리 장치에 전달하는 수단으로서, 종래 인터럽트가 이용되고 있고, 예를 들면 타이머 수단으로부터 정기적으로 출력되는 펄스 신호가 인터럽트 신호로서 처리 장치의 인터럽트 요구 단자에 입력되고, 정기적으로 행해지는 처리는 인터럽트 요구 인가시에 처리 장치에서 기동되는 인터럽트 처리 루틴에서 실행된다.
정기적으로 행해지는 처리의 요인이 복수인 경우, 인터럽트 처리도 다중화에 대응하는 것이 필요하며, 인터럽트의 우선 순위 부여에 관한 시스템의 복잡도가 증가하는 외에, 다중 인터럽트 처리의 경우 각종 레지스터 퇴피 등에 따른 오버 헤드가 커진다.
특개소 60-37038(「종래예 1」이라고 칭함)에는, 홀드 모드를 해제하는 복수의 인터럽트 요인을 갖는 마이크로 컴퓨터에 있어서, 특히 다중 인터럽트의 복잡함을 해결하기 위한 수단이 개시되어 있다. 즉, 종래예 1에는 홀드 모드를 해제하는 복수의 요인의 각각이 홀드를 해제하여 다시 인터럽트 처리를 행할 것인지, 또는 홀드를 해제할 뿐 프로그램을 진행할 것인지를 프로그램으로 선택가능한 마이크로 컴퓨터가 개시되어 있고, 복수 타이머 신호중 요인 지정 명령에 의해 지정된 일부의 타이머 신호에 대해서는 단순히 다음 명령에서 프로그램을 재개함으로써 인터럽트 요인의 일부를 메인 프로그램에서 처리하는 것을 가능하게 하고 있다.
또한, 특개소 60-10355에는 타이머·카운터와 인터럽트를 이용하여 중앙 처리 장치의 사용율을 측정하는 방식이 개시되어 있다. 즉, 특개소 60-10355에는 무부하시에 특정 명령(홀드 명령)을 실행하여 시각 측정을 개시하고, 동작 상태에 이르면 인터럽트를 이용하여 시각 측정을 정지하는 방식이 기재되어 있다.
파이프라인 처리 방식의 처리 장치에 있어서는, 순차적으로 명령이 흐르고 있는 경우의 실행 효율은 높지만, 예를 들면 조건 분기 명령 등에 의해 생기는 파이프라인의 혼란이 문제가 된다. 특히 외부 인터럽트 발생 등 예측할 수 없는 명령 시퀀스의 변경이 생기면, 파이프라인 내에서 처리중인 후속 명령은 중단되고 새롭게 인터럽트 처리 명령을 파이프라인으로 보내주지 않으면 안된다. 이 때문에, 외부 인터럽트 등이 빈발하면 파이프라인의 실행 효율은 대폭으로 저하한다.
따라서, 파이프라인 처리 방식의 처리 장치에 있어서, 복수의 인터럽트 요인을 이루는 타이머 수단에 대하여 다중 인터럽트 처리에 의해 각각의 타이머 수단에 동기하여 신호 처리를 행하는 것은 처리 능력이 저하된다는 점에서 문제가 있다.
종래예 1은, 동작 기간 이외에는 시스템 클럭을 정지하는 등 저소비 전력을 중시하는 마이크로 컴퓨터에 관한 것이다. 따라서, 명령의 정지와 재개는 시스템 클럭을 발생하는 타이밍 제너레이터의 정지·재개에 의해 제어되고 있다.
그러나, 종래예 1에 있어서의 시스템 클럭의 정지와 재개라는 제어방식은 다이나믹 회로(시스템 클럭의 정지에 의해 기억 정보사 소실되는 회로)를 모두 사용할 수 없는 문제 및 시스템 클럭의 정지와 재개를 필요로 하는 회로 범위의 특정이 곤란한 문제가 있다.
또한, 종래예 1의 구성에 있어서는, 시스템 클럭의 정지·재개를 실행하는 처리 장치와 이 처리 장치의 외부에 배치된 타이머부와의 사이의 클럭 스큐(clock skew)를 최소화하지 않으면 안되는 문제가 있다. 이러한 문제 때문에 종래예 1의 설계 방식으로 이루어진 처리 장치를 신호 처리용 실시간 동기 처리에 적용하기에는 곤란하였다.
따라서, 본 발명의 목적은 상기 문제점을 해결하여, 파이프라인 처리 방식의 처리 장치에서, 인터럽트 처리를 이용하지 않고 타이머의 출력 신호에 정확히 동기하여 처리 가능한 정보 처리 장치를 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명은 명령 실행 과정을 복수 스테이지로 분할하여 파이프라인 처리하는 정보 처리 장치에 있어서, 상기 정보 처리 장치가 파이프라인의 실행을 일시 정지하는 일시 정지 명령을 명령 세트에 갖고, 동시에 파이프라인의 실행 및 정지를 제어하는 파이프라인 제어 수단을 구비하고, 상기 파이프라인 제어 수단이 상기 일시 정지 명령의 실행에 따라 출력되는 일시 정지 신호에 기초하여 파이프라인의 각 스테이지를 정지 상태로 설정함과 동시에 상기 일시 정지 명령에 따라 지정된 파이프라인 실행 재개 수단의 출력 신호에 기초하여 정지 상태에 있는 상기 파이프라인의 각 스테이지를 실행 상태로 설정하는 것을 특징으로 하는 정보 처리 장치를 제공한다.
본 발명의 정보 처리 장치에서는 일시 정지 명령이 그 오퍼랜드부에서 파이프라인 실행 재개 수단을 지정한다.
또한, 본 발명의 정보 처리 장치에 있어서는, 파이프라인 실행 재개 수단은 소정 주기의 펄스 신호를 발생하는 1 또는 복수의 타이머 수단으로 이루어진다.
또한, 본 발명의 정보 처리 장치는 바람직한 실시 양태에서, 파이프라인 제어 수단이 파이프라인의 일시 정지의 설정 및 해제를 기억하기 위한 기억 수단을 구비하고, 파이프라인의 명령 디코드 스테이지에서 출력되는 상기 일시 정지 명령의 디코드 신호가 상기 기억 수단의 세트 단자에 입력되어 이 기억 수단의 출력 신호에 의해 파이프라인의 각 스테이지 레지스터의 기록을 금지함과 동시에, 상기 일시 정지 명령에 의해 지정된 상기 파이프라인 재개 수단의 출력 신호가 상기 기억 수단의 리셋 단자에 입력되어 이 기억 수단의 출력 신호에 의해 파이프라인의 각 스테이지 레지스터의 기록을 허가하는 구성으로 이루어진다.
또한, 본 발명의 정보 처리 장치는 바람직한 실시 양태에서 파이프라인 제어 수단이 파이프라인의 일시 정지의 설정 및 해제하기 위한 수단으로서 기억 수단과 게이트 수단을 구비하거나 또는 게이트 수단만을 구비하고 있다.
본 발명의 정보 처리 장치는 바람직한 실시 양태에서, 파이프라인 제어 수단이 일시 정지 명령의 오퍼랜드에서 지정된 파이프라인 실행 재개 수단을 선택하기 위한 선택 수단을 구비하고, 또한 일시 정지 명령의 파이프라인의 실행 제2스테이지로의 전송시, 후단의 명령이 일시 정지 명령이 아닐 때에 상기 파이프라인 실행 재개 수단의 지정이 리셋된다.
상기한 구성하에 본 발명의 정보 처리 장치에 있어서는, 파이프라인 처리를 일시 정지하기 위한 일시 정지 명령이 명령 세트로서 설치되어 있다. 일시 정지 명령의 디코드 신호(「일시 정지 신호」라고도 함)는 파이프라인 제어부에 입력되고, 파이프라인 제어부가 이 일시 정지 신호에 기초하여 파이프라인 처리를 정지함으로써 프로그램 내에서 파이프라인을 일시 정지시킬 수 있다. 또, 파이프라인 제어부에 직접 입력되는파이프라인 재개 수단의 출력 신호에 동기하여 파이프라인 동작이 재개된다.
이 때문에, 본 발명의 정보 처리 장치는 화상 등의 신호 처리에 있어서 인터럽트 처리를 이용하지 않고 데이타의 도착에 정확히 동기한 처리를 실현하는 것이다.
화상 등의 신호 처리에 있어서는, 파이프라인 재개 수단으로서 복수개의 서로 주기가 다른 타이머가 설치된다. 본 발명의 정보 처리 장치에서는, 소정의 타이머의 펄스 신호에 동기하여 도착하는 데이타를 처리하는 프로그램의 직전에 일시 정지 명령이 배치되고, 이 일시 정지 명령의 파이프라인으로 보내져 일시 정지 명령의 디코드 신호에 의해 파이프라인은 정지 상태 또는 대기 상태가 된다.
그리고 데이타의 도착시에 소정 타이머의 펄스 신호에 동기하여 파이프라인이 재개됨으로써, 일시 정지 명령의 후단의 명령이 실행되어 이 도착된 데이타의 처리가 행해진다.
본 발명의 정보 처리 장치에 의하면, 파이프라인 재개 수단인 복수 타이머는 일시 정지 명령의 오퍼랜드 신호에 의해 지정 가능하게 되고, 처리 계층에 따라 다른 대기 상태가 필요하게 되는 경우에도 대응가능하다.
또한, 본 발명의 바람직한 실시 양태에 의하면, 파이프라인이 시스템 클럭의 1클럭당 1스테이지 진행하는 정보 처리 장치에 있어서, 이 시스템 클럭에 동기한 파이프라인 제어 로직이 구성되고, 또한 일시 정지 명령의 디코드 신호를 실행 제1스테이지로부터 취출하는 설계 방식에 의하면, 파이프라인 제어부의 회로 구성이 더욱 간략화되는 이점을 갖는다.
또한, 본 발명의 바람직한 실시 양태에 의하면, 일시 정지 명령의 파이프라인의 실행 제2스테이지로의 전송시, 후단의 명령이 일시 정지 명령이 아닐때에 파이프라인 실행 재개 수단의 지정이 리셋되기 때문에, 별도 지정 해제용의 리셋 명령을 필요로 하지 않는다.
첨부된 도면을 참조하여 본 발명의 실시예를 이하에 설명한다.
제1도는 본 발명 정보 처리 장치의 제1실시예의 블럭도이다. 제2도는 제1실시예의 동작을 도시한 타이밍 챠트이다.
제1도에 도시한 정보 처리 장치는 예를 들면 화상 신호를 마이크로 프로세서 또는DSP 등의 프로그램 가능한 처리 장치로 실시간 처리할 때에 데이타의 샘플링에 동기하여 정기적인 처리 개시를 가능하게 하는 설계 방식을 실현하는 것이고, 파이프라인 처리의 정지와 재개는 일시 정지( freeze)와 동작(run)에 따라 제어된다.
본 실시예에서는 명령 파이프라인은, 기본적으로 시스템 클럭에 동기하여 1클럭에서 1스테이지 진행하는 것으로 한다. 제1도에 도시한 바와 같이, 본 실시예에서는 파이프라인의 스테이지 수는 4단으로 설정되어 명령 패치 스테이지(IF), 명령 디코드 스테이지(ID), 실행 제1스테이지(EX1) 및 실행 제2스테이지(EX2)로 이루어진다.
명령 패치 스테이지(IF)에서는 명령 메모리(도시되지 않음)로부터 독출된 명령이 명령 레지스터(1)에 기록된다.
명령 디코더 스테이지(ID)에서는 명령 레지스터(1)에 있는 명령의 디코드 처리가 명령 디코더(2)에서 실행되어 그 결과가 실행 제1스테이지(EX1) 레지스터(3)에 기록된다.
실행 제1스테이지(EX1)에서는 레지스터(3)의 정보에 기초한 명령으로 지정된 조작(예를 들면 연산 데이타의 범용 레지스터로부터의 독출 등)이 실행되고, 또는 레지스터(3)의 내용은 실행 제2스테이지(EX2) 레지스터(4)로 전송된다.
실행 제2스테이지(EX2)에서는 레지스터(4)의 정보에 기초하여 실행 제1스테이지(EX1)에서의 실행 결과의 기록(예를 들면 연산 및 결과 데이타의 범용 레지스터에의 기록)이 실행된다.
파이프라인 제어부(8)은 파이프라인의 각 스테이지의 레지스터(1,3,4)의 기록 허가 신호(Write Enable)을 제어하는 것으로, 파이프라인 처리의 일시 정지(freeze)와 동작(run)을 제어한다.
제1도에 있어서 AND 게이트(31,32,33)의 출력은 파이프라인의 각 스테이지의 레지스터의 기록을 허가·금지하는 제어 신호로서 레지스터(1,3,4)에 각각 접속되어 있다. 또, 파이프라인의 기록의 허가.금지는 명령의 순서 의존성에 기초하여 순서 의존 검출 회로(hazard detector) 등에 의해서도 제어되고 있다. 제1도에 있어서 도시되지 않은 순서 의존 검출 회로의 출력은 AND 게이트(31,32,33)의 입력 단자의 한쪽에 접속되어 해저드(hazard) 검출시에는 상기 AND 게이트의 출력을 논리 0으로 마스크하여 레지스터(1,3,4)로의 기록을 금지한다.
해저드(hazard)는, 예를 들면 프로그램 카운터(PC)를 변경하도록 하는 명령을 파이프라인 처리할때 등 명령을 적절한 사이클로 실행할 수 없는 상황의 존재를 말한다(해저드의 상세는 David A. Patterson, John L. Hennessy, Computer Architecture:A Quantative Approach, 1990 by Morgan Kaufmann Publishers Inc. 64장을 참조, 번역은 「컴퓨터·아키텍쳐」 日經BP社 1992년간).
제1도의 참조 부호(5,6,7)은 서로 상이한 주기로 펄스 신호를 발생하는 타이머를 나타낸다. 타이머의 주기로서 예를 들면 타이머(5)는 33.3ms, 타이머(6)은 2.2ms, 타이머(7)은 100μs정도로 설정된다.
이것은 횡 방향이 360화소, 종 방향이 240화소로 이루어지는 화상을 1초 사이에 30매 처리하고, 또 화상을 16×16의 화소로 이루어지는 구형 영역으로 분할하여 처리하는 화상 처리에 있어서, 화상의 처리 주기를 타이머(5)로, 구형 영역의 횡 방향 1슬라이스분의 처리 주기를 타이머(6)로, 구형 영역의 처리 주기를 타이머(7)로, 각각 설정한 것에 상당한다. 이들 타이머가 발생하는 펄스 신호는 파이프라인 제어부(8)에 전달된다.
본 발명의 정보 처리 장치는 파이프라인 처리를 일시 정지하기 위한 소정의 일시 정지 명령(「stall 명령」이라 칭함)을 명령 세트에 포함하고 있다. stall 명령의 오퍼랜드부에서 이 stall 명령으로 정지된 파이프라인의 동작을 재개하는 파이프라인 재개 수단이 지정된다.
stall 명령이 파이프라인의 명령 레지스터(1)에 세트되어 명령 디코더(2)에서 디코드되면, 명령 디코더(2)로부터 stall 명령의 디코드 신호(stall:41)이 파이프라인 제어부(8)로 전달된다.
stall 명령의 디코드 신호(stall:41)은 파이프라인 제어부(8)의 SR 플립플롭(11)의 세트 단자에 입력되어 시스템 클럭에 동기하여 stall 명령이 다음 단의 실행 제1스테이지(EX1)에 도달하였을때, CLK 단자에 입력되는 시스템 클럭에 동기하여 SR 플립플롭(11)의 출력(Q)는 논리 1로 세트된다. 이때, NOT 게이트(26)의 출력은 논리 0으로 되고, AND 게이트(31,32,33)의 출력을 논리 0으로 마스크 한다.
AND 게이트(31,32,33)은 파이프라인의 각 스테이지의 레지스터(1,3,4)의 기록 허가 신호(Write Enable)을 논리 0으로 세트하고, 레지스터(1,3,4)로의 기록이 금지되며, 이 때문에 파이프라인 처리는 시스템 클럭에 동기하여 다음의 스테이지로 진행하는 것이 가능하지 않아서, 일시 정지(freeze)상태가 된다. 제2도에 도시하는 바와 같이, 파이프라인의 일시 정지 상태에서, stall 명령은 실행 제1스테이지(EX1)에 고정된다.
실행 제1스테이지(EX1)에서 출력되는 stall 명령의 오퍼랜드 신호(stall select:42,43,44)는 타이머(5,6,7)의 펄스 신호를 선택하기 위한 신호로서 AND 게이트(21,22,23)의 입력 단자에 각각 접속되어 있다.
타이머(5)가 선택되는 경우는 신호(42)가 논리 1이 되고, 타이머(5)의 출력 펄스 신호는 AND 게이트(21)를 도통하여 OR 게이트(24)를 통해 SR 플립플롭(11)의 리셋 단자에 입력되며, SR 플립플롭(11)은 다음의 시스템 클럭에 동기하여 그 출력(Q)을 논리 0으로 리셋한다. 또, SR 플립플롭(11)은 세트와 리셋이 동시에 인가된 경우, 리셋 우선되는 것으로 한다.
SR 플립플롭(11)의 출력(Q)가 논리 0으로 되면, NOT 게이트(26)의 출력은 논리 '1로 되고, AND 게이트(31,32,33)의 출력의 마스크를 해제한다. 이들 AND 게이트(31,32,33)의 출력은 다른 일시 정지 요인, 예를 들면 해저드 등이 없는 한, 파이프라인의 각 스테이지의 레지스터(1,3,4)의 기록 허가 신호(Write Enable)를 논리 1로 세트하여 파이프라인 처리가 진행하는 동작(run)상태로 복귀하게 된다.
또, OR 게이트(24)의 입력 단자에는 AND 게이트(21,22,23)의 출력 신호와는 별도로, 시스템 리셋 등의 다른 요인으로 파이프라인을 동작 상태로 하기 위한 신호〔OR 게이트(24)의 입력중 도시한 우단〕이 접속되어 있다.
파이프라인이 동작 상태로 되면, stall 명령의 정보는 제2실행 스테이지(EX2)로 이동하고, stall 명령의 오퍼랜드 신호(42,43,44)는 제1실행 스테이지(EX1)에 전송된 다음 명령이 stall 명령이 아닌 한 논리 0'으로 리셋된다.
파이프라인의 일시 정지 상태로부터 동작 상태로의 이행을 위하여, 타이머(5,6,7)의 출력 펄스 신호는 제2도에 도시하는 바와 같이 2클럭 기간 논리 1로 유지되어 있다. 이것은 본 실시예에서는 타이머(5,6,7)의 출력 펄스 신호가 시스템 클럭에 동기하여 출력되는 것 및 SR 플립플롭(11)이 클럭 동기형인 것에 기인한다. 타이머(5,6,7)의 출력 펄스 신호가 시스템 클럭과 비동기인 경우, 이들 출력 펄스 신호는 CLK 단자에 입력되는 시스템 클럭에 대해 SR 플립플롭(11)의 셋업 시간 및 홀드 시간을 확보한 소정 펄스 폭의 신호이면 좋다.
제2도에 있어서, 펄스 신호가 논리 '1의 2클럭 기간의 2클럭 째(좌로부터 2클럭째)의 상승 에지에서 처음 파이프라인을 동작 상태로 하는 제어가 실행된다. 즉, 제2도에 있어서, 이 2클럭째의 상승 에지에서 실행 제1스테이지(EX1)의 stall 명령 출력이 전달되어 실행 제2스테이지(EX2)의 레지스터(4)로 전송된다.
제1도에 있어서, 3개의 타이머(5,6,7)의 선택용의 오퍼랜드 신호(stall select:42,43,44)는 stall 명령의 오퍼랜드부에 3비트 할당하여 각 비트를 오퍼랜드 신호에 일대 일로 대응시킨 것이라도, 또는 이 신호 선택용으로 오퍼랜드에 2비트 할당하여 이것을 디코드한 것이라도 좋다.
또, 실시예에서는 파이프라인이 일시 정지와 동작을 제어하기 위한 기억 소자로서 클럭 동기형 SR 플립플롭(11)이 사용되고 있지만, 본 발명은 이것에 한정하지 않고, 비동기형의 플립플롭에 의한 구성도 포함한다.
또, 본 실시예에서는 화상 신호를 대상으로 하는 처리 장치에 대응하여 파이프라인 재개 수단을 소정 주기의 펄스 신호를 출력하는 타이머로 하고 있지만, 본 발명에서의 파이프라인 재개 수단은 상기 타이머에 한정되지 않고, 정지된 파이프라인을 재개시키기 위한 소정의 트리거 신호를 출력하는 외부 장치, 주변 장치 또는 처리 장치 등이라도 좋다.
본 발명의 제2실시예를 도면을 참조하여 설명한다. 제3도는 본 발명의 제2실시예의 블럭도이다. 제4도는 제2실시예의 동작을 도시하는 타이밍챠트이다.
제3도에 도시하는 바와 같이, 본 실시예에 따른 정보 처리 장치의 파이프라인 제어부(8)은 제1도에 도시하는 상기 제1실시예의 회로 구성에, 파이프라인의 일시 정지와 동작 재개를 제어하기 위한 OR 게이트(27)을 추가한 것이다. OR 게이트(27)의 한 입력 단자에는 SR 플립플롭(11)의 출력(Q)가 NOT 게이트(26)을 통해 입력되고, 다른 입력 단자에는 OR 게이트(24)의 출력이 입력되어 있다.
본 실시에에 있어서, 파이프라인을 일시 정지 상태로 설정하는 제어 동작은 제1실시예에서 설명한 것과 동일하다. 파이프라인의 동작을 재개하는 경우, 타이머(5,6,7)중 오퍼랜드 신호(stall select:42,43,44)에 의해 선택된 펄스 신호는 OR 게이트(24 및 27)을 통해 그대로 AND 게이트(31,32,33)에 전달되어 이 때문에 파이프라인의 동작 재개시에 SR 플립플롭(11)의 1클럭의 지연이 제거된다.
즉, 본 실시예에서는 타이머(5,6,7)이 출력하는 펄스 신호와 동일 클럭 기간내에서의 파이프라인을 동작 상태로 천이시킬 수 있고, 제4도에 도시하는 바와 같이, 펄스 신호는 1클럭 기간 논리 1로 유지하면 좋다.
제5도는 본 발명의 제3실시예를 도시하는 블럭도이다.
본 실시예에 따른 정보 처리 장치의 파이프라인 제어부(8)에서는 제3도에 도시하는 바와 같이, 일시 정지 명령(stall 명령)의 디코드 신호(41)은 파이프라인의 실행 제1스테이지(EX1)로부터 취출되어 NOT 게이트(26)을 통해 OR 게이트(27)의 한쪽의 입력 단자에 접속되어 있다. 본 실시예(에서는 파이프라인의 일시 정지 상태와 동작 상태를 제어하기 위한 기억 소자 즉, 상기 제1 및 제2실시예의 SR 플립플롭(11)은 사용되고 있지 않다.
본 실시에에서 stall 명령은 실행 제1스테이지(EX1)에 전송되어 실행 제1스테이지(EX1)에서의 stall 명령이 실행되어 stall 명령의 디코드 신호(stall:41)이 출력된다. 실행 제1스테이지(EX1)에서는 stall 명령의 오퍼랜드 신호(stall select:42,43,44)도 출력된다.
논리 1의 디코드 신호(stall:41)은 NOT 게이트(26)에 의해 논리 0으로 되어 OR 게이트(27)을 통해 AND 게이트(31,32,33)의 출력을 논리 0으로 마스크한다. 이 때문에, 파이프라인의 각 스테이지의 레지스터(1,3,4)의 기록이 금지되고, stall 명령은 실행 제1스테이지(EX1)에 고정된다.
본 실시예에 있어서, 파이프라인의 일시 정지 상태로부터 동작 상태로의 천이는 상기 제2실시예와 동일한 동작으로 되고, 제4도에 도시하는 타이밍챠트에 따른다.
이상 설명한 바와 같이, 본 발명의 정보 처리 장치에 의하면, 파이프라인 처리를 이용한 정보 처리 장치에 있어서, 타이머 신호에 정확하게 동기하여 파이프라인 처리를 재개할 수 있다는 이점을 갖고 있고, 신호 처리 등의 데이타 도착에 대응하는 처리에 있어서, 인터럽트 처리를 필요로 하지 않고, 메인 프로그램 내에서 파이프라인 처리를 정지·재개에 대해 제어 가능함과 동시에, 복수의 동작 재개 요인을 선택적으로 지정 가능하고, 이 때문에 신호 처리의 실시간 고속 동기 처리를 실현할 수 있다.
또, 본 발명의 정보 처리 장치에 의하면, 타이머 신호에 의해 직접 파이프라인의 동작 재개를 제어하기 때문에, 타이머 신호에서 파이프라인 재개까지 클럭 지연을 최소로 하는 설계를 용이화할 수 있는 이점을 갖고 있다.
또, 본 발명의 정보 처리 장치에 의하면, 복수의 타이머 신호에 대해 일시 정지 명령의 오퍼랜드부에서 타이머를 선택할 수 있고, 처리 계층에 따라 다른 대기 상태가 필요하게 되는 경우에도 대응 가능하다.
또, 본 발명의 바람직한 실시 양태에 의하면, 파이프라인이 시스템 클럭의 1클럭당 1스테이지 진행하는 정보 처리 장치에 있어서, 이 시스템 클럭에 동기한 파이프라인 제어 로직이 구성되고, 또 일시 정지 명령의 디코드 신호를 실행 제1스테이지(EX1)로부터 취출하는 설계 방식에 의하면, 파이프라인 제어부의 회로 구성이 더욱 간략화되는 이점을 갖는다.

Claims (14)

  1. 명령 실행 과정을 복수의 스테이지로 분할하는 파이프라인 구조를 갖고, 스톨 명령(stall instruction)을 포함하는 명령 세트를 가진 데이터 처리 시스템에 있어서, 파이프라인 동작의 실행 및 스톨 명령을 제어하는 파이프라인 제어 수단 및 상기 파이프라인 동작을 재개하는 타이밍 신호가 발생되는 경우에 상기 스톨 명령에 따라 선택되는 복수의 파이프라인 동작 재개 수단을 구비하며, 상기 파이프라인 제어 수단이 상기 스톨 명령의 실행에 의해서 발생된 스톨 신호를 기초로 상기 스테이지를 일시정지(frozen) 상태로 설정하고, 상기 스톨 명령에 포함된 오퍼랜드에 의해서 지정된 상기 파이프라인 동작 재개 수단에 의해서 발생된 상기 타이밍 신호에 기초하여 상기 일시정지 상태를 동작(run)상태로 복귀하여 인터럽트 처리없이 데이타의 도착과 동기해서 처리가 이루어지도록 하는 것을 특징으로 하는 데이타 처리 시스템.
  2. 제1항에 있어서, 상기 스톨 명령이 상기 파이프라인 동작 재개 수단을 재개하는 오퍼랜드부를 포함하는 것을 특징으로 하는 데이타 처리 시스템.
  3. 제1항에 있어서, 상길 파이프라인 제어 수단이 상기 파이프라인 동작의 스톡의 설정 및 해제를 기억하기 위한 메모리 수단을 구비하며, 상기 메모리 수단은 상기 파이프라인 구조에서의 명령 디코드 스테이지로부터 출력된 상기 스톨 명령의 디코드된 신호를 수신하기 위해서 접속된 세트 단자를 갖고 있고, 상기 메모리 수단의 출력은 상기 메모리 수단이 세트 상태에 있을때 상기 스테이지 레지스터로의 기록을 금지하도록 상기 파이프라인 구조에서의 복수의 스테이지 레지스터로 공급되며, 상기 메모리 수단은 상기 메모리 수단이 리세트 상태에 있을때 상기 스테이지 레지스터의 각각에의 기록이 가능하도록 상기 스톨 명령에 의해서 지정된 상기 파이프라인 동작 재개 수단에 의해서 발생된 상기 타이밍 신호를 수신하도록 접속된 리세트 단자도 포함하고 있는 것을 특징으로 하는 데이타 처리 시스템.
  4. 제1항에 있어서, 상기 파이프라인 제어 수단은 상기 파이프라인 동작의 스톨의 설정 및 해제를 기억하기 위한 메모리 수단을 구비하며, 상기 메모리 수단을 상기 파이프라인 구조에서의 명령 디코드 스테이지로부터 출력된 상기 스톨 명령의 디코드된 신호를 수신하기 위해서 접속된 세트 단자를 갖고 있고, 상기 메모리 수단의 출력은 상기 메모리 수단이 세트 상태에 있을때 상기 스테이지 레지스터의 각각으로의 기록을 금지하도록 파이프라인 구조에서의 복수의 스테이지 레지스터로 게이트 수단을 통해서 공급되며, 상기 스톨 명령에 의해서 지정된 상기 파이프라인 동작 재개 수단에 의해서 발생된 상기 타이밍 신호는 상기 메모리 수단 및 상기 게이트 수단의 리세트 단자로 공급되어, 상기 메모리 수단이 리세트 상태로 설정되고 상기 타이밍 신호가 상기 스테이지 레지스터 각각에의 기록이 가능하도록 상기 게이트 수단을 통해 상기 스테이지 레지스터의 각각으로 공급되는 것을 특징으로 하는 데이타 처리 시스템.
  5. 제1항에 있어서, 상기 파이프라인 제어 수단은 상기 파이프라인 동작의 스톨의 설정 및 해제를 기억하기 위한 게이트 수단을 구비하며, 상기 게이트 수단의 출력은 상기 파이프라인 구조에서의 복수의 스테이지 레지스터 각각의 제어 입력에 접속되며, 상기 파이프라인 구조에서의 명령 디코드 스테이지레지스터부터 출력된 상기 스톨 명령의 디코드된 신호는 상기 스테이지 레지스터 각각에의 기록을 금지하도록 상기 게이트 수단으로 공급되며, 상기 스톨 명령에 의해서 지정된 상기 파이프라인 명령 재개 수단에 의해서 발생된 상기 타이밍 신호는 상기 스테이지 레지스터 각각에의 기록이 가능하도록 상기 게이트 수단으로 공급되는 것을 특징으로 하는 데이타 처리 시스템.
  6. 제1항에 있어서, 상기 파이프라인 제어 수단은 복수의 파이프라인 동작 재개 수단으로부터 상기 스톨 명령에 의해서 지정된 하나의 파이프라인 동작 재개 수단을 선택하기 위해 선택 수단을 포함하는 것을 특징으로 하는 데이타 처리 시스템.
  7. 제1항에 있어서, 상기 파이프라인 제어 수단은 상기 스톨 명령이 제2실행 스테이지로 전송되었을때 상기 스톨 명령을 수반하는 명령이 스톨 명령이 아닌 경우에 상기 스톨 명령에 의해서 상기 파이프라인 동작 재개 수단의 지정을 재개하기 위한 수단을 포함하는 것을 특징으로 하는 데이타 처리 시스템.
  8. 제1항에 있어서, 상기 파이프라인 동작 재개 수단은 소정의 펄스 신호를 주기적으로 발생하는 적어도 하나의 타이머를 포함하는 것을 특징으로 하는 데이타 처리 시스템.
  9. 제1항에 있어서, 상기 파이프라인 동작을 상기 스톨 명령에 의해서 지정된 상기 파이프라인 명령 재개 수단의 타이밍 신호에 동기하여 재개되고, 상기 타이밍 신호는 상기 파이프라인 제어 수단으로 직접 공급되는 것을 특징으로 하는 데이타 처리 시스템.
  10. 제1항에 있어서, 상기 파이프라인 제어 수단은 상기 서로 다른 소정의 펄스 신호를 주기적으로 발생하는 복수의 타이머를 포함하는 것을 특징으로 하는 데이타 처리 시스템.
  11. 제1항에 있어서, 상기 데이터처리 시스템은 상기 파이프라인 제어 수단이 동기하여 동작되는 시스템 클럭을 수신하는 것을 특징으로 하는 데이타 처리 시스템.
  12. 제1항에 있어서, 상기 파이프라인 제어 수단은 상기 스톨 명령이 상기 제2실행 스테이지로 전송될때 상기 스톨 명령을 수반하는 명령이 스톨 명령이 아닌 경우에 상기 스톨 명령에 의해서 상기 파이프라인 동작 재개 수단의 지정을 재설정하기 위한 수단을 포함하며, 상기 재설정 수단에 의해 재설정 동작은 상기 지정을 해제하기 위한 개별 리세트 명령이 전혀 없는 것을 특징으로 하는 데이타 처리 시스템.
  13. 제1항에 있어서, 상기 파이프라인 동작 재개 수단은 복수의 타이머를 포함하며, 상기 파이프라인 제어 수단은 상기 복수의 타이머 각각의 출력을 그의 제1입력으로 각각 수신하는 복수의 AND 게이트를 포함하는 것을 특징으로 하는 데이타 처리 시스템.
  14. 제1항에 있어서, 상기 파이프라인 동작은 상기 파이프라인 동작 재개 수단에 의해서 발생된 상기 타이밍 신호와 동기하여 재개되는 것을 특징으로 하는 데이타 처리 시스템.
KR1019940015894A 1993-07-05 1994-07-04 정보 처리 장치 KR0136019B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP93-165612 1993-07-05
JP5165612A JP2748822B2 (ja) 1993-07-05 1993-07-05 情報処理装置

Publications (2)

Publication Number Publication Date
KR950003974A KR950003974A (ko) 1995-02-17
KR0136019B1 true KR0136019B1 (ko) 1998-06-15

Family

ID=15815675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940015894A KR0136019B1 (ko) 1993-07-05 1994-07-04 정보 처리 장치

Country Status (5)

Country Link
US (1) US5579498A (ko)
EP (1) EP0633522B1 (ko)
JP (1) JP2748822B2 (ko)
KR (1) KR0136019B1 (ko)
DE (1) DE69424092T2 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761492A (en) * 1996-05-07 1998-06-02 Lucent Technologies Inc. Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
US5850556A (en) * 1996-12-26 1998-12-15 Cypress Semiconductor Corp. Interruptible state machine
KR100237642B1 (ko) * 1996-12-30 2000-01-15 구자홍 파이프라인 정지회로를 구비한 프로세서
JP2954119B2 (ja) * 1997-11-26 1999-09-27 日本電気株式会社 命令実行サイクル可変回路
US6507862B1 (en) * 1999-05-11 2003-01-14 Sun Microsystems, Inc. Switching method in a multi-threaded processor
WO2002077799A1 (en) * 2001-03-22 2002-10-03 Infineon Technologies Ag Program-controlled unit employing a stop instruction
US7155718B1 (en) * 2002-04-04 2006-12-26 Applied Micro Circuits Corp. Method and apparatus to suspend and resume on next instruction for a microcontroller
US7000095B2 (en) * 2002-09-06 2006-02-14 Mips Technologies, Inc. Method and apparatus for clearing hazards using jump instructions
FR2867872A1 (fr) * 2004-03-18 2005-09-23 St Microelectronics Sa Dispositif et procede de gestion d'un etat d'attente d'un microprocesseur
FR2867873A1 (fr) * 2004-03-18 2005-09-23 St Microelectronics Sa Dispositif et procede de gestion d'un etat d'attente d'un microprocesseur
US8238415B2 (en) * 2006-02-14 2012-08-07 Broadcom Corporation Method and system for programmable breakpoints in an integrated embedded image and video accelerator
JP2009054032A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 並列プロセッサ
US8078843B2 (en) 2008-01-31 2011-12-13 International Business Machines Corporation Facilitating processing in a computing environment using an extended drain instruction
EP2816466B1 (en) * 2012-02-14 2019-01-16 Renesas Electronics Corporation Data processing device
US9323312B2 (en) * 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9507406B2 (en) 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
GB2563384B (en) 2017-06-07 2019-12-25 Advanced Risc Mach Ltd Programmable instruction buffering

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5342218B2 (ko) * 1972-07-20 1978-11-09
JPS5238853A (en) * 1975-09-23 1977-03-25 Oki Electric Ind Co Ltd Microprogram control system
US4482983A (en) * 1980-06-23 1984-11-13 Sperry Corporation Variable speed cycle time for synchronous machines
JPS59111526A (ja) * 1982-12-16 1984-06-27 Fujitsu Ltd 信号処理方式
JPS6010355A (ja) * 1983-06-30 1985-01-19 Fujitsu Ltd 中央処理装置の使用率測定方式
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JPS6037038A (ja) * 1983-08-09 1985-02-26 Sanyo Electric Co Ltd マイクロコンピユ−タ
US5125088A (en) * 1986-09-08 1992-06-23 Compaq Computer Corporation Computer system speed control at continuous processor speed
US5274796A (en) * 1987-02-09 1993-12-28 Teradyne, Inc. Timing generator with edge generators, utilizing programmable delays, providing synchronized timing signals at non-integer multiples of a clock signal
JPH0770961B2 (ja) * 1988-08-12 1995-07-31 日本電気株式会社 マイクロコンピュータ
US5150469A (en) * 1988-12-12 1992-09-22 Digital Equipment Corporation System and method for processor pipeline control by selective signal deassertion
US5313621A (en) * 1990-05-18 1994-05-17 Zilog, Inc. Programmable wait states generator for a microprocessor and computer system utilizing it
JP2576262B2 (ja) * 1990-05-22 1997-01-29 三菱電機株式会社 情報処理装置
JPH04205425A (ja) * 1990-11-30 1992-07-27 Nec Corp データ処理装置及びそのデータ処理方法
US5203003A (en) * 1991-03-28 1993-04-13 Echelon Corporation Computer architecture for conserving power by using shared resources and method for suspending processor execution in pipeline

Also Published As

Publication number Publication date
EP0633522A1 (en) 1995-01-11
JPH0721021A (ja) 1995-01-24
KR950003974A (ko) 1995-02-17
DE69424092D1 (de) 2000-05-31
DE69424092T2 (de) 2001-02-01
EP0633522B1 (en) 2000-04-26
JP2748822B2 (ja) 1998-05-13
US5579498A (en) 1996-11-26

Similar Documents

Publication Publication Date Title
KR0136019B1 (ko) 정보 처리 장치
KR950005217B1 (ko) 프로세서 클럭 신호 제어 방법 및 정보 처리 시스템
KR100500002B1 (ko) 복수의명령흐름을독립적으로처리하고,명령흐름단위로처리성능을유연하게제어하는멀티스레드프로세서
US7958339B2 (en) Instruction execution control device and instruction execution control method
EP0045634B1 (en) Programmable digital data processing apparatus arranged for the execution of instructions in overlap
EP1685486B1 (en) Interrupt handling in an embedded multi-threaded processor to avoid priority inversion and maintain real-time operation
US4310880A (en) High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
JPH06139189A (ja) 共有バス調停機構
JP2008522277A (ja) 優先度の付けられたタスク間の効率的な切り換え
US5499348A (en) Digital processor capable of concurrently executing external memory access and internal instructions
JPS6232504B2 (ko)
JP2007058331A (ja) プロセッサシステム及びマルチスレッドプロセッサ
US9430419B2 (en) Synchronizing exception control in a multiprocessor system using processing unit exception states and group exception states
KR950004227B1 (ko) 정보처리시스템
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JP2770420B2 (ja) マイクロプログラム制御方式
JPS6226487B2 (ko)
JPH10187634A (ja) 同期制御方法および主記憶共有型並列プロセッサ
JPH0540621A (ja) マイクロプロセツサ
JPS58205258A (ja) デ−タ処理装置
JPS61170831A (ja) 中央処理装置の命令実行制御装置
Egerton The use of interrupts in a time-sharing computer system.
JPS6134167B2 (ko)
JPH0561671A (ja) マイクロプログラム制御回路
JPH04353928A (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: 20020110

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee