JPH0619705A - パイプライン制御方式 - Google Patents

パイプライン制御方式

Info

Publication number
JPH0619705A
JPH0619705A JP17646692A JP17646692A JPH0619705A JP H0619705 A JPH0619705 A JP H0619705A JP 17646692 A JP17646692 A JP 17646692A JP 17646692 A JP17646692 A JP 17646692A JP H0619705 A JPH0619705 A JP H0619705A
Authority
JP
Japan
Prior art keywords
instruction
cycles
pipeline
register
execution state
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP17646692A
Other languages
English (en)
Other versions
JP2812610B2 (ja
Inventor
Gakuo Asakawa
岳夫 浅川
Aiichiro Inoue
愛一郎 井上
Shigeharu Matsuzaki
重治 松崎
Yuji Yoshida
裕司 吉田
Hidenori Ito
英紀 伊藤
Hideo Yamashita
英男 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4176466A priority Critical patent/JP2812610B2/ja
Publication of JPH0619705A publication Critical patent/JPH0619705A/ja
Application granted granted Critical
Publication of JP2812610B2 publication Critical patent/JP2812610B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】本発明は、情報処理装置においてのパイプライ
ン制御方式に関し、高速にパイプライン処理を実行でき
るようにすることを目的とする。 【構成】パイプラインに投入される可能性のある命令の
演算実行ステートの最大サイクル数がKサイクルで、最
小サイクル数がLサイクルであるときに、演算結果デー
タを遅延させる(K−L)個のレジスタ手段9と、パイ
プラインに投入される命令がその先行する命令よりも少
ないサイクル数で演算実行ステートを終了するか否かを
検出する検出手段3と、検出手段3が少ないことを検出
するときに、その2つのサイクル数の差分値を算出する
算出手段4とを備え、算出手段4の算出する差分サイク
ル値分、レジスタ手段9を使って演算結果データ/条件
コード・割込情報を遅延させることで、パイプラインに
投入される命令を先行命令と同一の演算実行ステート数
でもって実行していくように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置において
のパイプライン制御方式に関し、特に、パイプラインに
投入される命令の演算実行ステートのサイクル数を変更
することで、パイプライン処理を高速に実行していく構
成を採るときにあって、これを普遍的な構成で実現する
とともに、小さなマイクロプログラム容量でもって実現
するパイプライン制御方式に関するものである。
【0002】パイプライン処理とは、1つの命令処理を
複数の処理に分割して、複数の命令処理を並列に実行す
る処理方式である。図7に、6段で構成されるパイプラ
イン処理の一例を示す。この分割された複数の処理は、
各々ステートという名前で区別される。
【0003】図7の例では、パイプライン処理は、Dス
テート、Aステート、Tステート、Bステート、Eステ
ート、Wステートの各ステートを順次通過することによ
り処理される。このDステートでは、命令のデコード、
Aステートではアドレス計算、TステートではTLBの
索引、Bステートではキャッシュのリード、Eステート
では演算の実行、Wステートでは演算結果のレジスタへ
の格納が行われる。ここで、複数の命令処理間で同一の
ステートがセットされることはない。また、1ステート
が処理される時間を1マシンサイクルと呼ぶが、理想的
にパイプライン処理が動作すれば、N個の命令がNマシ
ンサイクルで終了するように見えるのである。
【0004】このようなパイプライン処理では、可能な
限り命令を高速に実行できる構成を構築していく必要が
ある。
【0005】
【従来の技術】パイプライン処理を行う情報処理装置に
おいて、パイプライン処理を理想的に動作させることを
妨げる要因として、パイプライン・インタロックが存在
する。この代表例として、演算が1サイクルで終わらな
いためのEステート・インタロックがある。例えば、浮
動少数点命令の処理では、Eサイクルの演算が1サイク
ルで終わらないために、図8に示すように、1サイクル
毎に命令を処理することができないことが起こる。この
図8の例では、6番目の命令開始が図7と比べて1サイ
クル遅れてしまう。
【0006】このため、高速性を要求される情報処理装
置においては、このような不都合を解消するために、演
算実行ステートを複数段数構成でもってパイプライン化
することにより、1サイクル毎の命令処理を実現してい
る。すなわち、例えば、図9に示すように、演算実行ス
テートを更にEステート、Vステートに分割する構成を
採ることで、1サイクル毎のパイプライン処理を実現し
ているのである。
【0007】しかしながら、このような技術において
も、なお、Vステート付き命令と、Vステートなし命令
を続けて実行した場合には、ロスタイムを生じてしま
う。図10に、この一例を図示する。ここで、命令1が
Vステート付き命令であり、命令2がVステートなし命
令である。
【0008】このようなケースにおいて、ロスタイムを
減じるためには、Vステート付き命令の直後のVステー
トなし命令を、Vステート付き命令として実行する構成
を採ることが考えられる。この構成を採用すると、図1
0のパイプライン処理を例にして説明するならば、命令
2をVステート付き命令として実行することで、図9に
示すような理想的なパイプライン動作を行わせることが
できるようになるのである。
【0009】特開平2-69825号公報に、この構成を示唆
する発明が開示されている。すなわち、この発明では、
メモリのデータを演算器をスルーで通過させていく構成
を採ることで、Vステート付き命令の直後のVステート
なし命令を、Vステート付き命令として実行する点が開
示されている。そして、この発明では、更に、Vステー
トを付けるか付けないかを可変にすることとして、その
命令の前にVステートなし命令が実行された場合、Vス
テート可変命令をVステートなし命令として実行するこ
とにより、ロスタイムを減ずることが述べられている。
【0010】しかしながら、この発明では、演算器をデ
ータスルーで通過させていく命令、すなわち、演算を行
わない命令しか、このようなVステート可変制御を行う
ことができないという欠点がある。
【0011】一方、特開昭59-2134 号公報に開示される
発明は、演算結果を保持するシフトレジスタを用意(特
開平2-69825号公報の発明では備えていない)して、最
大の演算パイプラインサイクル数より少ない実行サイク
ル数で実行できる命令を、より多くの演算パイプライン
サイクル数で実行することにより、命令の逐次処理原則
を守りながらパイプライン処理を行うことを開示してい
る。
【0012】しかしながら、この発明では、演算パイプ
ライン処理を行う命令は全て同一実行サイクル数で演算
処理を行う構成を採用している。従って、演算パイプラ
イン処理が可能で、かつ必要以上に実行サイクル数を延
ばして実行される命令の直後に、演算パイプライン処理
が不可能な命令が実行されると、不要なインタロックを
引き起こす可能性がある。
【0013】すなわち、最短1サイクルで演算実行が可
能であるとともに、演算パイプライン処理が可能であ
り、常に2サイクルで演算実行される命令1の直後に、
演算パイプライン処理が不可能な命令2が続くと、下記
に示すように、 命令1 D A T B E V W 命令2 D A T B B E W Bサイクルでインタロックされて、演算開始時期が遅ら
されることになる。この発明では、このような性能低下
を、複数の命令終了宣言手段を備えることにより、次命
令の実行開始サイクルを可変とすることとして削減し得
ることを示している。
【0014】しかしながら、このように複数の命令終了
宣言手段を備えることにより次命令の実行開始サイクル
を可変とすることは、命令の演算開始時期決定の制御機
構を複雑なものにすることになる。通常、命令の演算開
始時期決定の制御機構は、レジスタ干渉検出等複雑な制
御回路を含みやすいところであり、極力回路の簡素化が
望まれているところでもある。
【0015】
【発明が解決しようとする課題】次に、図11に従っ
て、シフトレジスタを用いてデータを遅延するときに用
いられている従来技術について説明する。
【0016】この図11は、演算実行ステートを実行す
る回路構成を示すものであり、60,61は入力データ
レジスタ、62は1サイクルで演算を行う演算器、63
は2サイクルで演算を行う演算器、64は3サイクルで
演算を行う演算器、65,66は遅延レジスタ、67は
出力データレジスタである。すなわち、この例では、パ
イプラインに投入される可能性のある命令の演算実行ス
テートの最大サイクル数が3サイクルであることを想定
している。
【0017】このような回路構成を採るときにあって、
パイプラインに投入される命令が1サイクルで演算を行
う命令である場合にあって、これを1サイクルでもって
実行する場合には、演算器62で得た演算結果データを
直接出力データレジスタ67にセットし、一方、これを
2サイクルでもって実行する場合には、演算器62で得
た演算結果データを遅延レジスタ65で1サイクル分遅
延させてから出力データレジスタ67にセットし、ま
た、3サイクルでもって実行する場合には、演算器62
で得た演算結果データを先ず最初に遅延レジスタ65で
1サイクル分遅延させ、次に遅延レジスタ66でもう1
サイクル分遅延させてから出力データレジスタ67にセ
ットすることで行う。
【0018】また、パイプラインに投入される命令が2
サイクルで演算を行う命令である場合にあって、これを
2サイクルでもって実行する場合には、演算器63で得
た演算結果データを直接出力データレジスタ67にセッ
トし、一方、これを3サイクルでもって実行する場合に
は、演算器63で得た演算結果データを遅延レジスタ6
6で1サイクル分遅延させてから出力データレジスタ6
7にセットすることで行う。そして、パイプラインに投
入される命令が3サイクルで演算を行う命令である場合
には、演算器64で得た演算結果データを直接出力デー
タレジスタ67にセットすることで行う。
【0019】このような各演算器62,63,64から
のデータを、いつ、どのレジスタ65,66に書き込む
のかを制御する処理をマイクロプログラムで行うことが
可能である。すなわち、命令のオペコードに従って、所
望の制御処理を実行するマイクロプログラムを読み出す
構成を採って、このマイクロプログラムに従って、上述
のような遅延動作を実現することが可能である。
【0020】しかしながら、このようなマイクロプログ
ラムに従って、可変Vサイクル制御を実現する場合に
は、簡単なハードウェア構成でこれを行うことが可能と
なるものの、マイクロプログラムの容量の増加を招くと
いう欠点が生ずる。例えば、上述のように、パイプライ
ンに投入される可能性のある命令の演算実行ステートの
最大サイクル数が3サイクルである場合に、1サイクル
で演算結果を出力できるという命令に対しては、1サイ
クル、2サイクル、3サイクルのオペレーションを行う
3種類のマイクロプログラムを用意しなければならない
のである。
【0021】使用頻度の高い一般命令の多くが1サイク
ル、2サイクル命令であることを考慮すると、このよう
なマイクロプログラム容量の増加は避けることができな
い。これから、従来技術に従って演算結果データのシフ
ト動作をマイクロプログラムで行う構成を採るならば、
現実的な実現手段としては可変Vサイクル命令の数を著
しく制限せざるを得ないのが実情である。
【0022】本発明はかかる事情に鑑みてなされたもの
であって、パイプラインに投入される命令の演算実行ス
テートのサイクル数を変更することで、パイプライン処
理を高速に実行していく構成を採るときにあって、これ
を普遍的な構成で実現するとともに、小さなマイクロプ
ログラム容量でもって実現する新たなパイプライン制御
方式の提供を目的とするものである。
【0023】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は情報処理装置、2は情報処理装
置1の備える本発明に係るパイプライン処理実行手段で
ある。このパイプライン処理実行手段2は、複数のマシ
ンサイクルからなる演算実行ステートを実行する。
【0024】3はパイプライン処理実行手段2の備える
検出手段であって、演算実行ステートよりも前段に展開
されて、パイプラインに投入される命令が、その命令に
先行する命令よりも少ないサイクル数でもって演算実行
ステートを終了するものなのか否かを検出するもの、4
はパイプライン処理実行手段2の備える算出手段であっ
て、演算実行ステートよりも前段に展開されて、検出手
段3が少ないサイクル数を検出するときに、その2つの
サイクル数の差分値を算出するもの、5はパイプライン
処理実行手段2の備える生成手段であって、演算実行ス
テートよりも前段に展開されて、算出手段4の算出する
差分サイクル数値に応じたコード信号を生成するもので
ある。
【0025】6はパイプライン処理実行手段2の備える
制御記憶であって、演算実行ステートよりも前段に展開
されて、命令のオペコードに対して一意に用意されるマ
イクロプログラムを管理するものである。このマイクロ
プログラムは、後述するレジスタ手段9を制御するため
の制御信号として用いられることになる。
【0026】7はパイプライン処理実行手段2の備える
演算実行手段であって、複数のマシンサイクルからなる
演算実行ステートを実行するもの、8は演算実行手段7
の備える演算手段であって、パイプラインに投入される
可能性のある命令の示す演算実行ステート数の種類分の
演算器から構成されて、演算処理を実行するものであ
る。
【0027】9は演算実行手段7の備えるレジスタ手段
であって、パイプラインに投入される可能性のある命令
の演算実行ステートの最大サイクル数をKサイクル、最
小サイクル数をLサイクルで表すならば、(K−L)個
のレジスタ手段から構成されて、演算手段8の出力する
演算結果データを遅延させるものである。この(K−
L)個のレジスタ構成に従うレジスタ手段9に従って、
(K−L+1)通りの遅延モードを実現する(K−L+
1)通りのレジスタ選択モードが用意されることにな
る。
【0028】ここで、パイプライン処理実行手段2の処
理対象となるものは、演算結果データの他に条件コード
及び割込情報がある。
【0029】
【作用】本発明では、検出手段3の検出処理に従って、
パイプラインに投入される命令がその命令に先行する命
令よりも少ないサイクル数でもって演算実行ステートを
終了するものであることが検出されると、算出手段4
は、その2つのサイクル数の差分値を算出し、この差分
サイクル数値の算出処理を受けて、生成手段5は、(K
−L+1)通りのレジスタ選択モードの内の1つを選択
するためのコード信号を生成する。
【0030】一方、制御記憶6は、パイプラインに投入
される命令のオペコードにより索引されて、そのオペコ
ードに応じたマイクロプログラムを読み出す。このマイ
クロプログラムは命令のオペコードに対して一意に用意
されるものであることから、1サイクルで演算を実行す
る命令であるときには、それに固有のマイクロプログラ
ムが読み出され、2サイクルで演算を実行する命令であ
るときには、それに固有のマイクロプログラムが読み出
されることになる。
【0031】このようにして、生成手段5からコード信
号が出力され、制御記憶6からレジスタ手段9の制御信
号となるマイクロプログラムが出力されると、レジスタ
手段9は、このコード信号と制御信号とに従って、演算
手段8の出力する演算結果データを遅延することで、パ
イプラインに投入される命令がNサイクルの演算実行ス
テートを持ち、その命令に先行する命令がそれより長い
Mサイクルの演算実行ステートを持つ場合には、そのN
サイクルの命令をMサイクルの演算実行ステートでもっ
て実行していくよう処理する。
【0032】このように、本発明では、パイプラインに
投入される命令と、その命令に先行する命令との間の演
算実行ステートのサイクル数の差分値を検出する構成を
採って、その差分サイクル数値に従って、パイプライン
に投入される命令の演算実行ステートをどのように遅延
させていくかを決定していく構成を採る。これから、パ
イプラインに投入される命令の演算実行ステートのサイ
クル数を変更することで、パイプライン処理を高速に実
行していく構成を採るときにあって、これを普遍的な構
成で実現できるようになるのである。
【0033】そして、本発明では、例えば、パイプライ
ンに投入される命令の演算実行ステート数が1サイクル
である場合にあって、この命令を1サイクルの演算処理
で実行するときにも、2サイクルの演算処理で実行する
ときにも、3サイクルの演算処理で実行するときにも、
用意するマイクロプログラムは共通にして、この共通の
マイクロプログラムを生成手段5のコード信号で修飾し
ていくことで、各々のサイクル数の演算処理を実現して
いく方法を採る。これから、パイプラインに投入される
命令の演算実行ステートのサイクル数を変更すること
で、パイプライン処理を高速に実行していく構成を採る
ときにあって、これを小さなマイクロプログラム容量で
実現できるようになるのである。
【0034】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図2に、図1で説明したパイプライン処理実行手段
2の詳細な回路構成を図示する。
【0035】この図に示すパイプライン処理実行手段2
は、最初のDステートで、オペコードをデコードし、レ
ジスタスタック10(汎用レジスタGR,浮動小数点レ
ジスタFRを含む)よりアドレス計算用のデータを読み
出してベースレジスタ11、インデックスレジスタ12
にセットする。続いて、Aステートで、ベースレジスタ
11のデータとインデックスレジスタ12のデータと
を、アドレス加算器13で加算して、その結果を有効ア
ドレスとしてレジスタ14にセットする。
【0036】続いて、Tステートで、レジスタ14の有
効アドレスをTLB15でアドレス変換することで実ア
ドレスを得て、この実アドレスをレジスタ16にセット
する。続いて、Bステートで、レジスタ16の実アドレ
スでローカルバッファストレージ17をアクセスするこ
とで、バッファリングされている主記憶データを読み出
してレジスタ18にセットする。
【0037】続いて、Eステートで、レジスタ18に格
納されるデータと、レジスタ19に格納されるデータと
を、演算器20で演算して、その演算結果データをレジ
スタ21にセットする。続いて、Wステートで、レジス
タ21に格納される演算結果データをレジスタスタック
10に書き込んで処理を終了する。このレジスタスタッ
ク10に書き込まれたデータは、レジスタオペランドバ
ス22によりレジスタ19にセットされることになる。
そして、このWステートでは、条件コードと、Eステー
トで検出された割込情報が報告されることになる。
【0038】このように構成されるパイプライン処理実
行手段2では、図1で説明したように、パイプラインに
投入される命令と、その命令に先行する命令との間の演
算実行ステートのサイクル数の差分値を検出して、その
差分サイクル数値に応じたコード信号を生成する構成を
採るものである。図3に、この制御機構の一実施例を図
示する。
【0039】この制御機構は、図3に示すように、Aス
テートのオペコードを保持するレジスタ30と、このレ
ジスタ30の出力を受けて、オペコードの指す演算実行
ステート数をデコードするとともに、演算実行ステート
の増加サイクル数を決定する制御回路31と、制御回路
31により決定された演算実行ステートの増加サイクル
数を保持するレジスタ32と、制御回路31によりデコ
ードされた演算実行ステート数を保持するレジスタ33
とから構成される。このレジスタ32の内容は、Tステ
ートで、続いて説明する演算実行ステート機構部分に送
られることになる。
【0040】先行する図中の命令1に続いて、図中の命
令2がパイプラインに投入されると、制御回路31は、
命令2のAステートで、命令1の演算実行ステート数を
表示するレジスタ33の内容を参照して、自命令の命令
2の演算実行ステートの増加サイクル数を決定してレジ
スタ32に書き込んでいくことになる。この増加サイク
ル数は、自命令の最短演算実行ステート数が先行する命
令の演算実行ステート数よりも少ないときには、その2
つの演算実行ステート数の差分値により決定され、それ
以外については、ゼロ値として決定されることになる。
すなわち、命令1の演算実行ステートのサイクル数が2
で、命令2の最短演算実行ステートのサイクル数が1で
ある場合には、その差分値の1が増加サイクル数として
決定され、また、命令1の演算実行ステートのサイクル
数が2で、命令2の最短演算実行ステートのサイクル数
が2である場合には、増加サイクル数として0が決定さ
れることになるのである。
【0041】図4に、演算実行ステート機構部分の回路
構成を図示する。次に、この図の回路構成に従って、本
発明の演算実行ステートでの処理について説明する。こ
こで、図中のは、1サイクルの演算実行ステートの命
令がパイプラインに投入されるときに、その命令を1サ
イクルの演算実行ステートで実行する場合の処理図を表
しており、は、1サイクルの演算実行ステートの命令
がパイプラインに投入されるときに、その命令を2サイ
クルの演算実行ステートで実行する場合の処理図を表し
ている。
【0042】パイプライン処理実行手段2は、Eステー
トに先行するBステートで、Tステートから送られてき
たオペコードをレジスタ40にセットし、続くBステー
トで、このレジスタ40の内容をアドレスとして制御記
憶42を索引することで、対応の制御信号を読み出して
レジスタ43にセットする。このとき読み出される制御
信号は、演算実行ステートが1サイクルの命令であると
きには、オペコード‘01A’に従って、この命令を1
サイクルの演算実行ステートで実行する場合にあって
も、2サイクルの演算実行ステートで実行する場合にあ
っても同一のものとなる。
【0043】一方、パイプライン処理実行手段2は、同
じくBステートで、図3に示したレジスタ32から送ら
れてくる増加サイクル数のコード値をレジスタ41にセ
ットする。そして、続くEステートで、このレジスタ4
1の内容をレジスタ44にセットして、デコーダ45で
デコードする。この処理に従って、デコーダ45は、例
えば、のように、図3のレジスタ32が増加サイクル
数“0”を出力してくるときには“0”を出力し、の
ように、増加サイクル数“1”を出力してくるときには
“1”を出力することになる。
【0044】一方、パイプライン処理実行手段2は、こ
のEステートで、1サイクルで演算を実行する演算器4
6を使って、パイプラインを流れてきた1サイクルの演
算実行ステートの命令の演算処理を実行する。そして、
レジスタ43の保持する制御信号と、デコーダ45の出
力するデコード値との論理積を算出するANDゲート4
7の出力値に従って、デコーダ45がデコード値“0”
を出力するときには、に示すように、セレクタ48を
制御することで、続くWステートで、演算器46の演算
結果データをレジスタ49に書き込んでいく。
【0045】一方、デコーダ45がデコード値“1”を
出力するときには、に示すように、セレクタ48を制
御することで、続くVステートで、演算器46の演算結
果データをレジスタ50に書き込むとともに、ANDゲ
ート47の出力信号をレジスタ51に書き込み、続くW
ステートで、レジスタ51の内容に従ってセレクタ52
を制御することで、レジスタ50の保持する演算結果デ
ータをレジスタ53に書き込んでいく。
【0046】このようにして、この実施例に従うこと
で、パイプラインに投入される命令の演算実行ステート
数が1サイクルである場合にあって、この命令を1サイ
クルの演算処理で実行するときにも、2サイクルの演算
処理で実行するときにも、制御記憶42に用意するマイ
クロプログラムは共通になることから、制御記憶42の
マイクロプログラムの容量を小さなものにできるのであ
る。
【0047】これに対して、マイクロプログラムの修飾
手段であるレジスタ32やデコーダ45やANDゲート
47を備えないで、マイクロプログラム単独で対処しよ
うとすると、1サイクルの演算実行ステートの命令を1
サイクルで実行するときに必要となる制御信号のマイク
ロプログラムと、2サイクルで実行するときに必要とな
る制御信号のマイクロプログラムとを別々に制御記憶4
2に用意しておくとともに、オペコードとして、1サイ
クルで実行するときには例えば‘01A’を割り付け、
2サイクルで実行するときにはこれと異なる例えば‘1
1A’を割り付ける構成を採る。
【0048】そして、1サイクルの演算実行ステートの
命令を1サイクルで実行するときには、図5のに示す
ように、オペコード‘01A’に従って、制御記憶42
からそれ用のマイクロプログラムを読み出して、セレク
タ48を制御することで、Wステートで演算器46の演
算結果データをレジスタ49に書き込み、一方、1サイ
クルの演算実行ステートの命令を2サイクルで実行する
ときには、図5のに示すように、オペコード‘11
A’に従って、制御記憶42からそれ用のマイクロプロ
グラムを読み出して、セレクタ48を制御することで、
Vステートで演算器46の演算結果データをレジスタ5
0に書き込み、続くWステートでこの演算結果データを
レジスタ53に書き込んでいくことになる。
【0049】このように、マイクロプログラム単独で対
処しようとすると、マイクロプログラムの容量が大きく
なるという欠点がでてくるのである。図6に、図4に示
した演算実行ステート機構部分の回路構成の他の実施例
を図示する。図中、図4で説明したものと同じものにつ
いては同一の記号で示してある。また、図4と同様に、
図中のは、1サイクルの演算実行ステートの命令がパ
イプラインに投入されるときに、その命令を1サイクル
の演算実行ステートで実行する場合の処理図を表してお
り、は、1サイクルの演算実行ステートの命令がパイ
プラインに投入されるときに、その命令を2サイクルの
演算実行ステートで実行する場合の処理図を表してい
る。
【0050】この実施例では、レジスタ54と、レジス
タ55と、このレジスタ54,55の保持データを選択
するセレクタ56と、レジスタ54のラッチタイミング
を制御するレジスタ57と、レジスタ55のラッチタイ
ミングを制御するレジスタ58とを備える構成を採る。
【0051】そして、この実施例に従う場合には、パイ
プライン処理実行手段2は、Eステートで、1サイクル
で演算を実行する演算器46を使って、パイプラインを
流れてきた1サイクルの演算実行ステートの命令の演算
処理を実行し、続いて、演算器46の演算結果データを
レジスタ54にセットして、レジスタ43の保持する制
御信号と、デコーダ45の出力するデコード値との論理
積を算出するANDゲート47の出力値に従って、デコ
ーダ45がデコード値“0”を出力するときには、で
示すように、セレクタ56を制御することで、このレジ
スタ54の保持する演算結果データを読み出していく。
【0052】一方、デコーダ45がデコード値“1”を
出力するときには、に示すように、レジスタ54への
演算結果データのセットに続いて、このレジスタ54の
保持する演算結果データをレジスタ55にセットしてか
ら、セレクタ56を制御することで、このレジスタ55
の保持する演算結果データを読み出していく。
【0053】このようにして、この実施例でも、パイプ
ラインに投入される命令の演算実行ステート数が1サイ
クルである場合にあって、この命令を1サイクルの演算
処理で実行するときにも、2サイクルの演算処理で実行
するときにも、制御記憶42に用意するマイクロプログ
ラムは共通になることから、制御記憶42のマイクロプ
ログラムの容量を小さなものにできるのである。
【0054】以上では、演算結果データについての演算
パイプライン制御について説明したが、命令の逐次処理
原則を守るためには、更に、条件コードと割込情報につ
いても同様なパイプライン制御を実行していく必要があ
る。
【0055】
【発明の効果】以上説明したように、本発明によれば、
パイプラインに投入される命令と、その命令に先行する
命令との間の演算実行ステートのサイクル数の差分値を
検出する構成を採って、その差分サイクル数値に従っ
て、パイプラインに投入される命令の演算実行ステート
をどのように遅延させていくかを決定していく構成を採
ることから、パイプラインに投入される命令の演算実行
ステートのサイクル数を変更することで、パイプライン
処理を高速に実行していく構成を採るときにあって、こ
れを普遍的な構成で実現できるようになる。
【0056】そして、本発明によれば、例えば、パイプ
ラインに投入される命令の演算実行ステート数が1サイ
クルである場合にあって、この命令を1サイクルの演算
処理で実行するときにも、2サイクルの演算処理で実行
するときにも、3サイクルの演算処理で実行するときに
も、用意するマイクロプログラムは共通にできるように
なることから、パイプラインに投入される命令の演算実
行ステートのサイクル数を変更することで、パイプライ
ン処理を高速に実行していく構成を採るときにあって、
これを小さなマイクロプログラム容量で実現できるよう
になる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】パイプライン処理実行手段の回路構成図であ
る。
【図3】本発明の備える制御機構の一実施例である。
【図4】演算実行ステート機構部分の回路構成の一実施
例である。
【図5】従来技術に従う場合の問題点の説明図である。
【図6】演算実行ステート機構部分の回路構成の他の実
施例である。
【図7】パイプライン処理の説明図である。
【図8】パイプライン処理の遅れの説明図である。
【図9】パイプライン処理の説明図である。
【図10】パイプライン処理の遅れの説明図である。
【図11】従来技術を説明するための回路構成図であ
る。
【符号の説明】
1 情報処理装置 2 パイプライン処理実行手段 3 検出手段 4 算出手段 5 生成手段 6 制御記憶 7 演算実行手段 8 演算手段 9 レジスタ手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉田 裕司 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 伊藤 英紀 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 山下 英男 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のマシンサイクルからなる演算実行
    ステートを設けて、 演算実行をパイプライン処理するよう構成される情報処
    理装置において、 パイプラインに投入される可能性のある命令の演算実行
    ステートの最大サイクル数がKサイクルで、最小サイク
    ル数がLサイクルであるときに、演算結果データを遅延
    させる(K−L)個のレジスタ手段(9) と、 パイプラインに投入される命令が最短Nサイクルで演算
    実行ステートを終了可能な命令で、該命令に先行する命
    令がMサイクルで演算実行ステートを終了する命令であ
    るときに、NサイクルがMサイクルよりも少ないか否か
    を検出する検出手段(3) と、 上記検出手段(3) が少ないことを検出するときに、(M
    −N)サイクルを算出する算出手段(4) とを備え、 上記算出手段(4) の算出する差分サイクル値分、上記レ
    ジスタ手段(9) を使って演算結果データを遅延させるこ
    とで、パイプラインに投入される最短Nサイクルで演算
    実行ステートを終了可能な命令を、Mサイクルの命令と
    等価な演算実行ステートでもって実行していくよう処理
    することを、 特徴とするパイプライン制御方式。
  2. 【請求項2】 複数のマシンサイクルからなる演算実行
    ステートを設けて、演算実行をパイプライン処理するよ
    う構成される情報処理装置において、 パイプラインに投入される可能性のある命令の演算実行
    ステートの最大サイクル数がKサイクルで、最小サイク
    ル数がLサイクルであるときに、条件コード及び割込情
    報を遅延させる(K−L)個のレジスタ手段(9) と、 パイプラインに投入される命令が最短Nサイクルで演算
    実行ステートを終了可能な命令で、該命令に先行する命
    令がMサイクルで演算実行ステートを終了する命令であ
    るときに、NサイクルがMサイクルよりも少ないか否か
    を検出する検出手段(3) と、 上記検出手段(3) が少ないことを検出するときに、(M
    −N)サイクルを算出する算出手段(4) とを備え、 上記算出手段(4) の算出する差分サイクル値分、上記レ
    ジスタ手段(9) を使って条件コード及び割込情報を遅延
    させることで、パイプラインに投入される最短Nサイク
    ルで演算実行ステートを終了可能な命令を、Mサイクル
    の命令と等価な演算実行ステートでもって実行していく
    よう処理することを、 特徴とするパイプライン制御方式。
  3. 【請求項3】 請求項1又は2記載のパイプライン制御
    方式において、 1つの命令コードに1つという態様に従って、レジスタ
    手段(9) を制御するためのマイクロプログラムを用意
    し、 かつ、算出手段(4) の算出する差分サイクル値に応じ
    て、(K−L+1)通りの遅延動作を可能とするレジス
    タ選択モードの内の1つを選択するためのコード信号を
    生成する生成手段(5) を備え、 上記マイクロプログラムと、上記生成手段(5) の生成す
    るコード信号とに従って、(K−L)個のレジスタ手段
    (9) の選択処理を実行することで、パイプラインに投入
    される最短Nサイクルで演算実行ステートを終了可能な
    命令を、算出手段(4) の算出する差分サイクル値分遅延
    していくよう処理することを、 特徴とするパイプライン制御方式。
JP4176466A 1992-07-03 1992-07-03 パイプライン制御方式 Expired - Fee Related JP2812610B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4176466A JP2812610B2 (ja) 1992-07-03 1992-07-03 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4176466A JP2812610B2 (ja) 1992-07-03 1992-07-03 パイプライン制御方式

Publications (2)

Publication Number Publication Date
JPH0619705A true JPH0619705A (ja) 1994-01-28
JP2812610B2 JP2812610B2 (ja) 1998-10-22

Family

ID=16014179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4176466A Expired - Fee Related JP2812610B2 (ja) 1992-07-03 1992-07-03 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JP2812610B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384875B1 (ko) * 1995-12-16 2003-08-21 주식회사 하이닉스반도체 파이프라인구조를갖는마이크로프로세서에서의언세이프처리마이크로시퀀서
US9861936B2 (en) 2013-08-08 2018-01-09 Ab Scarab Development Device for membrane distillation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6320538A (ja) * 1986-07-15 1988-01-28 Nec Corp 情報処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6320538A (ja) * 1986-07-15 1988-01-28 Nec Corp 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384875B1 (ko) * 1995-12-16 2003-08-21 주식회사 하이닉스반도체 파이프라인구조를갖는마이크로프로세서에서의언세이프처리마이크로시퀀서
US9861936B2 (en) 2013-08-08 2018-01-09 Ab Scarab Development Device for membrane distillation

Also Published As

Publication number Publication date
JP2812610B2 (ja) 1998-10-22

Similar Documents

Publication Publication Date Title
JP2620511B2 (ja) データ・プロセッサ
JP3237858B2 (ja) 演算装置
EP0297943B1 (en) Microcode reading control system
JPH0348536B2 (ja)
JPH03286332A (ja) デジタルデータ処理装置
JP2812610B2 (ja) パイプライン制御方式
JP2553200B2 (ja) 情報処理装置
JPH05274143A (ja) 複合条件処理方式
JP2929980B2 (ja) 情報処理装置
JP2558831B2 (ja) パイプライン制御方式
JPH08305563A (ja) データ処理装置
JP2919184B2 (ja) パイプライン処理を行う情報処理装置
JPS6411973B2 (ja)
JP2925842B2 (ja) パイプライン処理装置
JPH0991139A (ja) 情報処理装置
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JPS59158441A (ja) パイプライン制御方式
JPS586972B2 (ja) 情報処理装置
JPH01271842A (ja) 情報処理装置
JPS59129995A (ja) 記憶装置
JP2000305782A (ja) 演算装置
JPS59160239A (ja) 情報処理装置
JPH0769800B2 (ja) データ処理装置
JPH05197543A (ja) 情報処理装置の命令デコード方式
JPH06314196A (ja) 情報処理方法および装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080807

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090807

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees