JPS63226764A - 高速浮動小数点演算システム - Google Patents

高速浮動小数点演算システム

Info

Publication number
JPS63226764A
JPS63226764A JP62060169A JP6016987A JPS63226764A JP S63226764 A JPS63226764 A JP S63226764A JP 62060169 A JP62060169 A JP 62060169A JP 6016987 A JP6016987 A JP 6016987A JP S63226764 A JPS63226764 A JP S63226764A
Authority
JP
Japan
Prior art keywords
host processor
arithmetic
data storage
data
command
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
JP62060169A
Other languages
English (en)
Inventor
Mikio Yonekura
米倉 幹夫
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP62060169A priority Critical patent/JPS63226764A/ja
Priority to PCT/JP1988/000146 priority patent/WO1988007238A1/ja
Priority to EP19880901641 priority patent/EP0306533A1/en
Publication of JPS63226764A publication Critical patent/JPS63226764A/ja
Pending legal-status Critical Current

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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

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)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、高速浮動小数点演算システムに関する。
〔従来の技術〕
浮動小数点演算を行う際に汎用のプロセッサを用いると
非常に速度が遅いため、浮動小数点演算専用のハードウ
ェア構成を有する高速浮動小数点演算器(Fast F
loating Po1nt Processor %
以下FFPとも称す)を設けることが従来行われている
この場合、汎用のプロセッサからなるホストプロセッサ
が、上記FFPに、演算に必要なデータを含むコマンド
ブロックを入力することにより演算の実行を命じる。他
方、該FFPは、入力したコマンドブロックを記憶する
データ記憶部と、該データ記憶部に記憶したコマンドブ
ロックに従って演算を実行し、その演算結果を再び該デ
ータ記憶部に記憶させる演算実行部とからなっており、
前記ホストプロセッサは該データ記憶部に演算結果が記
憶されるとこれを読出すという高速浮動小数点演算シス
テムが形成されていた。
上記のようなシステムにおけるハードウェアの構成の1
例を第9図に示す。第9図において、100は高速浮動
小数点演算器(F F P)、200はホストプロセッ
サであって両者はバックプレーンバス70およびバスイ
ンターフヱイス71を介して接続されている。該高速浮
動小数点演算器(FFP)100の構成は以下のとおり
である。
まず、3はデータ記憶部、4は演算部、5−1はマイク
ロプログラム制御部、5−2はクロック発生部、そして
、9は双方向バッファである。
マイクロプログラム制御部5−1はマイクロプログラム
記憶部52を有し、該マイクロプログラム記憶部(Wr
itable Control Storage、WC
3ともいう)52には予めホストプロセッサ200より
マイクロプログラムが書込まれており該マイクロプログ
ラム制御部5−1は、該マイクロプログラムに従って前
記演算部4や前記データ記憶部3を制御する。
演算部4は、前記マイクロプログラム制御部5−1の制
御により、データ記憶部3から演算用データを読出して
、これを演算し、演算結果は、再び該データ記憶部3に
書込む。
データ記憶部3はデータRAM 30 、R/W (リ
ード/ライト、read / wr i te)コント
ロール31、アドレス・ジェネレータ32、アドレス・
レジスタ33、およびレジスタ34から構成されている
データRAM 30には前記双方向バッファ9およびデ
ータバス73を介して、ホストプロセッサ200がら送
られた演算用データが一旦書込まれ、該演算用データは
更に前記演算部4へ読出される。該演算部4における演
算結果は再び該データRAM 30に書込まれ、前記ホ
ストプロセッサ200により読出される。ここで、R/
Wコントロール31は、該データRAM 30と前記演
算部4との間のデータのやりとりに関しては前記マイク
ロプログラム制御部5−1の制御(第9図では符号“M
”で示す)により、また該データIIIAM 30と前
記ホストプロセッサ200との間のデータのやりとりに
関しては、ホストプロセッサ200からR/W(リード
・ライト)信号とストローブ信号とを受けることにより
、データRAM 30に対して出力イネーブル信号ある
いは書込みイネーブル信号を出力する。R/Wコントロ
ール31の構成例は第10図に示されている。
アドレス・ジェネレータ32は前記マイクロプログラム
制御部5−1の制御によって、前記データRAM 30
と前記演算部4との間のデータのやりとりの際に、該デ
ータRAM 30のアドレスを指定する。
他方、前記ホストプロセッサ200と該データRAM3
0との間のデータのやりとりの際のアドレス指定は、ア
ドレス・レジスタ33を介して行われる。
レジスタ34は該データ記憶部30から前記マイクロプ
ログラム制御部51または上記アドレス・ジェネレータ
32ヘデータを送るために設けられている。
クロック発生部5−2は、クロック発振器54およびク
ロック制御部55から構成されており、該クロック発振
器54にて発生させられたクロックパルスは該クロック
制御部5−2を介して出力され、該FFPのうち上記マ
イクロプログラム制御部5−1、および、該マイクロプ
ログラム制御部5−1によって制御される部分全ての部
分の同期をとっている。
双方向バッファ9は、第9図に示されるように、該ホス
トコンピュータ200からデータRAM 30ヘデータ
を書込む方向およびその逆方向を向いた2つのバッファ
を互いに並列に接続したもので、通常は共に高インピー
ダンス状態にあって該ホストプロセッサ200と該デー
タRAM 30の間を電気的に遮断しているが、それぞ
れ富亥ホストプロセッサ200からの制御によって動作
状態となり、データ転送を可能にする。
以上のようなハードウェア構成を有する従来の高速浮動
小数点演算システムにおいて、前記ホストプロセッサ2
00から前記データRAM 30へのデータの書込み、
FFPにおける演算処理、および該データRAM 30
から該ホストプロセッサ200への演算結果の読出しは
以下のように行われていた。
■ ホストプロセッサ200はFFPlooに、演算の
指令と該演算に必要なデータを含む1つのコマンドブロ
ックをデータの形で人力する。
■ FFPlooは上記1つのコマンドブロックに従っ
て演算を実行する。
■ ホストプロセッサ200はFFPlooより該1つ
のコマンドブロックに対する演算結果を読出す。
■ 以下■〜■のくり返し。
〔発明が解決しようとする問題点〕
上述のような従来の高速浮動小数点演算システムにおい
ては、ホストプロセッサからFFPへ1度に複数のコマ
ンドブロックを入力することができないという問題点が
あった。
c問題点を解決するための手段〕 上述の問題点を解決するために本発明においては、第1
図に示すように、ホストプロセッサ200から複数のコ
マンドブロックを、各々、FFPlooのデータ記憶部
3内の該ホストプロセッサ200が指定する領域へ記憶
し、該複数のコマンドブロックの各々は、該各々の次に
実行すべきコマンドブロックが記憶されている該データ
記憶部3の領域を指定する情報A + + A z +
 A z + A # l・・・を含んでなることを特
徴とする高速浮動小数点演算システムが提供される。
〔実施例〕
第5図は本発明の高速浮動小数点演算システムにおける
ハードウェア構成の第1の例を示す図である。第5図は
、ステータスレジスタ8を設けた点以外は前述の第9図
の構成と全く同一である。
ステータスレジスタ8とは、データRAM 30内に書
込まれている複数のコマンドブロックの各々の演算処理
が終了して演算結果が該データRAM 30にストアさ
れたかどうかを表示するために各コマンドブロック毎に
設けられたフラグの集合によりなるものであって、後述
(第2図に関する説明)のように、本発明の第1および
第2の実施例においてホストプロセッサ200からFF
Plooに送られるコマンドブロックにはFFPloo
のデータ記憶部に同時に記憶されているコマンドブロッ
クの各々を互いに識別するための識別番号、“CBN[
L”が含まれており、前記各コマンドブロック毎に設け
られたフラグはそれぞれこの“CBIlkL”に対応す
るようにしている。また、該各フラグは、対応する演算
結果がホストプロセッサ200によって読出されるとO
に戻される。
以下においては、第2図、第3図および第4図を用いて
、本発明の高速浮動小数点演算システムにおいて、特に
ホストプロセッサからFFPへ入力されるコマンドブロ
ックのデータ構造の1例、および、このようなデータ構
造を有するコマンドブロックを用いてホストプロセッサ
、FFP各々において行われる処理の手順について説明
する。
なお、これらの説明は、前述の本発明の高速浮動小数点
演算システムにおけるハードウェア構成の第1の例(第
5図)に基いて行うが、これらの説明は、後述の、第6
A図で示される本発明の高速浮動小数点演算システムに
おけるハードウェア構成の第2の実施例にもそのまま適
用し得るものである。
第2図は、本発明の実施例におけるコマンドブロック(
以下ではCBとも称す)のフォーマットとチェーニング
(chaining)の1例を示す図である。第2図に
おいて、各コマンドブロックの先頭番地の最上位ビフl
−(MSB)を“■”で示している。このビットが1で
あるならば、以下に続くコマンドブロックは演算の実行
を指令するものであることを意味し、このビットがOの
ときは、これで演算が終了したことを意味する。第2図
で” lN5T″と示されているのはIn5truct
ionの略であり、このコマンドブロックが実行すべき
機能を示す。具体的にはその機能に対応するマイクロプ
ログラムの先頭番地である。” CB11h”は、FF
Plooのデータ記憶部3に同時に記憶されているコマ
ンドブロックの各々を互いに識別するための識別番号で
ある。そして、“NEWT CB POINTER”が
、前述の本発明による「各コマンドブロックの次に実行
すべきコマンドブロックが記憶されている、該データ記
憶部3の領域を指定する情報Jに対応するものである。
ここでCB POINTERとは該高速浮動小数点演算
システム内に設けられ、該FFPが実行中のコマンドブ
ロックが記憶されているデータ記憶部の領域の先頭番地
をロードしておくためのレジスタであって、前述の第5
図の構成においては、アドレス・ジェネレータ32内の
1つのレジスタA(図示せず)がこれに充てられている
したがってNEXT CB POINTER″とは、該
実行中のコマンドブロックの次に実行すべきコマンドブ
ロックが記憶されている、該データ記憶部3の領域の先
頭番地を示すものである。上記の情報に続く部分には、
前述のように、演算の実行に必要なデータが記されてい
る。第2図においてコマンドブロック4の次、つまり最
後のコマンドブロックの先頭番地はOであるのでそのデ
ータ領域はNULL(空白)となっている。また、第2
図に示された各コマンドブロックの記憶領域は、互いの
記憶領域あるいはデータ記憶部内の他の記憶領域と重な
らない限り、任意の領域にとることができ、これは該ホ
ストプロセッサ200によって指定される。
第3図は、本発明の実施例としての高速浮動小数点演算
システムにおけるホストプロセッサ200の手順を示す
図である。
5TART後、まずステップ302で前記マイクロプロ
グラム記憶部(WC5) 52およびデータRAM 3
0 (ここでは第5図のハードウェア構成を用いるもの
としておく。)の内容を初期化し、ステップ303でコ
マンドブロックのカウント(FFPに入力したコマンド
ブロックのうち未だ演算結果を読出していないものが何
個あるかを示す計数値、)をゼロとする。次にステップ
304でFFPに高速浮動小数点演算を行わせるために
用意されたコマンドがあるかどうかを判断し、もしなけ
れば先の演算結果読出しのステップ(309〜312)
ヘジャンプし、他方、FFPに与えるコマンドがあれば
ステップ305に進んで、既にFFPに入力したコマン
ドのうち未だ演算結果を読出していないものの数が該F
FPに同時に記憶できるコマンドブロック数の最大値に
達していないかどうかをチェー)りする。
(第3図の例では8コとしている。またコマンドブロッ
クのカウントCBカウントは、前述のようにCB=0か
らカウントしているのでCBカウントの最大値は7とな
っている。)もし、該FFPにコマンドブロックが同時
に記憶可能な最大数既に記憶されているならば、これ以
上コマンドブロックの入力はできないので、やはりステ
ップ309〜312の演算結果読出しのステップを実行
する。
他方、未だ新たにコマンドブロックを入力する余地があ
るときにはステップ306に進み、ここで前記先頭番地
のMSB、“■”はOとしたままで、該“■”以外のコ
マンドブロックの内容をデータRAM30に書込む。こ
こで■=0としているのは、該ホストプロセッサ200
がコマンドブロックの書込みを終えないうちに、前記F
FPがV=1を読んでBgv=1のビット以後のデータ
RAM 30内容をコマンドと誤って読むことがないよ
うにするためである。′V”以外のコマンドブロックの
書込みを終えると、ステップ307ではv=OのNUL
Lコマンドブロックを前記ステップ306のコマンドブ
ロックの@NEXT CB POINTER”の内容が
示す番地に書込んでおく。次に新たなコマンドブロック
を入力するときには、この番地から書込むことになる。
次にステップ30Bにおいて、先のステップ306のコ
マンドブロックの“V″を1とし、コマンドブロックの
カウントをインクリメントする。
ステップ309からはFFPにおける演算結果の読出し
のステップであり、まず、ステップ309においてFF
Pのステータスレジスタ(後述)に1が立っているかを
判断する。FFPのステータスレジスタとは、先に第5
図の説明で述べられているように、FFPにおいて、前
記″CBk”の各々に対応して設けられたフラグからな
るものであって、該FFPは1つのコマンドブロックに
ついて演算処理を終えてその演算結果をデータ記憶部(
データRAM 30)の所定の領域に書込んだ後、該ス
テータスレジスタ内の対応するフラグを1とするもので
ある。ここでどのフラグも1となっていなければ、FF
Pにおいて演算結果が出ているものがないということで
あるので、再びステップ304〜308の、データ書込
みのステップヘジャンプする。もし、該ステータスレジ
スタに1が立っているビットがあれば、ステップ310
で、このビットに対応するコマンドブロックの演算結果
をデータRAM 30から読出す、そして、ステップ3
11で読出した演算結果に対応するステータスレジスタ
のビットを0にクリアする。ステップ312では、演算
結果を1つ読出したことに対応して、前記CBカウント
をデクリメントする。こうして、もう1つ新しいコマン
ドブロックを人力する余地ができたことになる。こうし
て再びステップ304にジャンプする。
第4図は、FFPにおける処理の手順を示す図である。
スタート後、まず、ステップ402においてCBポイン
タに初期値をセットする。CBポインタは、先に第2図
の説明の際に述べたものである。次にステップ403で
該CBポインタが指定するデータRAM 30の内容を
読出す。ステップ404では、まずその先頭番地のMS
B、つまり前記“V′ビットが1かどうかを見る。これ
が0であればまだデータRAM 30に演算を指令する
コマンドブロックが入力されていないことを意味し、入
力されるまで該FFPはステップ403 、404のル
ープで待つことになる。ステップ404でv(MsB)
−1であるならば、ステップ405にて、第2図に示し
たコマンドブロックのCB!1h”を読んで第5図のア
ドレス・ジェネレータ32の中の1つのレジスタB(図
示せず)にストアする。ステップ407はFFPの高速
浮動小数点演算に対応するもので、FFPはコマンドブ
ロックのデータ領域中のデータをパラメータとして演算
を実行し、演算結果を該コマンドブロックのデータ領域
にストアする。ステップ408では、先に第3図の説明
の欄で述べたように、演算結果をデータRAMにストア
したコマンドブロックのCB11hに対応するステータ
スレジスタのビットを1にセットする。これによって、
FFPは該コマンドブロックの演算結果が読出し可能で
あることを表示するのである。ステップ409では、該
コマンドブロックのNEXT CB POINTER″
を読出して、次のコマンドブロックを記憶しているデー
タRAMの領域の先頭番地を、前記CBポインタ(アド
レス・ジェネレータ32内のレジスタA)にストアする
。そして、次のコマンドブロックの処理のステップ40
3へ進む。
このように、上述のようなコマンドブロックのデータ構
造と、ホストプロセッサおよびFFPにおける処理手順
を用いれば、FFPの演算処理実行中においても次々と
先のコマンドを与えておくことができるので、FFPは
1つのコマンドブロックに対する演算処理が終了すると
すぐに次のコマンドブロックに対する演算処理にとりか
かることができる。
ここで、本発明の高速浮動小数点演算システムにおける
ハードウェア構成の第2の例を示す、第6A図、第6B
図、および、第6C図について説明する。
第6A図において、バックブレーンバス70およびバス
インターフェイス71を介するホストプロセッサ200
との接続関係の他、データ記憶部3およびクロック発生
部5−2の構成と機能、そして、マイクロプログラム制
御部5−1、演算部4、そして、ステータスレジスタ8
の機能は、前述の第9図のFFPと全く同様である。第
6A図では、マイクロプログラム制御部5−1および演
算部4については、それらの内部のより詳細な構成が示
されている。上記のマイクロプログラム制御部5−1お
よび演算部4の内部の構成の詳細については、本発明に
直接間わるものではないので以下に簡単に説明する。
まず演算部4はレジスタ・ファイル40、浮動小数点乗
算/除算器(MPY/Dm41および浮動小数点算術論
理演算器(ALU)42から構成されている。
レジスタ・ファイル40は該マイクロプログラム制御部
5−1の制御のもとに、前記データRAM 30より演
算用データを読出して前記MPY/DIV 41へ供給
し、また、該ALU42またはMPY/DIV 41に
おける演算途中のデータおよび最終演算結果をここに一
時保持するためのものである。該最終演算結果は、該レ
ジスタ・ファイル40から前記データRAM 30に書
込まれる。糺口42は加減算および比較/論理演算を行
い、MPY/DIV 41は乗除算を行う。該ALU4
2およびMPY/DIV 41はそれぞれ2種類の出力
を有しており、1つは、それぞれ、加減算、および、乗
除算の算術演算の結果を出力するもので、これらの算術
演算結果は前記レジスタ・ファイル40に入力される。
該ALU42およびMPY/DIV 41の各々におけ
る他の1つの出力は、比較/論理演算結果または演算時
のエラーの発生を知らせるステータス信号であり、後述
のように、前記マイクロプログラム制御部5−1は、該
ステータス信号の内容を解読して、次に実行するマイク
ロ命令を決定する。
マイクロプログラム制御部5−1は、シーケンサ51、
前述の−C352、マイクロコードレジスタ53、デコ
ーダ56、エラー記憶部57、マルチプレクサ58、お
よびレジスタ59から構成されている。該WCSはRA
Mであって、該WC552には当該FFPにおける演算
処理の開始時に前記ホストプロセッサ200からマイク
ロプログラムが書込まれる。第6A図のWCS書込制御
部60は、ホストプロセッサ200からのプログラム書
込の要求を受けると、そのCLEAR信号出力により、
前記シーケンサ51を初期状態に固定しつつ、バッファ
ゲート61を開とするように制御する。ホストプロセッ
サ200からのWCSアドレス及びWCSデータ(マイ
クロ命令)は該バッファゲート61が有する2つのゲー
トの各々を通ってt5 WC552に入力される。
シーケンサ51が該WC552のアドレスを指定するこ
とにより、該アドレスにストアされているマイクロ命令
がマイクロコードレジスタ53にロードされ、該マイク
ロ命令が実行される。ここで、前記演算部4からのステ
ータス信号はデコーダ56、エラー記憶部57およびマ
ルチプレクサ58を経て、解読され、該ステータス信号
の内容が順にレジスタ59にロードされる。前記シーケ
ンサ51は該レジスタ59の内容に基いて、次のWCS
アドレスの指定を行う。このようにして該マイクロプロ
グラム制御部5−1は動作する。
なお、ここまでの、演算部4およびマイクロプログラム
制御部5−1の構成の詳細についての説明は、先の第9
図および第5図にも該当するものである。
双方向バッファレジスタ1の構成は第6B図に示すとお
りである。第6B図において11 、12は、それぞれ
後述するホストプロセッサアクセス用制御部2の制御(
WP 1 、 [)により、データの書込みを行うレジ
スタ、13 、14もまた、ホストプロセッサアクセス
用制御部2の制御(OE 1 、 [)によりデータを
出力する(トライステート)バッファである。
ホストプロセッサアクセス用制御部2の構成は、第6C
図に示されている。第6C図において、21 、22 
、23はDフリップフロップ、24 、25 、27 
29はアンド(AND)回路、26 、28はナンド(
NAND)回路である。
第7A図および第7B図は、ホストプロセッサアクセス
用制御部2の動作のタイミングを示す図である。第7A
図はホストプロセッサ200へデータRAM 30のデ
ータを読出すときのものである。第6C図に示すように
、ホストプロセッサ200よりバスインターフェイス7
1を介してストローブ信号(STB)とリード・ライト
信号(R/W)が入力される。これは従来、前述の第9
図の構成においてバスインターフェイス71からR/W
コントロール31へ入力されていたものである。(第1
0図)。ここで、R/W信号はデータ書込み時は常時“
0”であり、データ読出し時は常時“1”である。この
回路自体の動作は容易に理解されるものであるので途中
の説明は省略する。第7A図に示されるように、R/W
信号が′0”のときの出力は“HOST″、“14P1
”、そして“OE1″である。HOSTは第6A図のク
ロック制御部55に入力され、FFPを動作させるクロ
ックパルスを停止させる。−Plは第6B図に示される
ように、双方方向バッファレジスタ1のレジスタ11の
トリガ入力となっている。第7A図に示すように酊の立
上りでレジスタ11にデータRAM 30から転送され
たデータがセットされる。もう1つの出力OEIは、第
6B図の双方向パフファレジスタ1の(トライステート
)バッファ13の制御入力であって、バスインターフェ
イス71からのストローブ信号に等しいタイミングで“
1”となっており、前記レジスタ11にデータがセット
された後、ストローブ信号が“0”となるまでの間にレ
ジスタ11にロードされていたデータが、ホストプロセ
ッサ200に読取られる。またこのとき、上記HO3T
信号と、OE2を反転した75TT信号が前記ストロー
ブ信号とR/W信号の代りにR/Wコントロール31に
入力される。今、データ読出し時にはOE2は“O”で
あるので、第10図から明らかなように、このときはR
/Wコントロール31からは上記HO5T信号が“1”
となるタイミング、すなわち、要Tが“0”となるタイ
ミングでデータが読出される。つまり、このデータがレ
ジスタ11にセットされるのである。またレジスタ11
におけるデータのセット完了と同時にHOSTは“O″
に戻り、クロック制御部55に対するクロ9クパルスの
停止制御を取りやめる。即ちデータがレジスタ11にセ
ットされると同時にFFPのクロック停止は解除される
。このクロック停止時間はFFPのクロックの1周期間
である。次に第7.B図を用いてホストプロセッサ20
0からデータRAM 30へのデータの書込みの動作の
タイミングについて説明する。
この場合も、第6C図の回路の動作は容易であるので、
その出力、“HOST”、1F2′″”および”OE2
”についてのみ述べる。)IOST信号の役割りは前述
の第7A図の場合と全(同様である。出力“WP2”は
、第6B図に示すように、双方向パフファレジスタ1の
レジスタ12のトリガ入力となっており、OE2は、該
双方向パフファレジスタ1の(トライステート)バッフ
ァ14の制御入力であって、上記HO3T信号と全く同
じタイミングで“l ”となる。OE2はまた、反転さ
れて、蔀1−となってR/Wコントロール31にHOS
Tと共に入力され、R/Wコントロール31から書込み
イネーブル信号を出力せしめる。こうして、まず、HP
2によってホストプロセッサ200からのデータが双方
向バッファレジスタ1のレジスタ12にセントされた後
、HO5T信号が、FFPを動作させるクロックパルス
を停止させると同時に、該HOST信号と■T倍信号R
/Wコントロール31に作用して、データRA?’l 
30を書込み可能とし、さらに同時にOF2は双方向バ
ッファレジスタ1の(トライステート)バッファ14を
出力可能とする。こうして、ホストプロセッサ200か
らのデータがFFPのデータRAM 30に書込まれる
。このときもFFPの停止時間はFFPのクロックパル
スの1周期間である。
以下においては、第5図(および第9図)に示される構
成を有するFFPと、第6A図に示される構成を有する
FFPとの各々における、ホストプロセッサ200から
のデータの書込み、および、該ホストプロセッサへのデ
ータの読取りの際のタイミングについて考察する。
第8A図は、前述の第5図で示される高速浮動小数点演
算器(FFP) 100におけるホストプロセッサ(第
8A図および後述の第8B図ではHPで示す)200か
らデータRAM 30へのデータの書込み、および該デ
ータRAM 30から該ホストプロセッサ200への読
出しのタイミングを示す図である。第8A図において、
(a)はホストプロセッサ(l(P) 200における
処理サイクル、(b)はFFPlooにおける演算処理
の実行時間、及び停止期間を示すものである。(C)は
FFPlooにおけるクロックパルス(CL K)のタ
イミングを示す。A、は該ホストプロセッサ200がF
FPlooのクロックパルス停止させるための信号(前
記クロック停止信号)を出力するサイクルで、該クロッ
ク停止信号がFFPlooのクロック制御部55に入力
されると、該クロック制御部55は、FFPlooにお
けるクロックパルスの出力を停止する(時刻1+)。こ
れによってFFPlooの演算処理は停止する。次に該
ホストプロセッサ200は、前記双方向バッファ9のう
ち該ホストプロセッサ200からデータRAM 30方
向へ向う(トライステート)バッファを動作可能とし、
前記R/Wコントロール31に対し、R/W信号を“0
”とすると共にストローブ信号を出力する。
これによって該ホストプロセッサ200からデータRA
M 30へデータの書込みが開始される(時刻tz)。
ここで第8A図において略号Wは該ホストプロセッサ2
00から5iFFP100へのデータの書込みのサイク
ルを表わすものとする。時刻t、にてホストプロセッサ
200からデータRAM 30へのデータの書込みが終
了すると、次のホストプロセッサ200におけるマシン
サイクルにおいては85FFP100の停止を解除する
ためのサイクルA、が開始され、該ホストプロセッサ2
00からクロックパルス停止の解除のための前記クロッ
ク再開信号が送られ、前記クロック制御部55は該クロ
ック再開信号を受けて(時刻t4)、再びクロックパル
スの出力を再開する。これによって該FFP100は再
び演算処理を再開する。第8A図の右半分に示されてい
る、該ホストプロセッサ200からの読出しの場合も、
A。
および、A、のサイクルについては前記の書込みの場合
と全く同様であり、前記書込み時との違いは、時刻t7
から始まる、該FFPから該ホストプロセッサ200へ
のデータの読出しサイクルにあり、このとき、該ホスト
プロセッサ200は前記双方向バッファ9のうち該ホス
トプロセッサ200方向へ向うバッファを制御してこれ
を動作可能とし、他方、該R/Wコントロール31に対
してはR/W信号を“1”としてストローブ信号(ST
B)と共に出力する。これによりR/Wコントロールは
、出力イネーブル信号(OE)をデータRAM 30に
対して出力し、この結果、データRAM 30より該ホ
ストプロセッサ200ヘデータが読出される。第8A図
から明らかなように、第5図の構成のFFPlooとホ
ストプロセッサ200との間のデータのやりとりにおい
ては、該FFP100への書込み、読出し、いずれの場
合においても、そのためのFFPlooの停止時間は、
該ホストプロセッサ200のマシンサイクルの約2倍に
及んでいる。実際、第5図の例では、この時間は約2μ
secである。
第8B図は、ホストプロセッサ200とFFPのデータ
RAM 30との間でのデータ転送のタイミングを、第
6A図のFFPの場合について示すものである。
第8B図において(a)はホストプロセッサ(HP)2
00における処理サイクル、(b)はFFPにおける演
算処理の実行時間、及び停止時間を示すものである。(
C)はFFPにおけるクロックパルス(CLK)のタイ
ミングを示す。
第8B図(1)におけるA1.lはホストプロセッサ2
00におけるデータ書込みサイクルであり、ARは同じ
くデータ読出しサイクルである。一方、前述の第7A図
および第7B図の説明からも明らかなようにデータの書
込み、および読出し時におけるFFPの停止時間はFF
Pの1マイクロサイクル(本実施例では0.1μ5ec
)である。
このように、第6A図のハードウェア構成を用いるとホ
ストプロセッサ200からFFPlooへのデータの書
込み、および、演算結果の読出しの際に該FFP100
が停止する時間が極めて短くて済むことになる。このこ
とは特に、前に第2図、第3図、および第4図を用いて
説明したコマンドブロックのデータ構造、および、その
ようなデータ構造を有するコマンドブロックを用いて、
ホストプロセッサ200およびFFPlooにおいて行
われる処理の手順を用いる際に極めて有利である。なぜ
ならば、上記のコマンドブロックのデータ構造や処理手
順はFFPが演算処理を実行中であっても、その間に適
宜割込んで次々と先のコマンドを与えておくようにする
ものであるので、この割込みによるFFPの演算処理の
停止時間が、1桁も短くなることになるからである。
〔発明の効果〕
本発明の高速浮動小数点演算システムにおいては、FF
Pの演算処理実行中においてもホストプロセッサは次々
と先のコマンドを該FFPに与えておくことができるの
で、FFPは1つのコマンドブロックに対する演算処理
が終了するとすぐに次のコマンドブロックに対する演算
処理にとりがかることができる。
【図面の簡単な説明】
第1図は本発明による高速浮動小数点演算システムの1
例を示す図、 第2図は本発明の高速浮動小数点演算システムにおける
コマンドブロックのフォーマットとチェーニングの1例
を示す図、 第3図はホストプロセッサ200の手順を示す図、第4
図は高速浮動小数点演算器(FFP) 100における
処理の手順を示す図、 第5図は本発明の高速浮動小数点演算システムにおける
ハードウェアの構成の第1の例を示す図、第6A図は本
発明の高速浮動小数点演算システムにおけるハードウェ
ア構成の第2の例を示す図、第6B図は第6A図におけ
る双方向バッファレジスタ1の構成図、 第6C図は第6A図におけるホストプロセッサアクセス
用制御部2の構成例を示す図、第7A図および第7B図
は第6C図のホストプロセッサアクセス用制御部2のタ
イミングを示す図、 第8A図は第5図および第9図のハードウェア構成にお
けるデータの書込みおよび読出しのタイミングを示す図
、 第8B図は第6A図のハードウェア構成におけるデータ
の書込みおよび読出しのタイミングを示す図、 第9図は、従来の高速浮動小数点1演算システムにおけ
るハードウェア構成の1例を示す図、第10図はR/W
コントロール31の構成例を示す図である。 (符号の説明) 1・・・双方向バッファレジスタ、 2・・・ホストプロセッサアクセス用制御部、3・・・
データ記憶部、  4・・・演算部、5・・・FFP制
御部、 8・・・スティタスレジスタ、 9・・・双方向バッファ、 11 、12・・・レジスタ、13.14・・・バッフ
ァ、30・・・データRAM。 31・・・R/Wコントロール、 32・・・アドレス・ジェネレータ、 33・・・アドレス・レジスタ 34・・・レジスタ、 40・・・レジスタ・ファイル、 41・・・浮動小数点乗算/除算器(MPY/DIv)
、42・・・浮動小数点算術論理演算器(ALU)、5
1・・・シーケンサ、 52・・・ライタプル・コントロール・ストレージ(W
C3)、 53・・・マイクロコードレジスタ、 56・・・デコーダ、    58・・・マルチプレク
サ、59・・・レジスタ、 60・・・WCS書込制御部、 61・・・バッファゲート、 70・・・バックプレーンバス、 71・・・バスインターフェイス、 72 、73 、74・・・バス、 100・・・高速浮動小数点演算器(F F P)、2
00・・・ホストプロセッサ。 高速浮動11点演算器(FFP)100における処理の
手順を示す図第4図

Claims (1)

  1. 【特許請求の範囲】 1、ホストプロセッサと高速浮動小数点演算器とからな
    り、該ホストプロセッサは該高速浮動小数点演算器に、
    演算に必要なデータを含むコマンドブロックを入力する
    ことにより演算の実行を命じ、 該高速浮動小数点演算器はさらに、該入力したコマンド
    ブロックを記憶するデータ記憶部と、該データ記憶部に
    記憶したコマンドブロックに従って演算を実行し、その
    演算結果を再び該データ記憶部に記憶させる演算実行部
    とからなり、 前記ホストプロセッサは該データ記憶部に記憶された演
    算結果を読出す高速浮動小数点演算システムにおいて、 複数のコマンドブロックを各々、前記データ記憶部内の
    前記ホストプロセッサが指定する領域に記憶し、各コマ
    ンドブロックは、該各コマンドブロックの次に実行すべ
    きコマンドブロックが記憶されている、該データ記憶部
    の領域を指定する情報を含んでなり、前記演算実行部は
    該情報を参照することにより、予め記憶されている複数
    のコマンドブロックの演算を次々と実行することを特徴
    とする高速浮動小数点演算システム。 2、前記コマンドブロックの各々はさらに、演算の終了
    を示すことのできるフラグを含んでなる特許請求の範囲
    第1項記載の高速浮動小数点演算システム。 3、前記コマンドブロックの各々は、さらに、前記デー
    タ記憶部3に同時に記憶されているコマンドブロックの
    各々を互いに識別するための識別番号を含んでなり、 前記演算実行部は、各コマンドブロックの演算結果を前
    記データ記憶部に記憶させる毎に前記ホストプロセッサ
    に対し前記識別番号を用いて該コマンドブロックの演算
    結果が読出し可能であることを表示し、 前記ホストプロセッサは該表示により前記演算結果が読
    出し可能であることを認知して、前記データ記憶部から
    該演算結果を読出し、該表示を消去する特許請求の範囲
    第1項記載の高速浮動小数点演算システム。 4、前記ホストプロセッサは、入力したコマンドブロッ
    クの数と演算結果を読出したコマンドブロックの数との
    差を所定の値以下に保つ特許請求の範囲第1項記載の高
    速浮動小数点演算システム。 5、前記演算実行部は、演算を実行するためのマイクロ
    プログラムを記憶するマイクロプログラム記憶部を備え
    てなり、 前記コマンドブロックの各々は、該マイクロプログラム
    記憶部において、実行すべき演算に対応するマイクロプ
    ログラムを記憶する領域を指定する情報を、さらに含ん
    でなる特許請求の範囲第1項記載の高速浮動小数点演算
    システム。 6、前記ホストプロセッサと前記データ記憶部との間に
    、該ホストプロセッサから該データ記憶部へのコマンド
    ブロックの書込み、および該データ記憶部から該ホスト
    プロセッサへの演算結果の読出しの際に、一旦データを
    ロードするための双方向バッファレジスタを設ける特許
    請求の範囲第1項より5項のいずれか1項記載の高速浮
    動小数点演算システム。
JP62060169A 1987-03-17 1987-03-17 高速浮動小数点演算システム Pending JPS63226764A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62060169A JPS63226764A (ja) 1987-03-17 1987-03-17 高速浮動小数点演算システム
PCT/JP1988/000146 WO1988007238A1 (en) 1987-03-17 1988-02-15 High-speed floating point operation system
EP19880901641 EP0306533A1 (en) 1987-03-17 1988-02-15 High-speed floating point operation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62060169A JPS63226764A (ja) 1987-03-17 1987-03-17 高速浮動小数点演算システム

Publications (1)

Publication Number Publication Date
JPS63226764A true JPS63226764A (ja) 1988-09-21

Family

ID=13134392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62060169A Pending JPS63226764A (ja) 1987-03-17 1987-03-17 高速浮動小数点演算システム

Country Status (3)

Country Link
EP (1) EP0306533A1 (ja)
JP (1) JPS63226764A (ja)
WO (1) WO1988007238A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8928934D0 (en) * 1989-12-21 1990-02-28 Boc Group Plc Treatment of birds
JP2884831B2 (ja) * 1991-07-03 1999-04-19 株式会社日立製作所 処理装置
US5917505A (en) * 1995-12-19 1999-06-29 Cirrus Logic, Inc. Method and apparatus for prefetching a next instruction using display list processing in a graphics processor
US5903281A (en) * 1996-03-07 1999-05-11 Powertv, Inc. List controlled video operations
JP3739888B2 (ja) 1997-03-27 2006-01-25 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6019815B2 (ja) * 1980-02-15 1985-05-18 日本電気株式会社 転送制御方式

Also Published As

Publication number Publication date
WO1988007238A1 (en) 1988-09-22
EP0306533A1 (en) 1989-03-15

Similar Documents

Publication Publication Date Title
JPS63291134A (ja) 論理集積回路
JPS60256866A (ja) デ−タ処理システム
JPS63226764A (ja) 高速浮動小数点演算システム
JPH0743648B2 (ja) 情報処理装置
JPS5911921B2 (ja) 数値制御装置
JPH09212360A (ja) データ処理装置
EP0301707A2 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JP2630271B2 (ja) 情報処理装置
JPS60134957A (ja) 並列型演算処理装置
JP2901247B2 (ja) 掃出し制御方式
EP0305527A1 (en) High-speed floating point arithmetic unit
JP3490191B2 (ja) 計算機
JP2814683B2 (ja) 命令処理装置
JP2781779B2 (ja) 分岐制御回路
JP3954159B2 (ja) 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法
JP2924004B2 (ja) 命令コード転送方式
JPH03257665A (ja) 情報処理装置
JPH04181331A (ja) 命令リトライ方式
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPS6028014B2 (ja) マイクロプロセツサ
SU1254487A1 (ru) Устройство дл обнаружени конфликтов в процессоре
JPS6250855B2 (ja)
JPS63219031A (ja) 高速浮動小数点演算器
JPS6014335A (ja) 情報処理装置
JPH1055289A (ja) デバッグ情報生成回路、およびそれを用いた情報処理装置