KR900002602B1 - 마이크로 프로그램 제어장치 - Google Patents

마이크로 프로그램 제어장치 Download PDF

Info

Publication number
KR900002602B1
KR900002602B1 KR1019850700119A KR850700119A KR900002602B1 KR 900002602 B1 KR900002602 B1 KR 900002602B1 KR 1019850700119 A KR1019850700119 A KR 1019850700119A KR 850700119 A KR850700119 A KR 850700119A KR 900002602 B1 KR900002602 B1 KR 900002602B1
Authority
KR
South Korea
Prior art keywords
stage
memory
control
micro
controlling
Prior art date
Application number
KR1019850700119A
Other languages
English (en)
Other versions
KR850700165A (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 claimed from PCT/JP1984/000533 external-priority patent/WO1985002278A1/ja
Publication of KR850700165A publication Critical patent/KR850700165A/ko
Application granted granted Critical
Publication of KR900002602B1 publication Critical patent/KR900002602B1/ko

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

내용 없음.

Description

[발명의 명칭]
마이크로 프로그램 제어장치
[도면의 간단한 설명]
제 1 도는 명령을 실행하는 파이프라인의 구성을 처리의 진행에 따라서 도시한 도면.
제 2 도는 본 발명에 의한 제어의 개념을 설명하는 설명도.
제 3 도는 본 발명을 실시하기 위한 제어메모리의 일실시예의 논리적 구성도.
제 4 도는 본 발명의 일실시예 블록도.
제 5 도는 본 발명의 다른 일실시예 블록도.
[발명의 상세한 설명]
[기술분야]
본 발명은 마이크로 프로그램 제어장치에 관한 것으로, 특히 파이프라인 제어장치를 채용한 정보처리장치에 있어서, 하나의 명령을 복수 후로우(flow)의 처리로 전개해서 각 후로우에 대응하는 마이크로 명령으로 처리를 실행하도록 구성할 경우에 마이크로 명령을 능숙하게 판독해서 하드웨어에 의한 제어 모드들을 억제해서 시스템에 융통성을 주도록 한 마이크로 프로그램 제어장치에 관한 것이다.
[기술배경]
예를들면 제 1 도에 표시한 바와같이 프리훼치(prefetch)되어온 명령은 스테이지 D, A, T, B, E, W의 각 스테이지에서 파이프라인 처리기에 의해서 실행한다.
제 1 도에 있어서, 1은 명령어가 내장되는 명령 레지스터 또는 명령어, 2는 제어메모리로서 마이크로 명령이 기억되는 곳, 3 내지 7은 각각 마이크로 명령피일드(field) 레지스터로서 각 스테이지 D 내지 W의 하드웨어에 대해서 처리명령을 발행하는 레지스터, 8은 범용 레지스터군, 9는 베이스 레지스터, 10은 인덱스 레지스터, 11은 디스플레이스먼트 레지스터, 12는 어드레스 연산부, 13은 논리어드레스 레지스터, 14는 TLB(어드레스 변환버퍼), 15는 어드레스 버퍼부, 16은 버퍼메모리, 17은 오퍼랜드 레지스터, 18 내지 20은 오퍼랜드 버퍼레지스터, 21은 오퍼랜드 레지스터, 22는 연산유니트, 23은 리절트(result) 레지스터를 표시하고 있다. 그리고, 범용 레지스터군 8은 D, B, W의 3개의 타이밍에서 사용될 동일한 레지스터군이다.
제 1 도에 도시된 파이프라인에 명령 1이 공급되면, 스테이지 D에서 당해 명령 1을 실행하는데 필요한 마이크로 명령이 판독되어서 레지스터 3에 세트됨과 동시에 당해 명령 1을 실행하는데 필요한 오퍼랜드(도면에서 제 2 오퍼랜드 OPR2)에 관한 어드레스를 연산하도록 레지스터 9, 10, 11에 값이 세트된다. 그리고, 스테이지 A에서 연산부 12에 의해서 상기 제 2 오퍼랜드 OPR2에 관한 어드레스가 연산되어 논리어드레스 레지스터 13에 세트된다. 다음으로 스테이지 T 및 B를 거쳐 TLB 14와 버퍼메모리 16이 색인되고 상기 제 2 오퍼랜드 OPR2의 값이 레지스터 17에 세트된다. 그리고, 이때에 제 1 오퍼랜드 OPR1의 값도 레지스터 21에 세트되어 있다. 이 상태에서는 스테이지 E에서 연산 유니트 22에 의해서 소정의 연산이 행해져서 스테이지 W에서 당해 연산결과가 범용 레지스터 8에 세트된다. 상기와 같이 파이프라인 제어가 이루어지며, 상기 각 스테이지에 대응하는 처리는 도시된 제어메모리 2로부터 마이크로 명령을 판독하고, 판독된 명령을 실행하는 형태로 진행되어간다. 한편, 부여된 명령 1을 실행함에 있어서는, 제 1 도에 표시한 파이프라인 처리단을 스테이지 D로부터 W에 향해서 진행("처리후로우"라 칭한다)하는 것만으로는 소망의 처리가 완료되지않는 경우가 있다. 일반적으로 하나의 명령 1을 실행함에 있어서 복수의 처리후로우로 전개하여 각각의 처리후로우를 마이크로 명령에 의해서 처리하도록 되어있다. 이때에 제어메모리 2로부터 판독되는 하나의 처리후로우에 대응하는 마이크로 명령의 각 비트군을 상기 파이프라인의 각 스테이지의 제어에 대응시켜줌으로서 제 1 도에 도시된 레지스터 3, 4, 5, 6, 7로부터는 각각의 대응하는 비트군이 각각의 스테이지에서 처리를 지시하도록 되어있다.
지금까지 상술한 바와같이 하나의 명령 1을 복수의 후로우로 전개해놓고, 각각의 후로우에 대응하는 마이크로 명령을 제어메모리 2로부터 판독하여 처리하도록 되어있으나 제어메모리 2를 억세스하기위한 시간적 제약이 있기 때문에 종래의 상기 각 후로우에 있어서 스테이지 D에 관한 제어는 하드웨어로서 제어되도록 되어있으므로 마이크로 프로그램에 의한 제어를 채용하기가 곤란했다. 때문에 하드웨어양이 증가하여, 만약 상기 D 스테이지의 기능을 변경할 필요가 있을 경우 하드웨어를 변경해야만 되므로 마이크로 프로그램 제어장치에 준하는 정보처리장치일지라도 기능변경에 대한 마이크로 프로그램제어의 융통성을 충분히 살릴 수 없는 곳이 있다. 그러므로 모든 스테이지에서 마이크로 프로그램제어를 할 수 있는 장치가 요망되고 있었다.
즉, 종래의 파이프라인 처리를 위한 정보 처리장치를 제어하는 마이크로 프로그램 제어 장치는 제어메모리를 판독하는 시간이 길기 때문에 파이프라인의 최초의 스테이지(D 스테이지)를 제어하기위한 타이밍이 맞지않아서 결국 이 스테이지의 제어는 하드웨어의 디코오더회로에 의해서 행하거나 제어메모리를 판독하기 위한 다미(dummy)싸이클을 넣는 등으로 대처해 왔었다.
그러나, 하드웨어에 의한 제어는 융통성이 있고 또한 섬세한 제어가 어렵다는 결점이 있고 또한 다미 싸이클을 넣는 방법은 다미 싸이클이 명령들의 간격에서 처리시간들 사이에 나타나서 처리속도를 지연시킨다는 결점이 있었다.
[발명의 개시]
본 발명은 상기 종래의 결점을 감안해서 마이크로 프로그램으로 파이프라인의 최초의 스테이지를 제어하는 장치를 제공하는 것을 목적으로 하는 것이다.
본 발명에 의하면 상술한 목적은 마이크로 명령을 상기 파이프라인의 최초의 스테이지 D를 제어하는 부분과, 제 2 번째 이후의 스테이지(A-W)를 제어하는 부분으로 나누어 상기 최초의 스테이지를 제어하는 부분이 하나앞의 후로우의 제 2 번째 이후의 스테이지를 제어하는 부분과 동시에 판독되는 방법을 제공함으로써 달성된다. 이에 따라서 파이프라인의 최초의 스테이지도 마이크로 프로그램에 의한 제어를 할 수가 있어, 종래에 비해서 융통성이 있는 파이프라인 처리를 행하는 정보처리장치를 구축할 수 있다는 잇점이 있다.
요약한다면 본 발명은 파이프라인의 최초의 스테이지를 제어하는 피일드를 다른 스테이지를 제어하는 피일드와 분리해서 하나앞의 후로우의 제 2 번재 이후의 스테이지를 제어하는 피일드를 판독하는 타이밍과 동시에 판독함으로써 파이프라인의 최초의 스테이지의 제어도 마이크로 프로그램으로 제어할 수 있게 하고 있다.
[발명을 실시하기위한 최선의 형태]
본 발명을 실시한 경우에 있어서도 명령 1을 실시함에 있어서 제 1 후로우의 D 스테이지에 관해서는 제어메모리 2를 판독하는 시간이 없기 때문에 하드웨어에 의한 제어를 행한다.
이 D 스테이지에 있어서, A 스테이지 이후용 제어메모리의 제 1 후로우에 대응하는 부분(이하 FCS라 한다)과, D 스테이지용 제어메모리(이하 NDCS라 한다)의 판독을 동시에 행하고, FCS로부터 판독된 마이크로 명령은 제 1 후로우의 A 스테이지 이후의 제어용으로 사용되고, NDCS로부터 판독된 마이크로 명령은 제 2 후로우의 D 스테이지의 제어용으로 사용된다. 제 2 후로우의 D 스테이지에서는 제 2 후로우의 A 스테이지 이후의 제어용으로 사용되는 마이크로 명령의 판독이 A 스테이지 이후용 제어메모리의 제 2 후로우 이후에 대응하는 부분(이하 MCS라 한다)으로부터 행해지고 동시에 상기 NDCS로부터 제 3 후로우의 D 스테이지의 제어용으로 사용되는 마이크로 명령이 판독된다.
상기와 같이 억세스되는 제어메모리의 논리적 구성과, 동일 타이밍으로 판독되는 피일드의 관계를 제 3 도 (a)에 도시하고 있다.
이 도면에 있어서 D, A, T,..는 마이크로 명령중의 각 스테이지를 제어하는 피일드의 존재위치를 표시하고 있다.
그리고 X로 표시된 부분은 제 1 후로우의 D 스테이지가 하드웨어로 제어되기 때문에 NDCS상에 대응하는 부분이 없다는 것을 표시하고 있다.
제 3a 도에서 명백한 바와같이, 제 1 의 후로우에 대응하는 피일드와 스테이지 A,T,..를 제어하는 피일드가 도시된 NDCS와 MCS로 분리되어 있지만 동일 어드레스로 억세스하도록 구성되어있다. 그러나 판독의 타이밍에서 본다면, 제 3a 도의 도시와같이 제 2 도에 도시된 제 1 후로우의 스테이지 D에 있어서 제 1 후로우용의 제어에 대응하는 피일드 24와 제 2 후로우용의 스테이지 D의 제어에 대응하는 피일드 25는 동일 타이밍으로 판독된다. 그리고 제 2 도에 도시된 제 2 의 후로우의 스테이지 D에 있어서, 제 2 후로우용의 스테이지 A 이후의 제어에 대응하는 피일드 26과 제 3 후로우용의 스테이지 D의 제어에 대응하는 피일드 27은 동일타이밍으로 판독된다. 이하 스테이지에서도 동일한 처리가 반복된다.
제 4 도는 제 2 도 내지 제 3 도를 참조하면서 설명한 양태로서 제 1 도에 도시된 제어메모리 2를 억세스하는 일실시예 블록도를 표시하고 있다. 도면중의 부호 32는 셀렉터, 33은 D 스테이지용 제어메모리(NDCS), 34는 A 스테이지 이후용 제어메모리의 제 1 후로우 대응부분(FCS), 35는 A 스테이지 이후용 제어메모리의 제 2 후로우 이후 대응부분, 36, 37은 각각 디코오더, 38은 래치(latch), 39 내지 41은 게이트를 나타내고 있다. 또 43은 제 1 후로우의 D 싸이클용의 디코오더, 44는 제 2 후로우용 이후의 제어기억 어드레스를 생성하는 회로이다.
이하, 제 2 도 및 제 3 도를 참조하면서 본 발명을 실시한 경우의 제어메모리의 억세스 양태를 설명한다.
지금, 명령 레지스터 1에 실행해야할 명령이 세트되면 해당명령의 제 1 후로우의 D 스테이지의 타이밍에서 그의 조작코오드부에 의해서 FCS 34가 억세스되어 제 1 후로우의 A 스테이지 이후의 제어에 사용되는 마이크로 명령의 피일드가 판독됨과 동시에 NDCS 33이 셀렉터 32를 통해서 억세스되어서 제 2 후로우의 D 스테이지의 제어에 사용되는 마이크로 명령의 피일드가 판독되어 각각 디코오더 36, 37에 의해서 각 스테이지에서 제어를 위해 사용되는 제어신호가 출력된다.
그리하여 상기 억세스에 사용된 어드레서는 래치 38에 기억되고 제 2 후로우의 D 스테이지의 타이밍에서 MCS 35도 억세스되어 제 2 후로우의 A 스테이지 이후의 제어에 사용될 마이크로 명령의 피일드가 판독됨과 동시에 이미 판독되어 있는 제 1 후로우의 A 스테이지 이후의 제어에 사용될 마이크로 명령의 어드레스부분 등을 근거로 해서, 어드레스 생성회로(44)에 의해서 생성된 다음의 마이크로어드레스가 셀렉터 32를 통해서 NDCS 33을 억세스하고 다음의 제 3 후로우의 D 스테이지의 제어에 사용될 마이크로 명령의 피일드가 판독되어 해당 어드레스가 래치 38에 축적되어 다음의 피일드의 D 스테이지로 MCS 35를 억세스하도록 제어된다.
이하, 동일방식으로 각 후로우의 D 스테이지에서 래치 38에 기억되어있는 어드레스로서 해당 후로우의 A 스테이지 이후용 제어메모리(MCS)35를 억세스해서, A 스테이지 이후의 제어에 사용될 마이크로 명령의 피일드를 판독함과 동시에 어드레스 생성회로의 출력으로 다음의 후로우의 D 스테이지용 제어메모리(NDCS)33을 억세스해서, 해당 스테이지의 제어에 사용되는 마이크로 명령의 피일드를 판독함과 동시에 해당 어드레스를 래치 38에 축적하는 것을 되풀이하도록 동작한다.
이상의 동작에 의하여, 종래 하드웨어로 제어를 하고있었던 파이프라인의 최초의 D 스테이지에 마이크로 프로그램에 의한 제어장치를 도입할 수가 있다.
상기 제 4 도에 표시한 구성을 채용하는 것은 소망스러운 것이나 더욱 개선의 여지가 남아있다.
즉, 상기와같이 복수의 후로우의 전개하여 처리가 실행된 경우에는 말할것도 없이 제 1 후로우로 처리될 처리내용과, 제 2 후로우로 처리될 처리내용과는 상이하여 제 1 후로우에서의 제어포인트의 개수를 제 2 후로우 이후에서의 제어포인트의 개수보다도 적게할 수가 있다. 제 4 도의 경우에는 이점을 고려하지않고, 상기 FCS에 기억된 내용의 비트폭과, 상기 MCS에 기억된 내용의 비트폭과를 동일한 것으로 하고 있었다. 특히 현재의 대규모 정보처리장치에 있어서는 태반의 일반명령이 상기 제 1 의 후로우만으로 그 처리가 종료되는 일이 많기 때문에 상기 제 1 의 후로우에 대응하는 마이크로 명령과, 제 2 의 후로우에 대응하는 마이크로 명령과의 차를 효과적으로 이용하는 것이 소망스럽다.
제 5 도는 이점을 고려한 본 발명의 일실시예의 블록도를 표시하고 있다. 도면중의 부호 32 내지 41은 제 4 도에 대응하며 42는 FCS용의 디코오더를 나타내고 있다.
제 5 도 도시의 구성의 경우의 동작은 제 4 도 도시의 경우와, 완전히 동일하다고 생각해도 좋다. 그러나, 제 5 도 도시의 경우의 FCS 34의 비트폭은 MCS의 그것에 비해서 적게 되어있고, 제 5 도 도시의 경우에는 제 4 도 도시의 경우에 비해서 그 몫만큼 제어메모리를 효과적으로 이용하도록 되어있으며 또 비트폭 및 어드레스범위가 적은만큼 그에 상당하는 억세스타임이 단축된다.

Claims (4)

  1. 마이크로 프로그램의 제어에 의해서 하나의 명령을 멀티후로우로 전개해서 각 후로우를 복수 스테이지로 구성된 파이프라인으로 처리를 하는 정보처리장치에 있어서, 마이크로 명령을 상기 파이프라인의 최초의 스테이지(D)를 제어하는 부분(NDCS 33, 25, 27, 29, 31)과, 제 2 번째 이후의 스테이지(A, T, B, E, W)를 제어하는 부분(MCS 35, 26, 28, 30)로 나누어, 상기 최초의 스테이지를 제어하는 부분에 대해서는, 하나앞의 후로우의 제 2 번째 이후의 스테이지를 제어하는 부분과 동시에 판독함으로서 마이크로 프로그램의 제어되는 부분을 확장하는 것을 특징으로 하는 마이크로 프로그램 제어장치.
  2. 제 1 항에 있어서, 상기 최초의 스테이지를 제어하는 부분에 대응하는 마이크로 명령의 피일드가 기억되는 제 1 의 메모리(NDCS 33)와, 상기 제 2 번째 이후의 스테이지를 제어하는 부분에 대응하는 마이크로 명령의 피일드가 기억되는 제 2 의 메모리(MCS 35)를 각각 마련하여, 상기 제 1 의 메모리를 억세스하는 어드레스 정가 1스테이지만큼 지연(래치 38에 의함)되어서, 상기 제 2 의 메모리를 억세스하도록 구성되어 있으며, 상기 제 1 의 메모리에 대한 억세스와, 상기 제 1 스테이지만큼 지연되어 억세스될 제 2 의 메모리에 대한 억세스가 시간적으로 병행해서 행하고 있는 것을 특징으로 하는 마이크로 프로그램 제어장치.
  3. 제 2 항에서, 상기 제 2 번째 이후의 스테이지를 제어하는 부분에 대응하는 마이크로 명령의 피일드를 기억하는 메모리에 관해서 상기 멀티 후로우중의 최초의 후로우의 처리에 관한 마이크로 명령을 기억하는 제 1 후로우용 제 2 메모리(FCS 34)와, 상기 멀티 후로우중의 제 2 번째 이후의 후로우의 처리에 관한 마이크로 명령을 기억하는 제 2 후로우 이후용 제 2 메모리(MCS 35)를 각각 마련하여 상기 각각의 제 2 메모리에 기억하는 마이크로 명령의 비트폭을 상호 상이하도록 구성한 것을 특징으로 하는 마이크로 프로그램 제어장치.
  4. 제 1 항에 있어서, 상기 멀티후로우에서 전개된 처리들중의 최초의 후로우에 대응하는 최초의 스테이지를 제어하는 처리는 하드웨어 제어에 의해서 실행되는 것을 특징으로 하는 마이크로 프로그램 제어장치.
KR1019850700119A 1983-11-10 1984-11-08 마이크로 프로그램 제어장치 KR900002602B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP21123058 1983-11-10
JP58-211230 1983-11-10
JP58-211232 1983-11-10
JP21123258 1983-11-10
PCT/JP1984/000533 WO1985002278A1 (en) 1983-11-10 1984-11-08 Microprogram control method

Publications (2)

Publication Number Publication Date
KR850700165A KR850700165A (ko) 1985-10-25
KR900002602B1 true KR900002602B1 (ko) 1990-04-20

Family

ID=69104152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850700119A KR900002602B1 (ko) 1983-11-10 1984-11-08 마이크로 프로그램 제어장치

Country Status (1)

Country Link
KR (1) KR900002602B1 (ko)

Also Published As

Publication number Publication date
KR850700165A (ko) 1985-10-25

Similar Documents

Publication Publication Date Title
US4430706A (en) Branch prediction apparatus and method for a data processing system
US5235686A (en) Computer system having mixed macrocode and microcode
US4388682A (en) Microprogrammable instruction translator
US3868649A (en) Microprogram control system
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
EP0378415A2 (en) Multiple instruction dispatch mechanism
US5088030A (en) Branch address calculating system for branch instructions
US5032983A (en) Entry point mapping and skipping method and apparatus
US4812970A (en) Microprogram control system
US4525776A (en) Arithmetic logic unit arranged for manipulating bits
US5247624A (en) Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out
KR900002602B1 (ko) 마이크로 프로그램 제어장치
US5050076A (en) Prefetching queue control system
KR970012141A (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
WO1987004819A1 (en) Apparatus and method for a microprogrammed data processing system having a plurality of control stores
JP2758624B2 (ja) マイクロプログラムの調速方式
JP2583506B2 (ja) データ処理装置
JPS61249163A (ja) ウエイトサイクル発生回路
EP0260639A2 (en) Microprogram sequencer
CA2087678C (en) Arrangement of controlling issue timing of a instruction in a vector processor
JP3331599B2 (ja) マイクロプログラム制御装置
JP3057732B2 (ja) 情報処理装置
JPH11219294A (ja) プログラム制御方法及び装置
JPH0375904B2 (ko)
JPH0520062A (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: 20010411

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee