JPH07210384A - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JPH07210384A
JPH07210384A JP2341694A JP2341694A JPH07210384A JP H07210384 A JPH07210384 A JP H07210384A JP 2341694 A JP2341694 A JP 2341694A JP 2341694 A JP2341694 A JP 2341694A JP H07210384 A JPH07210384 A JP H07210384A
Authority
JP
Japan
Prior art keywords
instruction
floating point
floating
execution
point arithmetic
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.)
Pending
Application number
JP2341694A
Other languages
English (en)
Inventor
Tomoyuki Shotani
智之 庄谷
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2341694A priority Critical patent/JPH07210384A/ja
Publication of JPH07210384A publication Critical patent/JPH07210384A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 高速に浮動小数点演算を実行可能な浮動小数
点演算装置を提供する。 【構成】 浮動小数点演算命令が入力されると、フェッ
チステージ2を経て、デコードステージ3でデコードさ
れ、実行ステージ4で浮動小数点レジスタ7に対してア
ドレスを含む読み出し要求信号11を出力する。命令は
浮動小数点命令キュー10に入力される。必要な浮動小
数点演算器が使用中の場合、待機中の間、連続してオペ
ランドのアドレスと読み出し要求をオペランドアドレス
信号13として実行ステージ4に送る。実行ステージ4
は、内部に浮動小数点レジスタ7のデータを用いる命令
がない限り、浮動小数点命令キュー10からのオペラン
ドアドレス信号13を読み出し要求信号11として浮動
小数点レジスタ7に送る。実行中の命令が終了すると、
既にオペランド12が出力されているので、直ちに待機
中の命令の実行を開始することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パイプライン制御方式
で命令を実行する情報処理装置に用いられる浮動小数点
演算装置に関するものである。
【0002】
【従来の技術】一般に、情報処理装置においては、処理
を高速に実行するためにパイプライン制御方式が採用さ
れている。ところが、浮動小数点演算では、パイプライ
ンサイクルに比べて演算に時間がかかるばかりでなく、
演算終了に必要なサイクル数も演算の種類とオペランド
に依存しており、必ずしも一定ではない。そのために、
システム全体ではパイプライン制御方式で制御されてい
る情報処理装置においても、浮動小数点演算部はパイプ
ライン制御から離れて演算を実行して、その間、オペラ
ンドや演算装置などの依存関係がなければ、他の整数命
令などの命令を実行し、浮動小数点演算命令が終了した
ならばパイプラインへ復帰するという制御が行なわれて
いる。
【0003】また、浮動小数点演算器は、その計算方法
の違いから、加減算器と乗算除算器のように複数の演算
器を有するのが一般的であり、それらの演算器は互いに
独立に動作することが可能である。したがって、オペラ
ンドの依存がない場合には、複数の演算器を同時に動作
させることにより、見かけ上の演算速度を高速にするこ
とができる。
【0004】ところで、先に述べたように、浮動小数点
演算はパイプライン制御から離れて演算を実行される
が、例外処理などの後に演算途中であった命令を再実行
させるために、実行中の演算命令を保持するレジスタが
必要になる。このレジスタは並列に演算を実行できる浮
動小数点演算器の数だけ必要であり、その実現には、先
に入った演算命令から実行され、演算が終了したら命令
が取り除かれるようなキュー構造が用いられる。
【0005】さらに、浮動小数点演算命令を実行するた
めには命令に加えて演算対象となるオペランドが必要で
ある。通常、オペランドはレジスタに格納されている。
パイプライン制御から離れた直後に演算を開始するため
にはパイプライン制御中に、レジスタに対して、オペラ
ンドのアドレスとレジスタからのリード信号の発生を行
なっておかなければならない。
【0006】このようなオペランドが格納されたレジス
タに対する読み出し要求をパイプライン制御中に行なう
場合、まず、浮動小数点演算命令を保持するキュー(以
下、命令キューという)が空のときには、ある浮動小数
点演算器を用いる演算命令が命令キューに入ると、すで
にオペランドが読み出されているので、直ちにその演算
を開始することができる。次に、先の演算命令が終了す
る以前に同じ浮動小数点演算器を用いる演算命令が命令
キューに入ると、先の演算命令が終了するまで、後から
入った命令は演算を開始することができず、この命令キ
ューで待たなければならない。演算終了に必要なサイク
ル数は一定ではないために、命令キューでは演算器から
演算終了の信号を待って、それから命令キューのエント
リを変更し、待っていた命令の実行を開始する。しか
し、演算命令が命令キューで実行開始を待っている間も
パイプライン制御により他の命令の処理が継続して行な
われているので、パイプライン制御中に行なったオペラ
ンドの読み出しは無効となっている確率が高い。そのた
め、命令キューで待っていた命令の実行を開始するとき
には、レジスタからのオペランドの読み出し動作を行な
わなければならず、その命令をパイプラインのはじめに
戻すような制御が必要となり、その命令の実行開始が遅
くなるという問題があった。
【0007】パイプラインの高速化を実現するものとし
て、例えば、特開平4−205029号公報に記載され
ているように、ロード/ストア命令用パイプラインと、
浮動小数点演算命令用パイプラインの2本のパイプライ
ンを用いる構成も考えられている。しかし、パイプライ
ンを2本用いることは、制御が複雑となるとともに、回
路構成が大きくなり、コストアップにつながるため得策
ではない。
【0008】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、高速に浮動小数点演算を実
行することのできる浮動小数点演算装置を提供すること
を目的とするものである。
【0009】
【課題を解決するための手段】本発明は、パイプライン
制御方式で命令を実行する情報処理装置に用いられる浮
動小数点演算装置において、複数の浮動小数点演算命令
をそれぞれ並列に実行可能な複数個の浮動小数点演算実
行手段と、浮動小数点演算命令のオペランドおよび演算
結果を複数個保持する記憶手段と、少なくとも命令の種
類に従って前記記憶手段に対してデータの読み出しを要
求する実行ステージを含む複数のステージにより構成さ
れたパイプラインによって命令を実行するパイプライン
実行手段と、該パイプライン実行手段の実行ステージに
おける処理後の浮動小数点演算命令を複数保持可能であ
って前記浮動小数点演算実行手段が使用可能なときには
保持している先頭の浮動小数点演算命令の演算開始を指
示し前記浮動小数点演算実行手段が使用中である場合に
は待ち状態の浮動小数点演算命令のオペランドの読み出
し要求を送出し続け実行中の演算が終了した直後に実行
開始を指示する浮動小数点命令保持手段と、前記パイプ
ライン実行手段の実行ステージからのデータの読み出し
要求と前記浮動小数点命令保持手段からの読み出し要求
を命令の種類に応じて切り替える切替手段を有すること
を特徴とするものである。
【0010】
【作用】本発明によれば、浮動小数点演算実行手段が別
の浮動小数点演算命令を実行中に同じ浮動小数点演算実
行手段を用いる浮動小数点演算命令が現れた場合に、浮
動小数点演算命令保持手段は、後から来た浮動小数点演
算命令を保持すると同時に、オペランドを記憶する記憶
手段に対する待っている浮動小数点演算命令のオペラン
ドの読み出しを要求する。
【0011】そして、オペランドの読み出しの要求を受
けた切替手段は、例えば、実行ステージに来た命令が記
憶手段から読み出しを必要とする命令、例えば、ストア
命令や演算命令等のときには、その命令のオペランドの
読み出しを記憶手段に対して要求し、記憶手段から読み
出しを必要としない命令のときには、浮動小数点演算命
令保持手段からの読み出し要求を記憶手段に与えるよう
に制御することができる。これにより、浮動小数点演算
命令保持手段で待っている命令のオペランドを読み出し
ておくことができ、実行中の浮動小数点演算命令が終了
した時点で、浮動小数点演算命令保持手段に後から来た
浮動小数点演算命令のオペランドがすでに用意されてい
る状態となる。そのため、実行中の浮動小数点演算命令
が終了した直後に、待ち状態の浮動小数点演算命令を実
行させることができる。これにより、高速に浮動小数点
演算を実行することができる浮動小数点演算装置を得る
ことができる。ここで、浮動小数点演算実行手段がオペ
ランドを読み込むのは演算の開始を指示された時である
ため、浮動小数点演算命令の実行中に記憶手段から読み
出された待ち状態の浮動小数点演算命令のオペランド
は、実行中の演算に影響を与えない。
【0012】
【実施例】図1は、本発明の浮動小数点演算装置の一実
施例を示すブロック図、図2は、浮動小数点命令キュー
の一例を示すブロック図である。図中、1はパイプライ
ン制御部、2はフェッチステージ、3はデコードステー
ジ、4は実行ステージ、5はメモリステージ、6はライ
トステージ、7は浮動小数点レジスタ、8は第1の浮動
小数点演算器、9は第2の浮動小数点演算器、10は浮
動小数点命令キュー、11は読み出し要求信号線、12
はオペランド、13はオペランドアドレス信号、14は
第1のエントリ、15は第2のエントリ、16はキュー
制御部、17は第1の演算開始信号、18は第2の演算
開始信号、19は演算終了信号である。本実施例では2
個の浮動小数点演算器を有する場合について説明する。
また、浮動小数点命令キュー10のエントリ数は2とす
る。また、この例では、5つのステージからなるパイプ
ラインを用いて命令の実行を行なっている。これらの数
は増減が可能である。
【0013】パイプライン制御部1は、フェッチステー
ジ2、デコードステージ3、実行ステージ4、メモリス
テージ5、ライトステージ6から構成されている。フェ
ッチステージ2では、外部から命令を取り込む。デコー
ドステージ3では、命令をデコードする。実行ステージ
4では、ストア命令や演算命令の際に、記憶手段からデ
ータ読み出しの要求を出す。特に、浮動小数点演算命令
の際には、浮動小数点レジスタ7に対して読み出し要求
信号11を送出する。読み出し要求信号11としては、
読み出しの要求とともに、浮動小数点レジスタ7内の読
み出すべきデータのアドレスが送出される。実行ステー
ジ4は、読み出し要求信号11の切り換えの機能も有し
ており、浮動小数点キュー10からオペランドアドレス
信号13が入力されている時には、読み出し要求信号1
1としてこのオペランドアドレス信号13を送出してい
るが、ストア命令や浮動小数点演算命令が実行ステージ
4を通過する際には、これらの命令による浮動小数点レ
ジスタ7への読み出し要求を優先して送出するように制
御する。メモリステージ5は、ストア命令の際には実行
ステージ4で読み出したデータの出力、ロード命令では
外部からのデータの入力を行なう。浮動小数点演算命令
のときにはこのステージには到達せず、パイプラインを
抜けて浮動小数点命令キュー10に入力される。ライト
ステージ6は、ロード命令や演算命令のときに、記憶手
段にデータや演算結果を書き込む。浮動小数点演算命令
の場合には、浮動小数点レジスタ7に対して演算結果の
書き込みを行なう。
【0014】浮動小数点レジスタ7は、浮動小数点演算
命令のオペランドおよび演算結果を複数個保持する。読
み出し要求信号11に従い、指定されたアドレスのデー
タをオペランド12として第1の浮動小数点演算器8あ
るいは第2の浮動小数点演算器9へ、あるいは外部へ送
出する。また、ライトステージ6において、図示しない
書き込み要求信号に従い、指定されたアドレスに入力さ
れたデータを格納する。
【0015】第1の浮動小数点演算器8及び第2の浮動
小数点演算器9は、それぞれが並列に動作可能であり、
複数の浮動小数点演算命令をそれぞれ並列に実行するこ
とができる。それぞれの演算器は、同一の機能を果たす
演算器で構成されてもよいし、例えば、加減算器と乗除
算器等、違う機能を果たす演算器で構成してもよい。
【0016】浮動小数点命令キュー10は、第1のエン
トリ14、第2のエントリ15、及び、キュー制御部1
6により構成されている。第1のエントリ14、第2の
エントリ15で構成されるキューは、浮動小数点演算命
令を一時保持する。これは、浮動小数点演算命令の演算
時間がパイプライン制御部1の1ステージの時間よりも
必要であるためであり、パイプライン制御部1では処理
することができない浮動小数点演算命令を、パイプライ
ン制御部1のメモリステージから切り離し、キュー構造
のレジスタに複数保持する。また、キュー制御部16
は、キューを管理するとともに、第1の浮動小数点演算
器8及び第2の浮動小数点演算器9に対する演算開始の
制御を行なう。演算開始の制御は、例えば、第1の浮動
小数点演算器8による演算が必要な場合に、第1の浮動
小数点演算器8が使用可能であるときには、演算命令の
演算開始を第1の演算開始信号17により指示する。ま
た、第1の浮動小数点演算器8が使用中である場合に
は、第2のエントリ15で待っている演算命令のオペラ
ンドの浮動小数点レジスタ7におけるアドレスと読み出
し要求を、オペランドアドレス信号13としてパイプラ
イン制御部1の実行ステージ4に与える。そして、実行
中の演算が終了したことを演算終了信号19により検知
し、その直後に第1の演算開始信号17を送出して、第
1の浮動小数点演算器8へ実行開始を指示する。また、
第1のエントリ14内の浮動小数点演算命令をパイプラ
イン制御部1のライトステージ6に送るとともに、第2
のエントリ15内の浮動小数点演算命令を第1のエント
リ14に移す。第2の浮動小数点演算器9が必要な場合
についても同様である。
【0017】本発明の浮動小数点演算装置の一実施例の
動作を説明する。図3、図4は、本発明の浮動小数点演
算装置の一実施例における動作時のタイミングチャート
である。まず、図3を用い、外部から浮動小数点演算命
令が入力される場合について説明する。外部から入力さ
れた命令は、パイプライン制御部1に入る。入力した命
令は区間(a)のフェッチステージ2を経て、区間
(b)に示すデコードステージ3でデコードされる。次
の区間(c)において、実行ステージ4では、デコード
ステージ3でデコードされた命令が浮動小数点レジスタ
7からのデータを必要とする場合、例えば、ストア命令
や浮動小数点演算命令の場合は、浮動小数点レジスタ7
に対して読み出しの要求およびアドレスを読み出し要求
信号11として出力する。命令が、例えば、浮動小数点
演算命令のときは、この読み出し要求信号11に基づ
き、浮動小数点レジスタ7からオペランド12が第1の
浮動小数点演算器8および第2の浮動小数点演算器9に
出力される。読み出し要求信号11は、1クロック分の
間だけ送出される。オペランド12は、読み出し要求信
号11を受けていた1クロック分の間だけ、遅れを伴っ
て出力される。
【0018】次に、命令が浮動小数点演算命令の場合
は、実行ステージ4からメモリステージ5へ移行せず、
浮動小数点命令キュー10に入力される。ただし、浮動
小数点演算命令キュー10の2つのエントリの両方に浮
動小数点演算命令が入っている場合は、デコードステー
ジ3の段階でパイプラインを停止する。両方のエントリ
が空の場合、浮動小数点命令キュー10に入力した命令
は、第2のエントリ15を素通りして、区間(d)に示
すように、第1のエントリ14に格納される。キュー制
御部16は、第1のエントリ14に入った浮動小数点演
算命令に応じて、第1の浮動小数点演算器8または第2
の浮動小数点演算器9に対し、第1の演算開始信号17
または第2の演算開始信号18を出力する。ここでは、
第1の浮動小数点演算器8で演算を行なうように、第1
の演算開始信号17を出力している。このとき、前の実
行ステージ4において、すなわち区間(c)のタイミン
グで、この浮動小数点演算命令のオペランドを浮動小数
点レジスタ2から読み出し、第1の浮動小数点演算器8
および第2の浮動小数点演算器9に対して与えてあるた
め、浮動小数点命令キュー10からの第1の演算開始信
号17により、第1の浮動小数点演算器8はオペランド
を取り込み、即座に演算を開始できる。2つの浮動小数
点演算器は、演算開始のタイミングでオペランドを取り
込む。
【0019】区間(d)以降では、この浮動小数点演算
命令の処理が行なわれる。上述のように、この命令に要
する時間は1クロックより長くかかる。この間、パイプ
ライン制御部1では、浮動小数点演算命令以外の命令で
あって、オペランドが重ならない命令に限り、パイプラ
イン制御により実行することが可能である。
【0020】次に、図4を用い、浮動小数点命令キュー
10の第1のエントリ14にすでに命令が入っている場
合について説明する。区間(g)で浮動小数点命令キュ
ー10に入力された浮動小数点演算命令は、区間(h)
のデコードステージを経て、区間(i)で実行ステージ
でオペランドの読み出し要求を行なった後、区間(j)
で第2のエントリ15に格納される。もし、第2のエン
トリ15内の浮動小数点演算命令が使用する浮動小数点
演算器が、第1のエントリ14内の浮動小数点演算命令
がすでに使用している浮動小数点演算器と異なる場合
は、キュー制御部16はその命令に応じて第1の浮動小
数点演算器8または第2の浮動小数点演算器9に対し、
第1の演算開始信号17または第2の演算開始信号18
を出力する。この場合も、前の実行ステージ4におい
て、この浮動小数点演算命令のオペランドを浮動小数点
レジスタ7から第1の浮動小数点演算器8および第2の
浮動小数点演算器9に対して与えてあるため、浮動小数
点命令キュー10からの第1の演算開始信号17または
第2の演算開始信号18により即座に演算を開始でき
る。
【0021】第2のエントリ15内の浮動小数点演算命
令が使用する浮動小数点演算器が第1のエントリ14内
の浮動小数点演算命令が使用している浮動小数点演算器
と同じ場合には、その命令が第2のエントリ15に入力
されたときに、直ちに演算を開始することはできない。
そのかわり、第2のエントリ15から実行ステージ4に
対して、オペランドアドレス信号13を出力する。この
信号は、区間(j)ないし(n)に示すように、第2の
エントリ15に格納された浮動小数点演算命令の実行が
開始されるまで出力され続ける。
【0022】実行ステージ4では、先に述べたようにパ
イプライン制御部1を流れていく命令を処理するため
に、その命令が浮動小数点レジスタ7からのデータを必
要とするものの場合は、浮動小数点レジスタ7に対して
アドレスを含む読み出し要求信号11を出力するが、そ
の他の場合は、浮動小数点命令キュー10からのオペラ
ンドアドレス信号13があるかどうかを判断して、浮動
小数点命令キュー10からの要求がある場合にはオペラ
ンドを浮動小数点レジスタ7から第1の浮動小数点演算
器8および第2の浮動小数点演算器9に対して与える。
ただし、実行ステージ4において、パイプライン制御部
1からの命令が浮動小数点レジスタ7内のデータを必要
とする場合は、必ずそちらが優先する。
【0023】図4に示した例では、浮動小数点演算命令
FOP1が第1の浮動小数点演算器8を用いており、浮
動小数点演算命令FOP2も第1の浮動小数点演算器8
を必要としている。浮動小数点演算命令FOP2は、区
間(j)において第2のエントリ15に格納され、オペ
ランドアドレス信号13が出力される。浮動小数点レジ
スタ7への読み出し要求信号11は、この命令が実行ス
テージ4にある区間(i)のときに出力され、区間
(j)においても引き続きオペランドアドレス信号13
を経由して出力される。
【0024】ここで、区間(i)において、パイプライ
ン制御部1に、例えば、ストア命令STRが入力された
場合を考える。区間(j)において、デコードステージ
3でデコードされた後、実行ステージ4に入力される。
区間(k)において、ストア命令STRが浮動小数点レ
ジスタ7からの読み出しを必要とする命令であるので、
実行ステージ4は、読み出し要求信号11に出力するア
ドレス及び読み出し要求をオペランドアドレス信号13
からストア命令STRのためのアドレス及び読み出し要
求に切り換える。そのため、浮動小数点レジスタ7から
出力されるオペランド12は、ストア命令STRの必要
とするデータとなる。ストア命令STRは、浮動小数点
演算器を必要としないので、メモリステージ5を経て、
ライトステージ6で浮動小数点レジスタ7から読み出し
たデータを外部に出力し、ストア命令STRの実行を終
了する。
【0025】ストア命令STRに対する浮動小数点レジ
スタ7の読み出し要求は、1クロック分の区間のみであ
る。この読み出しが終了すると、再び、区間(l)に示
すように、読み出し要求信号11として浮動小数点命令
キュー10から出力されているオペランドアドレス信号
13に基づいた読み出し要求に切り換え、浮動小数点レ
ジスタ7に出力する。浮動小数点レジスタ7は、再び第
2のエントリ15に格納されている浮動小数点演算命令
FOP2のオペランド12を出力する。
【0026】キュー制御部16は、区間(m)における
第1の浮動小数点演算器8からの演算終了信号19が入
力されるのを待って、区間(n)において第2のエント
リ15内の浮動小数点演算命令の第1の演算開始信号1
7を出力する。また、この時点ではオペランド12が出
力されているので、第1の浮動小数点演算器8は、オペ
ランド12を取り込んで、演算を開始することができ
る。その後、区間(o)において、第1のエントリ14
内の浮動小数点演算命令FOP1をパイプライン制御部
1のライトステージ6に移し、第2のエントリ15内の
浮動小数点演算命令FOP2を第1のエントリ14に移
してキュー構造を維持する。この時点で、オペランドア
ドレス信号13は停止する。
【0027】このように、第2のエントリ15に待機中
の浮動小数点演算命令のオペランドを準備しておくこと
によって、待機中の命令が用いる浮動小数点演算器が使
用可能になった時に浮動小数点命令キュー4からの演算
開始の指令により即座に演算を開始することができる。
また、オペランドを準備している間であっても、パイプ
ライン制御部1で実行される命令が浮動小数点レジスタ
7内のデータを必要とする場合には、その命令による読
み出し要求を優先することにより、なるべくパイプライ
ンを停止させないようにし、実行効率を向上させること
ができる。
【0028】上述の制御では、例えば、図4の区間
(m)において、ストア命令などの浮動小数点レジスタ
7の読み出しを要求する命令が実行ステージ4に入力さ
れた場合には、オペランド12は実行ステージ4に入力
された命令に対応するデータとなってしまうため、第1
のエントリ14内の浮動小数点演算命令の実行終了時に
第2のエントリ15内の浮動小数点演算命令の実行を開
始できないこともある。このような場合であっても、1
クロック分だけ実行を遅らせるだけで、待機中の浮動小
数点演算命令の実行を開始させることができる。あるい
は、浮動小数点演算命令の実行開始時のみ、パイプライ
ンを1クロック分だけ停止し、浮動小数点命令キュー1
0からのオペランドアドレス信号13を優先させてオペ
ランドを読み出し、待機中の浮動小数点演算命令の実行
を開始させることもできる。この場合、実行速度の遅い
浮動小数点演算を優先して実行させることができ、全体
の実行速度を向上させることができる。
【0029】上述の実施例では、実行ステージ4におい
て、実行ステージ4内の命令に基づく読み出し要求と、
浮動小数点命令キュー10から出力される読み出し要求
を切り換えている。すなわち、実行ステージ4が切り替
えのための機能を兼ね備えている。しかしこれに限ら
ず、この切替機構を別体として構成することも可能であ
る。図5は、切替機構を有する構成例を示す要部ブロッ
ク図である。図中、図1、図2と同様の部分には同じ符
号を付してある。20は切替装置である。第2のエント
リ15から出力されているオペランドアドレス信号1
3、および、実行ステージ4から出力される読み出し要
求信号11は、切替装置20に入力されている。また、
この2つの信号を切り替えるための信号がデコードステ
ージ3から入力されている。デコードステージ3から実
行ステージ4に移される命令の種類に従い、例えば、ス
トア命令や演算命令の場合には、切替装置20は、実行
ステージ4から出力される読み出し要求信号11を選択
し、他の場合には、浮動小数点命令キュー10から出力
されているオペランドアドレス信号13を選択して、浮
動小数点レジスタ7に入力している。このように、切替
機構を別体として校正した場合でも、上述の実施例と同
様の動作を実現することができる。
【0030】
【発明の効果】以上の説明から明らかなように、本発明
によれば、浮動小数点演算装置において、浮動小数点演
算実行手段が別の浮動小数点演算装置命令を実行中に、
同じ浮動小数点演算実行手段を用いる浮動小数点演算命
令が現れた場合に、浮動小数点演算命令保持手段が後か
ら来た浮動小数点演算命令を保持すると同時に、オペラ
ンドを記憶する記憶手段に対して、待機中の浮動小数点
演算命令のオペランドの読み出しを行ない続けているの
で、すでに実行中の浮動小数点演算命令が終了した時点
で待機中の浮動小数点演算命令のオペランドが用意され
ており、実行中の浮動小数点演算命令が終了した直後に
待機中の浮動小数点演算命令の実行を開始することがで
き、高速に浮動小数点演算を実行することができる。こ
のとき、待機中の浮動小数点演算命令のオペランドの読
み出しを続けているので、実行中の浮動小数点演算命令
の処理に要する時間にかかわらず、処理の終了時点で待
機中の浮動小数点演算命令の実行を開始することができ
る。
【0031】また、待機中の浮動小数点演算命令のオペ
ランドを出力中であっても、実行ステージに来た命令が
記憶手段から読み出しを必要とするストア命令や演算命
令の時には、優先的に記憶手段に対して読み出しを要求
するように構成でき、パイプライン制御の停止を増加さ
せることなく、パイプライン制御の実行効率を維持する
ことができるという効果がある。
【図面の簡単な説明】
【図1】 本発明の浮動小数点演算装置の一実施例を示
すブロック図である。
【図2】 浮動小数点命令キューの一例を示すブロック
図である。
【図3】 本発明の浮動小数点演算装置の一実施例にお
ける浮動小数点演算命令が到来したときの動作時のタイ
ミングチャートである。
【図4】 本発明の浮動小数点演算装置の一実施例にお
ける待機中の浮動小数点演算命令が発生するときの動作
時のタイミングチャートである。
【図5】 本発明の浮動小数点演算装置における切替機
構を有する構成例を示す要部ブロック図である。
【符号の説明】
1…パイプライン制御部、2…フェッチステージ、3…
デコードステージ、4…実行ステージ、5…メモリステ
ージ、6…ライトステージ、7…浮動小数点レジスタ、
8…第1の浮動小数点演算器、9…第2の浮動小数点演
算器、10…浮動小数点命令キュー、11…読み出し要
求信号線、12…オペランド、13…オペランドアドレ
ス信号、14…第1のエントリ、15…第2のエント
リ、16…キュー制御部、17…第1の演算開始信号、
18…第2の演算開始信号、19…演算終了信号、20
…切替装置。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 パイプライン制御方式で命令を実行する
    情報処理装置に用いられる浮動小数点演算装置におい
    て、複数の浮動小数点演算命令をそれぞれ並列に実行可
    能な複数個の浮動小数点演算実行手段と、浮動小数点演
    算命令のオペランドおよび演算結果を複数個保持する記
    憶手段と、少なくとも命令の種類に従って前記記憶手段
    に対してデータの読み出しを要求する実行ステージを含
    む複数のステージにより構成されたパイプラインによっ
    て命令を実行するパイプライン実行手段と、該パイプラ
    イン実行手段の実行ステージにおける処理後の浮動小数
    点演算命令を複数保持可能であって前記浮動小数点演算
    実行手段が使用可能なときには保持している先頭の浮動
    小数点演算命令の演算開始を指示し前記浮動小数点演算
    実行手段が使用中である場合には待ち状態の浮動小数点
    演算命令のオペランドの読み出し要求を送出し続け実行
    中の演算が終了した直後に実行開始を指示する浮動小数
    点命令保持手段と、前記パイプライン実行手段の実行ス
    テージからのデータの読み出し要求と前記浮動小数点命
    令保持手段からの読み出し要求を命令の種類に応じて切
    り替える切替手段を有することを特徴とする浮動小数点
    演算装置。
JP2341694A 1994-01-24 1994-01-24 浮動小数点演算装置 Pending JPH07210384A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2341694A JPH07210384A (ja) 1994-01-24 1994-01-24 浮動小数点演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2341694A JPH07210384A (ja) 1994-01-24 1994-01-24 浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JPH07210384A true JPH07210384A (ja) 1995-08-11

Family

ID=12109900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2341694A Pending JPH07210384A (ja) 1994-01-24 1994-01-24 浮動小数点演算装置

Country Status (1)

Country Link
JP (1) JPH07210384A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317768B1 (ko) * 1998-02-19 2001-12-22 포만 제프리 엘 Ieee 호환 부동소수점 유닛

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317768B1 (ko) * 1998-02-19 2001-12-22 포만 제프리 엘 Ieee 호환 부동소수점 유닛

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
KR910006144B1 (ko) 느슨하게 결합된 파이프라인 프로세서
JP3510729B2 (ja) 命令実行方法および命令実行装置
EP0079370A4 (en) DIGITAL CALCULATOR FOR EXECUTING COMMANDS IN THREE PARTS IN TIME MULTIPLEX.
JPH07210384A (ja) 浮動小数点演算装置
JPH0512751B2 (ja)
EP0573071A2 (en) A microprocessor
JP2668987B2 (ja) データ処理装置
JPS6134188B2 (ja)
JP2689914B2 (ja) 情報処理装置
US5828861A (en) System and method for reducing the critical path in memory control unit and input/output control unit operations
JPH0222413B2 (ja)
JP2814683B2 (ja) 命令処理装置
JP2825315B2 (ja) 情報処理装置
JPS60250438A (ja) 情報処理装置
JP2925842B2 (ja) パイプライン処理装置
JP3102399B2 (ja) データ処理装置及び方法
JP2583614B2 (ja) ベクトル演算装置
JPH06139071A (ja) 並列計算機
JPH07200291A (ja) 可変長パイプライン制御装置
JPH10269079A (ja) 多重パイプラインを有する情報処理装置
JPH03257665A (ja) 情報処理装置
JPH04276827A (ja) パイプライン処理装置
JPH01271842A (ja) 情報処理装置
JPH03164945A (ja) データ処理装置