KR910006144B1 - 느슨하게 결합된 파이프라인 프로세서 - Google Patents

느슨하게 결합된 파이프라인 프로세서 Download PDF

Info

Publication number
KR910006144B1
KR910006144B1 KR1019870015245A KR870015245A KR910006144B1 KR 910006144 B1 KR910006144 B1 KR 910006144B1 KR 1019870015245 A KR1019870015245 A KR 1019870015245A KR 870015245 A KR870015245 A KR 870015245A KR 910006144 B1 KR910006144 B1 KR 910006144B1
Authority
KR
South Korea
Prior art keywords
operand
control information
priority reading
instruction
priority
Prior art date
Application number
KR1019870015245A
Other languages
English (en)
Other versions
KR880008150A (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 KR880008150A publication Critical patent/KR880008150A/ko
Application granted granted Critical
Publication of KR910006144B1 publication Critical patent/KR910006144B1/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
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • 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/3824Operand accessing
    • G06F9/383Operand prefetching

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)
  • Executing Machine-Instructions (AREA)

Abstract

내용 없음.

Description

느슨하게 결합된 파이프라인 프로세서
제1도는 본 발명에 있어서의 제1의 실시예의 느슨하게 결합된 파이프라인 프로세서 전체의 구성을 도시한 블록도.
제2도는 동실시예의 상세한 구성을 도시한 블록도.
제3도는 동실시예의 동작파형도.
제4도는 종래예의 동작파형도.
제5도는 본 발명에 있어서의 제2의 실시예의 느슨하게 결합된 파이프라인 프로세서 전체의 구성을 도시한 블록도.
제6도는 동실시예의 상세한 구성을 도시한 블록도.
제7도는 종래의 파이프라인 프로세서의 구성을 도시한 블록도.
* 도면의 주요부분에 대한 부호의 설명
1 : 명령해독장치 2 : 오퍼랜드ㆍ어드레스 계산장치
3 : 오퍼랜드 우선판독장치 4 : 연산장치
5 : 제어정보버퍼 6 : 명령우선판독장치
7 : 칩버스 8 : 버스제어장치
9 : 오퍼랜드 준비완료신호
본 발명은 프로세서의 고속화를 목적으로 한 파이프라인처리에 관한 것이다.
종래의 파이프라인 프로세서는 명령해독장치, 오퍼랜드ㆍ어드레스 계산장치, 오퍼랜드 우선판독장치, 연산장치등이 종속접속되어 있다.
제7도는 이러한 종래의 파이프라인 프로세서의 구성도를 도시한 것이다. 제7도에 있어서 (101)은 명령해독장치, (102)는 오퍼랜드의 어드레스 계산을 행하는 우선판독장치 a, (103)는 오퍼랜드의 우선판독을 행하는 오퍼랜드 우선판독장치 b, (104)는 연산장치, (105)는 명령코우드의 우선판독을 행하는 명령우선판독장치, (106)은 메모리ㆍI/O등을 접속하는 칩버스, (107)은 오퍼랜드 우선판독장치 b(103), 명령우선판독장치(105) 및 오퍼랜드의 기입시의 연산장치(104)로부터의 요구를 조정하여 칩버스(106)의 제어를 행하는 버스제어장치이다.
명령해독장치(101)는 명령우선판독장치(105)에 의하여 우선판독된 명령코우드를 판독하여, 명령실행에 과한 제어정보와, 메모리 오퍼랜드의 인출을 수반할 경우는 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보를, 또 메모리에의 기입을 수반할 경우는 오퍼랜드의 어드레스 계산을 위한 제어정보를 오퍼랜드 우선판독장치 a(102)에 발행한다.
오퍼랜드 우선판독장치 a(102)는 오퍼랜드 어드레스 계산을 행하는 오퍼랜드 어드레스와 메모리참조를 수반하는 제어정보와, 명령실행에 관한 제어정보를 오퍼랜드 우선판독장치 b(103)에 송출한다.
오퍼랜드 우선판독장치 b(103)는 메모리 오퍼랜드의 인출이 필요한 경우는 버스제어장치(107)에 요구를 출력하고, 오퍼랜드 우선판독장치 a(102)로부터 수취된 오퍼랜드 어드레스에 따라서 메모리의 우선판독을 행한다. 우선판독데이터, 기입어드레스 및 명령실행에 관한 제어정보는 연산장치(104)에 송출한다.
연산장치(104)는 오퍼랜드 우선판독장치 b(103)로부터 수취된 우선판독 데이터 및 명령실행에 관한 제어정보에 따라서 연산을 실행한다. 또, 연산결과의 메모리에의 기입을 필요로 할 경우는 제어장치(107)에 요구를 출력하고, 오퍼랜드 우선판독장치 b(103)로부터 수취된 기입어드레스에 따라서 연산결과의 메모리에의 기입을 행한다.
이상과 같이 구성된 종래의 파이프라인 프로세서에 대하여 이하 그 동작을 설명한다.
제4도는 동작파형을 도시한 도면이다. 명령해독장치(101), 오퍼랜드 우선판독장치 a(102), 오퍼랜드 우선판독장치b(103) 및 연산장치(104)에 있어서 실행되고 있는 명령을 클록단위로 표시하고 있다. 각 장치의 필요클록수는 명령해독장치(101)(1클록), 오퍼랜드 우선판독장치 a(102)(1클록), 오퍼랜드 우선판독장치 b(103)(3클록) 및 연산장치(104)(1클록)의 경우를 표시하고 있다. 실행하고 있는 명령시이퀀스는, 메모리 오퍼랜드의 인출이 필요한 명령에 계속해서 2명령의 메모리 오퍼랜드의 인출이 불필요한 명령을 실행하고, 이 3명령이 반복하게 되어있다. 구체적으로는 명령 1,4,7,10,13이 메모리 오퍼랜드의 인출이 필요한 명령이며, 명령 2,3,5,6,8,9,11,12,14,15가 메모리 오퍼랜드의 인출이 불필요한 명령이다. 또 파이프라인의 초기상태는 빈상태(예를 들면 조건분기식)로 하고 있다.
명령1은 클록t1에, 명령해독장치(101)에서 명령해독을 행하고, 명령실행에 관한 제어정보와, 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보을 오퍼랜드 우선판독장치 a(102)에 발행한다. 클록t2에, 오퍼랜드 우선판독장치 a(102)에서 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보에 따라서, 오퍼랜드의 어드레스 계산이 행해져서, 오퍼랜드 어드레스와 명령실행에 관한 제어정보와, 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보를 오퍼랜드 우선판독장치 b(103)에 송출한다. 클록t3-t5에, 오퍼랜드 우선판독장치 b(103)에서 어드레스 계산 및 우선판독을 위한 제어정보에 따라서, 오퍼랜드의 우선판독이 행해져서, 우선판독 데이터와, 명령실행에 관한 제어정보를 연산장치(104)에 송출한다. 클록t6에, 연산장치(104)에서는 명령실행에 관한 제어정보에 따라서 실행한다.
명령2는 클록t2에, 명령해독장치(101)에서 명령해독이 행해져서, 메모리 오퍼랜드의 인출이 불필요한 명령이기 때문에 명령실행에 관한 제어정보만을 오퍼랜드 우선판독장치 a(102)에 발행한다. 클록t3에, 오퍼랜드 우선판독장치 a(102)의 스테이지를 통과하나, 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보가 없기때문에 아무것도 행하지 않고, 명령실행에 관한 제어정보를 오퍼랜드 우선판독장치 b(103)에 송출하게 한다. 그러나, 명령1의 오퍼랜드 우선판독장치 b(103)에서의 실행이 완료되어 있지 않기 때문에, 명령2의 명령실행에 관한 제어정보의 송출은 클록t6까지 지연된다. 클록t6에, 오퍼랜드 우선판독장치 b(103)의 스테이지를 통과하나, 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보가 없기 때문에 아무것도 행하지 않고, 명령실행에 관한 제어정보를 연산장치(104)에 송출한다. 클록t7에, 연산장치(104)에 있어서는 명령실행에 관한 제어정보에 따라서 실행한다.
그러나, 상기와 같은 구성에 있어서는 메모리 오퍼랜드의 인출이 불필요한 레지스터 사이의 연산등의 명령에 있어서도, 오퍼랜드의 어드레스 계산이나 우선판독등의 파이프라인ㆍ스테이지의 불필요한 통과가 필요하게 된다. 이 때문에, 메모리 오퍼랜드의 인출이 불필요한 명령의 파이프라인 스테이지의 불필요한 통과에의해, 본래 오퍼랜드의 인출이 필요한 명령의 오퍼랜드 억세스를 위한 버스대역을 제한하고 있다. 예를 들면 제4도에 도시한 종래의 파이프라인 프로세서의 동작파형도와 같이, 메모리 오퍼랜드의 인출이 불필요한 명령과 필요한 명령의 명령출현 빈도가 2:1이고, 메모리 오퍼랜드의 인출이 행할 경우와 행하지 않을 경우와의 실행시간을 3:1이라고 하면, 오퍼랜드억세스를 위한 버스대역의 60%만큼 밖에 오퍼랜드억세스에 사용되지 않는다는 문제점을 가지고 있었다.
본 발명은 메모리 오퍼랜드의 인출이 불필요한 명령일 경우는 제어정보등이 메모리 오퍼랜드의 인출에 관계한 파이프라인ㆍ스테이지를 통과함으로써, 본래 오퍼랜드의 인출이 필요한 명령의 오퍼랜드 억세스를 위하여 사용가능한 버스대역의 제한을 경감하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여 명령해독장치로부터 오퍼랜드 우선판독장치와 연산장치를 제어하기 위한 제어정보를 분리해서 필요한 정보만을 발행하여, 오퍼랜드의 어드레스 계산과 우선판독을 행하는 오퍼랜드 우선판독장치에는 직접송출하고, 연산장치를 제어하기 위한 제어정보는 제어정보버퍼에 의해 대기(queuing)시켜 연산장치로부터의 요구에 따라서 대시시킨 제어정보를 연산장치에 발행한다. 연산장치는 제어정보버퍼에 의하여 수취된 제어정보에 따라 동작하고, 필요에 따라서 오퍼랜드 우선판독장치로부터 오퍼랜드를 수취한다. 이것에 의하여 메모리 오퍼랜드의 인출에 관계한 파이프라인ㆍ스테이지가 메인파이프라인(명령인출→ 명령해독→ 명령실행)으로부터 분리하여 병행동작이 가능하게 되며, 필요에 따라서 파이프라인ㆍ스테이지로서 삽입된 상태로 동작가능하게 된다.
이하, 본 발명의 실시예에 대해서 첨부도면을 참조하면서 설명한다.
제1도는 본 발명의 제1의 실시예에 있어서의 느슨하게 결합된 파이프라인 프로세서 전체의 구성을 도시한 블록도를 도시한 것이다. 제1도에 있어서, (1)은 명령해독장치, (2)는 오퍼랜드의 어드레스 계산을 행하는 오퍼랜드ㆍ어드레스 계산장치, (3)은 오퍼랜드의 우선판독을 행하는 오퍼랜드 우선판독장치, (4)는 연산장치, (5)는 제어정보버퍼, (6)은 명령코우드의 우선판독을 행하는 명령우선판독장치, (7)은 메모리ㆍI/O등을 접속하는 칩버스, (8)은 오퍼랜드 우선판독장치(3), 명령우선판독장치(6) 및 오퍼랜드의 기입시의 연산장치(4)로부터의 요구를 조정하여 칩버스(7)의 제어를 행하는 버스제어장치, (9)는 오퍼랜드 우선판독장치(3)에 의한 오퍼랜드의 준비상태를 제어정보버퍼(5)에 통지하기 위한 오퍼랜드 준비완료 신호이다.
또 제2도는 이 실시예에 있어서의 느슨하게 결합된 파이프라인 프로세서의 명령해독장치(1), 오퍼랜드ㆍ어드레스 계산장치(2), 오퍼랜드 우선판독장치(3), 연산장치(4), 제어정보버퍼(5), 오퍼랜드 준비완료신호(9)의 관계를 도시한 상세한 블록도이다.
명령해독장치(1)는, 명령우선판독장치(6)에 의해서 우선판독된 명령코우드를 명령레지스터(IR)(10)에 격납하고, 복호기(11)에 의해서 해독한다. 메모리 오퍼랜드의 인출을 수반할 경우는 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보(12)를 오퍼랜드ㆍ어드레스 계산장치(2)에 발행한다. 또, 명령실행에 관한 제어정보(13)는 제어정보버퍼(5)에 발행한다. 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보(12)는 오펴랜드의 어드레스 계산을 위한 제어정보(OAG)와, 메모리참조에 필요한 제어정보(ACS)로 이루어진다. 또, 명령실행에 관한 제어정보(13)는 연산의 종류(OP),소오스ㆍ오퍼랜드를 나타내는 정보(SRC), 디스네이션ㆍ오퍼랜드를 나타내는 정보(DST) 및 메모리ㆍ오퍼랜드를 필요로 할 것인지의 요부를 나타내는 정보(MEM)로 이루어진다.
오퍼랜드ㆍ어드레스 계산장치(2)는 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보(12)의 오퍼랜드의 어드레스 계산을 위한 제어정보(OAG)에 따라 오퍼랜드의 어드레스 계산을 행한다. 오퍼랜드 어드레스와 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보(12)의 메모리 참조에 필요한 제어종부(ACS)를 오퍼랜드
우선판독에 관한 제어정보(14)로서 오퍼랜드 우선판독장치(3)에 송출한다.
오퍼랜드 우선판독장치(3)는 메모리 오퍼랜드의 인출이 필요한 경우는 버스제어장치(8)에 요구를 출력하여, 오퍼랜드ㆍ어드레스 계산장치(2)로부터 수취된 오퍼랜드 우선판독에 관한 제어정보(14)중의, 오퍼랜드 어드레스(OA) 및 메모리 참조에 필요한 제어정보(ACS)에 따라서 메모리의 우선판독을 행하여, 판독된 데이터 대기행렬(15)에 대기시킨다. 데이터 대기행렬(15)에 있어서의 우선판독 데이터의 대기상태는 오퍼랜드 준비완료 신호(9)를 개재해서 제어정보버퍼(5)에 송출한다.
제어정보버퍼(5)는, 명령해독장치(1)로부터 수취한 연산장치(4)의 제어정보(13)의 대기를 행한다. 또, 연산장치(4)로부터의 요구에 따라서, 명령실행에 관한 제어정보(13)중, 연산의 종류(OP), 소오스ㆍ오퍼랜드를 나타내는 정보(SRC), 디스티네이션ㆍ오퍼랜드를 나타내는 정보(DST)를 명령실행에 관한 제어정보(16)로서 연산장치(4)에 발행한다. 이때, 발생하는 명령실행에 관한 제어정보(16)가 우선판독데이터를 필요로 할 경우는, 오퍼랜드 준비완료 신호(9)를 개재해서 제어정보버퍼(5)의 우선판독데이터의 대기상태의 확인을 행한다. 준비가 완료되어 있지않을 경우는, 우선판독데이터의 준비가 완료될때까지, 제어정보의 발행을 지연시킨다. 이것은, 발행하는 명령실행에 관한 제어정보(16)에 대응한 메모리ㆍ오퍼랜드를 필요로 할 것인지의 여부를 나타내는 정보(MEM)가 메모리ㆍ오퍼랜드가 필요한 것을 표시하고, 오퍼랜드 준비완료신호(9)가 우선판독데이터의 준비를 할 수 없는 것을 표시하였을 때에, 명령실행에 관한 제어정보(16)가 유효한 것을 나타내는 유효신호(17)를 무효로함으로써 행한다.
연산장치(4)는, 제어정보버퍼(5)로부터 수취된 제어정보(16) 및 유효신호(17)에 따라서 연산을 실행한다. 명령실행에 관한 제어정보(16)의 소오스ㆍ오퍼랜드를 나타내는 정보(SRC) 및 디스티네이션ㆍ오퍼랜드를 나타내는 정보(DST)가 레지스터를 표시하고 있을 경우에는 레지스터ㆍ뱅크(18)로부터 데이터를 독출하여, 연산의 종류(OP)에 따라서 연산을 행하고, 연산결과를 디스티네이션ㆍ오퍼랜드를 나타내는 정보(DST)가 나타내는 레지스터에 격납한다. 소오스ㆍ오퍼랜드를 나타내는 정보(SRC) 또한 디스티네이션ㆍ오퍼랜드를 나타내는 정보(DTS)가 메모리를 표시하고 있을 경우는, 오퍼랜드 우선판독장치(3)로부터 수취한 우선판독데이터를 입력으로서 사용한다. 또, 디스티네이션ㆍ오퍼랜드를 나타내는 정보(DTS)가 메모리를 표시하고 있을 경우는, 연산결과가 메모리에의 기입을 필요로하여, 버스제어장치(8)를 개재해서 연산결과를 메모리에 기입한다.
이상과 같이 구성된 실시예의 느슨하게 결합된 파이프라인 프로세서에 대해서, 이하 그 동작을 설명한다. 제3도는 동작파형도를 도시한 것이다. 명령해독장치(1), 오퍼랜드ㆍ어드레스 계산장치(2), 오퍼랜드 우선판독장치(3) 및 연산장치(4)에 있어서, 실행되고 있는 명령을 클록단위로 표시하고, 동시에 제어정보버퍼(5)에 있어서의 연산장치(4)를 위한 제어정보의 대기상태를 표시하고 있다. 각 장치의 필요 클록수는, 명령해독장치(1)(1클록), 오퍼랜드ㆍ어드레스 계산장치(2)(1클록), 오퍼랜드 우선판독장치(3)(3클록) 및 연산장치(4)(1클록)의 경우를 표시하고 있다. 실행되고 있는 명령시이퀀스는, 메모리 오퍼랜드의 인출이 필요한 명령에 계속해서 2명령의 메모리 오퍼랜드의 인출이 불필요한 명령을 실행하고, 이 3명령이 반복하게 되어있다. 구체적으로는 명령 1,4,7,10,13이 메모리 오퍼랜드의 인출이 필요한 명령이며, 명령 2,3,5,6,8,9,11,12,14,15가 메모리 오퍼랜드의 인출이 불필요한 명령이다. 또, 파이프라인의 초기상태는 빈상태(예를 들면 분기명령실행직후)로 하고 있다. 명령1은, 클록t1에, 명령해독장치(1)에서 명령해독을 행하여, 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보를 오퍼랜드ㆍ어드레스 계산장치(2)에 발행하고, 명령실행에 관한 제어정보를 제어정보버퍼(5)에 발행한다. 그러나, 데이터의 준비가 완료되어있지 않기 때문에, 명령실행에 관한 제어정보는 제어정보비퍼(5)에 대기된 상태로 연산장치(4)에의 발행은 지연된다. 오퍼랜드의 어드레스 계산 및 우선판독을 위한 제어정보에 따라서, 클록t2에, 오퍼랜드ㆍ어드레스 계산장치(2)에서 오퍼랜드의 어드레스 계산이 행하여져서, 클록t3-t5에 오퍼랜드 우선판독장치(3)에서 오퍼랜드의 우선판독이 행해진다.
데이터의 준비가 완료함으로써 제어정보버퍼(5)에 있어서 대기되어 있는 명령실행에 관한 제어정보가 발행되어, 클록t6에, 연산장치(4)에서 실행된다. 명령2는 클록t2에, 명령해독장치(1)에서 명령해독이 행해지고, 메모리 오퍼랜드의 인출이 불필요한 명령이기 때문에 명령실행에 관한 제어정보만을 제어정보버퍼(5)에 발행한다. 그러나, 명령1을 위한 제어정보의 발행이 완료되어있지 않기 때문에, 명령실행에 관한 명령2의 제어정보는 제어정보버퍼(5)에 대기시킨 상태로 연산장치(4)에의 발행은 클록t7까지 지연된다. 이 예에서는 오퍼랜드 우선판독에 있어서 오퍼랜드 우선판독장치(3)가 율속단계(rate determining step)로 되어 오퍼랜드 억세스를 위한 버스대역의 100%가 오퍼랜드 억세스에 사용되고 있다. 이것은, 종래예에 있어서의 버스대역의 사용을 60%와 비교해서 크게 개선되어 있다.
이상과 같이 본 실시예에 의하면, 오퍼랜드ㆍ어드레스 계산장치(2) 및 우선판독장치(3)와 연산장치(4)를 제어하기 위한 제어정보를 분리해서 필요한 정보만을 명령해독장치(1)에서 송출하고, 연산장치(4)를 제어하기 위한 제어정보는 제어정보버퍼(5)에 의해서 대기시켜 연산장치(4)로부터의 요구에 따라서 대기시킨 제어정보를 연산장치(4)에 발행함으로써, 오퍼랜드 우선판독을 메인파이프라인(명령인출→명령해독→명령실행)으로부터 독립시켜 요구에 따라서 파이프라인ㆍ스테이지로서 삽입가능하게된다. 따라서, 메모리 오퍼랜드의 인출이 불필요한 레지스터간의 연산등의 명령에 대해서는 연산장치(4)를 제어하기 위한 제어정보만을 발행하고, 메모리 오퍼랜드의 인출이 필요한 명령에 대해서는 오퍼랜드ㆍ어드레스 계산장치(2) 및 오퍼랜드 우선판독장치(3)를 제어하기 위한 제어정보와 연산장치(4)를 제어하기 위한 제어정보의 양쪽을 발행한다. 이 때문에 메모리 오퍼랜드의 인출이 불필요한 레지스터사이의 연산등의 명령에 대해서는 메인파이프라인(명령인출→명령해독→명령실행)만이 동작하여, 분기명령실행직후 등의 파이프라인의 혼란이 발생하였을 경우의 파이프라인을 충전하기 위한 오우버헤드를 회피하고, 또 오퍼랜드의 어드레스 계산이나 우선판독등의 불필요한 제어정보가, 메모리 오퍼랜드의 인출에 관계한 파이프라인ㆍ스테이지인 오퍼랜드ㆍ어드레스 계산장치(2) 및 오퍼랜드 우선판독장치(3)를 통과하지 않게된다. 이 때문에, 메모리 오퍼랜드의 인출이 불필요한 명령의 파이프라인ㆍ스테이지의 불필요한 통과에 의한 본래 메모리 오퍼랜드의 인출이 필요한 명령의 오퍼랜드 억세스를 위한 버스대역의 제한을 회피할 수 있다. 동시에, 본 실시예에 있어서는 오퍼랜드 우선판독장치(3)에 있어서 대기를 행하고 있기 때문에 메모리 오퍼랜드의 인출이 불필요한 명령과 필요한 명령의 명령출현빈도가 국소적으로 변동하여도 대응이 가능하여 오퍼랜드억세스를 위한 버스대역의 유효이용을 실현한 수 있다.
제5도는 본 발명의 제2의 실시예에 있어서의 느슨하게 결합된 파이프라인 프로세서 전체의 구성도를 도시한 것이다. 제5도에 있어서, (1)은 명령해독장치, (2)는 오퍼랜드의 어드레스 계산을 행하는 오퍼랜드ㆍ어드레스 계산장치, (3)은 오퍼랜드의 우선판독을 행하는 오퍼랜드 우선판독장치, (4)는 연산장치, (5)는 제어정보버퍼, (6)은 명령코우드의 우선판독을 행하는 명령우선판독장치, (7)은 메모리ㆍI/O등을 접속하는 칩버스, (8)은 오퍼랜드 우선판독장치(3), 명령우선판독장치(6) 및 오퍼랜드의 기입시의 연산장치(4)로부터의 요구를 조정하여 칩버스(7)의 제어를 행하는 버스제어장치이고, 제1도의 구성과 같은 것이다. 제1도의 구성과 다른 점은 오퍼랜드 우선판독장치(3)에 의한 오퍼랜드의 준비상태를 통지하기 위한 오퍼랜드 준비완료신호(9)를 제어정보버퍼(5)가 아닌, 연산장치(4)에 접속한 점이다.
또 제6도는 본 제2실시예에 있어서의 느슨하게 결합된 파이프라인 프로세서의 명령해독장치(1), 오퍼랜드ㆍ어드레스 계산장치(2), 오퍼랜드 우선판독장치(3), 연산장치(4), 제어정보버퍼(5), 오퍼랜드 중비완료신호(9)의 관계를 도시한 상세한 블록도이다. 명령해독장치(1), 오퍼랜드ㆍ어드레스 계산장치(2), 오퍼랜드 우선판독장치(3)에 관계하는 부분은, 제2도의 구성과 같은 것이다. 제2도의 구성과 다른 점은 오퍼랜드 우선판독장치(3)에 의한 오퍼랜드의 준비상태를 통지하기 위한 오퍼랜드 준비완료신호(9)를, 제어정보버퍼(5)가 아닌, 연산장치(4)에 접속한 점과, 이에 따른 명령실행에 관한 제어정보(16)가 우선판독데이터를 필요로 할 경우의 우선판독데이터의 대기상태의 확인 및 준비가 완료되어있지 않을 경우의 우선판독데이터의 준비가 완료할때까지 제어정보의 발행을 지연시키는 기능을, 제어정보버퍼(5)가 아닌 연산장치(4)에서 행하는 점이다.
또한, 제1 및 제2의 실시예에서 있어서 실제 기억대응으로서 어드레스 변환기구를 고려하지 않았으나, 가상기억대응의 경우는 오퍼랜드 우선판독장치(3)와 명령우선판독장치(6), 또는 버스제어장치(8)에 어드레스 변환기구를 삽입해도 된다.
또, 캐시ㆍ메모리를 구성하지 않았으나, 캐시ㆍ메모리를 내장하는 경우는 오퍼랜드 우선판독장치(3), 명령우선판독장치(5) 또는 버스제어장치(8)에 삽입해 넣어도 된다. 특히, 데이터용 캐시ㆍ메모리를 오퍼랜드 우선판독장치(3)에 내장한 경우, 오퍼랜드 우선판독장치(3)의 필요클록수가 캐시ㆍ비트시에 있어서 현저히 감소하기 때문에, 그 효과는 크다. 또, 오퍼랜드ㆍ어드레스 계산장치(2), 오퍼랜드 우선판독장치(3)를 분리해서 도시하였으나, 오퍼랜드 우선판독장치로해서 하나의 장치로서 실현해도 된다. 또, 각 장치를 하나의 파이프라인ㆍ스테이지로해서 설명하였으나, 복수의 파이프라인ㆍ스테이지를 가진 장치로해서 실현해도 된다.

Claims (3)

  1. 오퍼랜드의 어드레스 계산과 우선판독을 행하는 오퍼랜드 우선판독장치(2),(3)와, 상기 오퍼랜드 우선 판독장치에 접속되어 연산을 실행하는 연산장치(4)와, 상기 오퍼랜드 우선판독장치에 접속되어 명령코우드를 해독하여 상기 오퍼랜드 우선판독장치와 상기 연산장치를 제어하기 위한 제어정보를 생성하는 명령해독장치(1)와, 상기 명령해독장치와 상기 연산장치에 접속되어 상기 명령해독장치에 의해서 생성된 상기 연산장치를 제어하기 위한 제어정보를 대기시키고 대기시킨 제어정보를 상기 연산장치를 발행하는 제어정보버퍼(5)를 갖춘 것을 특징으로 하는 느슨하게 결합된 파이프라인 프로세서.
  2. 오퍼랜드의 어드레스 계산과 우선판독을 행하는 오퍼랜드 우선판독장치(2),(3)와, 상기 오퍼랜드 우선판독장치에 접속되어 연산을 실행하는 연산장치(4)와, 상기 오퍼랜드 우선판독장치에 접속되어 명령코우드를 해독하여 상기 오퍼랜드 우선판독장치와 상기 연산장치를 제어하기 위한 제어정보를 생성하는 명령해독장치(1)와, 상기 명령해독장치와 상기 연산장치에 접속되어 상기 명령해독장치에 의해서 생성된 상기 연산장치를 제어하기 위한 제어정보를 대기시키고 오퍼랜드가 필요한 경우는 상기 오퍼랜드 우선판독장치에서의 오퍼랜드 준비가 완료한 것을 확인한 후 대기시킨 제어정보를 상기 연산장치에 발행하는 제어정보버퍼(5)를 갖춘 것을 특징으로 하는 느슨하게 결합된 파이프라인 프로세서.
  3. 오퍼랜드의 어드레스 계산과 우선판독을 행하는 오퍼랜드 우선판독장치(2),(3)와, 상기 오퍼랜드 우선판독장치에 접속되어 오퍼랜드가 필요한 경우는 상기 오퍼랜드 우선판독장치에서의 오퍼랜드 준비가 완료한 것을 확인한 후 연산을 실행하는 연산장치(4)와, 상기 오퍼랜드 우선판독장치에 접속되어 명령코우드를 해독하여 상기 오퍼랜드 우선판독장치와 상기 연산장치를 제어하기 위한 제어정보를 생성하는 명령해독장치(1)와, 상기 명령해독장치와 상기 연산장치에 접속되어 상기 명령해독장치에 의해서 생성된 상기 연산장치를 제어하기 위한 제어정보를 대기시키고 대기시킨 제어정보를 상기 연산장치에 발행하는 제어정보버퍼(5)를 갖춘 것을 특징으로 하는 느슨하게 결합된 파이프라인 프로세서.
KR1019870015245A 1986-12-29 1987-12-29 느슨하게 결합된 파이프라인 프로세서 KR910006144B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP61-31102 1986-08-08
JP61311023A JP2695157B2 (ja) 1986-12-29 1986-12-29 可変パイプラインプロセッサ
JP61-311023 1986-12-29

Publications (2)

Publication Number Publication Date
KR880008150A KR880008150A (ko) 1988-08-30
KR910006144B1 true KR910006144B1 (ko) 1991-08-16

Family

ID=18012186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870015245A KR910006144B1 (ko) 1986-12-29 1987-12-29 느슨하게 결합된 파이프라인 프로세서

Country Status (5)

Country Link
US (1) US4967338A (ko)
EP (1) EP0272705B1 (ko)
JP (1) JP2695157B2 (ko)
KR (1) KR910006144B1 (ko)
DE (1) DE3750028T2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
IL92605A0 (en) * 1988-12-19 1990-08-31 Bull Hn Information Syst Production line method and apparatus for high performance instruction execution
US5109495A (en) * 1989-02-03 1992-04-28 Digital Equipment Corp. Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor
JP2538053B2 (ja) * 1989-05-08 1996-09-25 松下電器産業株式会社 制御装置
US5150468A (en) * 1989-06-30 1992-09-22 Bull Hn Information Systems Inc. State controlled instruction logic management apparatus included in a pipelined processing unit
JPH04260929A (ja) * 1991-01-21 1992-09-16 Mitsubishi Electric Corp データ処理装置
JPH04340145A (ja) * 1991-05-17 1992-11-26 Nec Corp キャッシュメモリ装置
US5546593A (en) * 1992-05-18 1996-08-13 Matsushita Electric Industrial Co., Ltd. Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream
US6240508B1 (en) * 1992-07-06 2001-05-29 Compaq Computer Corporation Decode and execution synchronized pipeline processing using decode generated memory read queue with stop entry to allow execution generated memory read
US5706459A (en) * 1994-01-06 1998-01-06 Fujitsu Limited Processor having a variable number of stages in a pipeline
AUPO648397A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
JP2944563B2 (ja) * 1997-04-03 1999-09-06 甲府日本電気株式会社 パイプライン型情報処理装置
US5978871A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation Method of layering cache and architectural specific functions for operation splitting
US6061755A (en) * 1997-04-14 2000-05-09 International Business Machines Corporation Method of layering cache and architectural specific functions to promote operation symmetry
US6507898B1 (en) 1997-04-30 2003-01-14 Canon Kabushiki Kaisha Reconfigurable data cache controller
US6674536B2 (en) 1997-04-30 2004-01-06 Canon Kabushiki Kaisha Multi-instruction stream processor
US6414687B1 (en) 1997-04-30 2002-07-02 Canon Kabushiki Kaisha Register setting-micro programming system
AUPO647997A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6272616B1 (en) * 1998-06-17 2001-08-07 Agere Systems Guardian Corp. Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
CN102681796B (zh) * 2012-05-18 2015-04-08 重庆大学 数据多级流水算法模块中的ram分布结构

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor
US4541045A (en) * 1981-09-21 1985-09-10 Racal-Milgo, Inc. Microprocessor architecture employing efficient operand and instruction addressing
JPS5890247A (ja) * 1981-11-25 1983-05-28 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置のパイプライン制御方式
US4597041A (en) * 1982-11-15 1986-06-24 Data General Corp. Method and apparatus for enhancing the operation of a data processing system
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JPS60129837A (ja) * 1983-12-19 1985-07-11 Matsushita Electric Ind Co Ltd 信号処理演算プロセツサ
JPS60186936A (ja) * 1984-03-05 1985-09-24 Hitachi Ltd プログラマブルコントロ−ラ
EP0184791A1 (en) * 1984-12-07 1986-06-18 Nec Corporation Information processing device capable of rapidly processing instructions of different groups
IT1275935B1 (it) * 1995-03-17 1997-10-24 Chiesi Farma Spa Derivato di aminotetralina per la terapia di malattie cardiovascolari

Also Published As

Publication number Publication date
KR880008150A (ko) 1988-08-30
EP0272705A3 (en) 1990-12-19
DE3750028D1 (de) 1994-07-14
EP0272705A2 (en) 1988-06-29
DE3750028T2 (de) 1994-10-06
US4967338A (en) 1990-10-30
JPS63167935A (ja) 1988-07-12
EP0272705B1 (en) 1994-06-08
JP2695157B2 (ja) 1997-12-24

Similar Documents

Publication Publication Date Title
KR910006144B1 (ko) 느슨하게 결합된 파이프라인 프로세서
US5636353A (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating results bypassing
EP0381246A2 (en) Pipeline microprocessor having instruction decoder unit performing precedent decoding operation
JPH0743648B2 (ja) 情報処理装置
JP2668987B2 (ja) データ処理装置
JPH0193825A (ja) プリフェッチキュー制御方式
JP2806690B2 (ja) マイクロプロセッサ
JPS61118840A (ja) 電子計算機の制御方式
JPS61133439A (ja) 命令先取り制御方式
JP2572821B2 (ja) 命令再実行による演算処理方式
JP2866143B2 (ja) 動的パイプライン処理装置
JPS6149695B2 (ko)
JPS58129553A (ja) パイプライン計算機
JPH07210384A (ja) 浮動小数点演算装置
JPH04188226A (ja) 命令先読み制御装置
JPH0546389A (ja) 並列処理装置
JPH04155525A (ja) 命令実行制御方式
JPS6047617B2 (ja) 情報処理装置
JPH01263830A (ja) 情報処理装置
JPH0752402B2 (ja) データ処理装置
JPH0514288B2 (ko)
JPH02254541A (ja) 条件分岐命令の制御方式
JPH0746315B2 (ja) 電子計算機の命令先読み制御方法
JPH024011B2 (ko)
JPS6394334A (ja) パイプライン処理方式

Legal Events

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

Payment date: 20050809

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee