JP2695156B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP2695156B2 JP2695156B2 JP61311022A JP31102286A JP2695156B2 JP 2695156 B2 JP2695156 B2 JP 2695156B2 JP 61311022 A JP61311022 A JP 61311022A JP 31102286 A JP31102286 A JP 31102286A JP 2695156 B2 JP2695156 B2 JP 2695156B2
- Authority
- JP
- Japan
- Prior art keywords
- coprocessor
- main processor
- instruction
- operand
- 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.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 24
- 238000004891 communication Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
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)
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、情報処理装置に係り、特に、メインプロセ
ッサおよび複数のコプロセッサは相互に信号線に接続さ
れメインプロセッサおよび複数のコプロセッサおよび主
記憶が共通のアドレスバスおよびデータバスに接続さ
れ、メインプロセッサは各コプロセッサにコマンドおよ
びオペランドを転送し命令実行を行わせる情報処理装置
に関するものである。 従来の技術 従来の情報処理装置としては、例えば元岡 達「計算
機システム技術」、(昭48.4.20)、オーム社、P29〜30
に示されているプロセッサをメインプロセッサとした情
報処理装置がある。 第6図は、この来の情報処理装置におけるメインプロ
セッサの構成図である。第6図において、61は、命令コ
ードを解読し、命令実行に関する制御情報を発行する命
令解読装置である。62は、レジスタ群である。63は、デ
ータおよび命令実行に関する制御情報に従って演算を実
行する演算装置である。64は、オペランドの書き込み時
の演算装置63からの要求を調停しチップバスの制御を行
なうバス制御装置である。65は、レジスタ群62、演算装
置63、バス制御装置64などを接続する内部バスである。
66は、メモリ、I/Oなどを接続するチップバスである。 第3図は、情報処理装置の構成図である。第3図にお
いて、31は、命令およびデータを格納している主記憶で
ある。32は、主記憶31上の命令を読み込み、デコード
し、通常は自分自身で実行を行ない、コプロセッサ用命
令であれば、対象のコプロセッサで実行を行なうために
コプロセッサ間の通信を管理し、コマンドおよびオペラ
ンドを書き込む、またはオペランドを読み込むメインプ
ロセッサである。33はメインプロセッサ32よりコマンド
およびオペランドを受け取り、コプロセッサ用命令の実
行を行なうコプロセッサである。34は、コプロセッサ33
において、メインプロセッサ32が転送するコマンドおよ
びオペランドが書き込まれる通信用レジスタである。35
は、コプロセッサ33が、メインプロセッサ32からのコマ
ンドおよびオペランドの書き込み終了毎に、1データ転
送サイクルの終了をメインプロセッサ32に知らせる信号
線READYである。36は、コプロセッサ33が、コプロセッ
サ用命令の実行終了をメインプロセッサ32に知らせる信
号線CPRDYである。37は、有効なアドレスがアドレス・
バス上に有ることを示すアドレス・ストローブ信号SAで
ある。38は、アドレスバスである。39は、有効なデータ
がデータ・バス上に有ることを示すデータ・ストローブ
信号DSである。40は、データバスである。 第4図は、第3図のコプロセッサ33における通信用レ
ジスタ34について詳しく説明するための図である。第4
図において、41は、コプロセッサ33がメインプロセッサ
32と通信するために設けられた32ビット×2本の通信制
御用レジスタである。 第7図は、第6図の構成のメインプロセッサを用いた
第3図の情報処理装置における通信手続きを説明する動
作波形図である。 以上のように構成された従来の情報処理装置におい
て、以下、メインプロセッサ32が主記憶31上の32ビット
データをコプロセッサ33上のフローティング・ポイント
・レジスタに格納する命令の実行に伴う通信手続きを第
7図を用いて説明する。 (1)メインプロセッサ32において命令解読装置71は、
バス制御装置74によって主記憶31から読み込んだ命令を
解読する。 (2)解読の結果、その命令がコプロセッサ用命令と判
明すると、メインプロセッサ32はコプロセッサ33に書き
込むコマンドの用意を開始する。 (3)コプロセッサ33は、コプロセッサ用のコマンドお
よびオペランドを読み込める状態となり、CPRDY37をア
クティブにしメインプロセッサ32に命令の実行を促す。
CLOCK NO1の状態である。 (4)メインプロセッサ32において演算装置73は、コプ
ロセッサ33に転送すべきコマンドを生成し、バス制御装
置74に対して、書き込み要求を出す。バス制御装置74
は、コプロセッサ33のコマンド通信用レジスタ34に以下
のサブシーケンスを用いて書き込む。CLOCK NO2〜3の
状態である。 [i]メインプロセッサ32においてバス制御装置74は、
アドレスバス38にコマンド用通信レジスタ34を指定する
アドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置74は、
データバス40に転送すべきコマンドを出力する。 [iii]メインプロセッサ32においてバス制御装置74
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるコマンド用通信
レジスタ34にデータバス40上のコマンドを書き込む。 [v]コプロセッサ33は、コマンド用通信レジスタ34に
正しいコマンドが書き込まれるとREADY35をアクティブ
にして、メインプロセッサ32におけるバス制御装置74に
コマンド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置74は、
コマンド転送サイクルを終了する。 (5)コプロセッサ33は、書き込まれたコマンドをプリ
デコードし、必要なオペランドを認識する。 (6)メインプロセッサ32において演算装置73は、コプ
ロセッサ33に転送すべきオペランドの主記憶31からの読
み込みを、バス制御装置74に対して要求する。バス制御
装置74は、命令で指定された32ビットデータを主記憶31
から読み込み、レジスタ群72に書き込み、オペランドと
して保存しておく。CLOCK NO4〜5の状態である。 (7)メインプロセッサ32においてバス制御装置74は、
コプロセッサ33にすでに保存されている転送すべきオペ
ランドを、コプロセッサ33のオペランド用通信レジスタ
34に以下のサブシーケンスを用いて書き込む。CLOCK NO
6〜7の状態である。 [i]メインプロセッサ32においてバス制御装置74は、
アドレスバス38にオペランド用通信レジスタ34を指定す
るアドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置74は、
データバス40に転送すべきオペランドを出力する。 [iii]メインプロセッサ32においてバス制御装置74
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるオペランド用通
信レジスタ34にデータバス40上のオペランドを書き込
む。 [v]コプロセッサ33は、オペランド用通信レジスタ34
に正しいオペランドが書き込まれるとREADY35をアクテ
ィブにして、メインプロセッサ32におけるバス制御装置
74にオペランド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置74は、
オペランド転送サイクルを終了する。 [vii]コプロセッサ33は、コプロセッサ用命令の実行
のための必要な全てのコマンドおよびオペランドが揃っ
たかどうかをプリデコードの結果と比較する。 [viii]メインプロセッサ32においてバス制御装置74
は、全データ転送サイクルを終了する。 (8)メインプロセッサ32において命令解読装置71は、
次の命令の実行に進む。 (9)コプロセッサ33は、オペランドが揃ったことが確
認されると、コマンド用通信レジスタ41に書き込まれた
コマンドをデコードし、オペランド用通信用レジスタ34
に書き込まれたデータをコプロセッサ33上のフローティ
ング・ポイント・レジスタへ格納する。CLOCL8〜10の状
態である。(オペランドの格納に3クロックかかると仮
定する。) (10)コプロセッサ33は、コプロセッサ用命令が終了
し、次の命令のコマンドおよびオペランドの書き込みが
可能となると、CPRDY36をアクティブにしてメインプロ
セッサ32に次命令実行可能を知らせる。CLOCK11の状態
である。 (11)次命令もコプロセッサ命令とすると、連続してコ
マンドが転送される。 発明が解決しようとする問題点 しかしながら上記のような構成では、オペランドを主
記憶31から読み込むための2クロックのオーバヘッドが
メインプロセッサ32とコプロセッサ33間の通信時間に含
まれ、メインプロセッサ32から見たコプロセッサ33の命
令実行速度は非常に遅いと言う問題点を有していた。第
7図において、1命令実行時間に10クロック必要であ
る。本発明はかかる点に鑑み、高速なプロセッサ間通信
を行なえ、メインプロセッサから見たコプロセッサの実
行が速い情報処理装置を提供することを目的とする。 問題点を解決するための手段 本発明は、メインプロセッサおよび複数のコプロセッ
サは相互に信号線に接続され前記メインプロセッサおよ
び複数の前記のコプロセッサおよび主記憶が共通のアド
レスバスおよびデータバスに接続され、前記メインプロ
セッサが前記主記憶上のコプロセッサ用命令を前記コプ
ロセッサを用いて実行を行なわせる際に、前記メインプ
ロセッサは前記コプロセッサが前記コプロセッサ用命令
の実行に必要とするコマンドおよびオペランドを前記コ
プロセッサに書き込み、前記コプロセッサが前記メイン
プロセッサへ演算結果を返す場合には前記メインプロセ
ッサが前記コプロセッサ実行後の演算結果を読み込むイ
ンタフェースを持ち、前記コプロセッサが前記メインプ
ロセッサより前記コマンドおよび前記オペランドを含む
転送されたデータの受信終了を前記信号線を用いて前記
メインプロセッサに知らせ前記メインプロセッサはデー
タ転送サイクルを終了するプロトコル、前記コプロセッ
サが前記コプロセッサ用命令実行途中の状態を前記信号
線を用いて前記メインプロセッサに知らせ前記メインプ
ロセッサは前記コプロセッサへ前記状態に対して処理を
行なうプロトコルを実現するシステムにおいて、前記メ
インプロセッサが前記主記憶より命令を読み出し、読み
出した前記命令を解読し、解読した前記命令がコプロセ
ッサ用命令であることが判明した場合には、前記コプロ
セッサ用命令の実行に必要とする前記オペランドデータ
を前記主記憶上から読みだし、前記コプロセッサへ前記
コマンドと前記オペランドを連続して書き込む回路を有
する前記メインプロセッサを備えたことを特徴とする情
報処理装置である。 作用 本発明は前記した構成により、メインプロセッサのオ
ペランド先読み回路が、コプロセッサへのコマンド転送
以前に主記憶よりオペランドを読み込むことにより、主
記憶への読み込み時間とコプロセッサの演算時間がオー
バラップ可能となり、高速なプロセッサ間通信、メイン
プロセッサから見たコプロセッサの実行の高速化および
バスのバンド幅の拡張が実現出来る。 実施例 第1図は、本発明の第1の実施例における情報処理装
置が有するメインプロセッサの構成図を示すものであ
る。第1図において、1は命令解読装置、2はオペラン
ドのアドレス計算を行なうオペランド先読み装置A、3
はオペランドの先読みを行なうオペランド先読み装置
B、4は演算装置、5は命令コードの先読みを行なう命
令先読み装置、6は主記憶・I/Oなどを接続するチップ
バス、7はオペランド先読み装置B3、命令先読み装置5
およびオペランドの書き込み時の演算装置4からの要求
を調停しチップバス6の制御を行なうバス制御装置であ
る。 第2図は、第1図の構成のメインプロセッサを用いた
第3図の情報処理装置における通信手続きを説明する動
作波形図である。 以上のように構成された本実施例の情報処理装置にお
いて、以下、メインプロセッサ32が主記憶31上の32ビッ
トデータをコプロセッサ33上のフローティング・ポイン
ト・レジスタに格納する命令の実行に伴う通信手続きを
第2図を用いて説明する。 (1)メインプロセッサ32において命令先読み装置5
は、バス制御装置7によって主記憶31から読み込んだ命
令を解読装置1に転送する。 (2)メインプロセッサ32において命令解読装置1は命
令を解読し、その結果、その命令がコプロセッサ用命令
と判明すると、命令解読装置1はコプロセッサ33に書き
込むコマンドを生成する。 (3)メインプロセッサ32においてオペランド先読み装
置A2は、オペランドのアドレス計算を行ない、オペラン
ド先読み装置B3に送出する。 (4)メインプロセッサ32においてオペランド先読み装
置B2は、バス制御装置7へオペランドの主記憶31からの
読み込み要求を出し、オペランドの先読みを行なう。CL
OCK NO1〜2の状態である。 (5)コプロセッサ33は、コプロセッサ用命令のコマン
ドおよびオペランドを読み込める状態となり、CPRDY37
をアクティブにしメインプロセッサ32に命令の実行を促
す。CLOCK NO4の状態である。 (6)メインプロセッサ32において演算装置4は、命令
解読装置1で生成したコマンドおよびオペランド先読み
装置B3より受け取ったオペランドをコプロセッサ33に転
送するようバス制御装置7に対して、書き込み要求を出
す。 (7)バス制御装置7は、コマンドをコプロセッサ33の
コマンド通信用レジスタ34に以下のサブシーケンスを用
いて書き込む。CLOCK NO5〜6の状態である。 [i]メインプロセッサ32においてバス制御装置7は、
アドレスバス38にコマンド用通信レジスタ34を指定する
アドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置7は、
データバス40に転送すべきコマンドを出力する。 [iii]メインプロセッサ32においてバス制御装置7
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるコマンド用通信
レジスタ34にデータバス40上のコマンドを書き込む。 [v]コプロセッサ33は、コマンド用通信レジスタ34に
正しいコマンドが書き込まれるとREADY35をアクティブ
にして、メインプロセッサ32におけるバス制御装置7に
コマンド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置7は、
コマンド転送サイクルを終了する。 (8)コプロセッサ33は、書き込まれたコマンドをプリ
デコードし、必要なオペランドを認識する。 (9)メインプロセッサ32において演算装置7は、演算
装置4にすでに先読みされている転送すべきオペランド
を、コプロセッサ33のオペランド用通信レジスタ34に以
下のサブシーケンスを用いて書き込む。CLOCK NO7〜8
の状態である。 [i]メインプロセッサ32においてバス制御装置7は、
アドレスバス38にオペランド用通信レジスタ34を指定す
るアドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置7は、
データバス40に転送すべきオペランドを出力する。 [iii]メインプロセッサ32においてバス制御装置7
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるオペランド用通
信レジスタ34にデータバス40上のオペランドを書き込
む。 [v]コプロセッサ33は、オペランド用通信レジスタ34
に正しいオペランドが書き込まれるとREADY35をアクテ
ィブにして、メインプロセッサ32におけるバス制御装置
7にオペランド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置7は、
オペランド転送サイクルを終了する。 [vii]コプロセッサ33は、コプロセッサ用命令の実行
のための必要な全てのコマンドおよびオペランドが揃っ
たかどうかをプリデコードの結果と比較する。 [viii]メインプロセッサ32においてバス制御装置7
は、全データ転送サイクルを終了する。 (8)メインプロセッサ32において命令解読装置71は、
次の命令の実行に進む。 (9)コプロセッサ33は、オペランドが揃ったことが確
認されると、コマンド用通信レジスタ41に書き込まれた
コマンドをデコードし、オペランド用通信用レジスタ34
に書き込まれたデータをコプロセッサ33上のフローティ
ング・ポイント・レジスタへ格納する。CLOCL9〜10の状
態である。(オペランドの格納に3クロックかかると仮
定する。) (10)コプロセッサ33は、コプロセッサ用命令が終了
し、次の命令のコマンドおよびオペランドの書き込みが
可能となると、CPRDY36をアクティブにしてメインプロ
セッサ32に次命令実行可能を知らせる。CLOCK12の状態
である。 (11)次命令もコプロセッサ命令とすると、連続してコ
マンドが転送される。CLOCK NO13〜の状態となる。 以上のように本実施例によれば、情報処理装置におけ
るメインプロセッサにオペランド先読み装置を設けるこ
とにより、主記憶への読み込み時間とコプロセッサの演
算時間がオーバラップ可能となり、高速なプロセッサ間
通信およびメインプロセッサから見たコプロセッサの実
行の高速化が実現出来る。第2図において、1命令実行
時間は8クロックで完了する。従来例における第7図と
比較して、2クロック高速化される。 第5図は、本発明の第2の実施例における情報処理装
置が有するメインプロセッサの構成図を示すものであ
る。第5図において、51は命令解読装置、52はオペラン
ドのアドレス計算を行なうオペランド先読み装置A、53
はオペランドの先読みを行なうオペランド先読み装置
B、54は演算装置、56は命令コードの先読みを行なう命
令先読み装置、57は主記憶・I/Oなどを接続するチップ
バス、58はオペランド先読み装置B53、命令先読み装置5
6およびオペランドの書き込み時の演算装置54からの要
求を調停しチップバス57の制御を行なうバス制御装置
で、以上は第1図の構成と同様なものである。第1図の
構成と異なるのは、命令解読装置51より受け取った演算
装置54の制御情報のキューイングを行う制御情報バッフ
ァ55をオペランド先読み装置A52およびオペランド先読
み装置B53と平行に、かつ命令解読装置51と演算装置54
の間に設けた点である。 以上のように構成された第2の実施例の情報処理装置
において、メインプロセッサ32が主記憶31上の32ビット
データをコプロセッサ33上のフローティング・ポイント
・レジスタに格納する命令の実行に伴う通信手続きを第
2図を用いて説明すると、第1の実施例と同様なものに
なる。 第2の実施例によれば、第1の実施例による効果は存
在し、制御情報バッファ55を設けたことにより、オペラ
ンドフェッチのないコプロセッサ用命令についても、コ
マンドがオペランド先読み装置A52およびオペランド先
読み装置B53のパスを通らずに制御情報バッファ55のバ
スを通過でき、オーバヘッドのない命令実行が可能とな
る。また、演算装置54で実行されている命令より2個以
上遅れて実行されるコプロセッサ用命令についても命令
が制御情報バッファで待つ間に、オペランド先読み装置
B53は、先行的に実行可能となり、バスの有効利用およ
びバンド幅の拡張を望める。 なお、第1および第2の実施例においては、コプロセ
ッサ命令のオーバラップ実行を使用しないで説明した
が、オーバラップ実行を使用しても効果は変わらない。 発明の効果 以上説明したように、本発明によれば、高速なプロセ
ッサ間通信、メインプロセッサから見たコプロセッサの
高速実行、バスのバンド幅の拡張が可能となり、その実
用的効果は大きい。
ッサおよび複数のコプロセッサは相互に信号線に接続さ
れメインプロセッサおよび複数のコプロセッサおよび主
記憶が共通のアドレスバスおよびデータバスに接続さ
れ、メインプロセッサは各コプロセッサにコマンドおよ
びオペランドを転送し命令実行を行わせる情報処理装置
に関するものである。 従来の技術 従来の情報処理装置としては、例えば元岡 達「計算
機システム技術」、(昭48.4.20)、オーム社、P29〜30
に示されているプロセッサをメインプロセッサとした情
報処理装置がある。 第6図は、この来の情報処理装置におけるメインプロ
セッサの構成図である。第6図において、61は、命令コ
ードを解読し、命令実行に関する制御情報を発行する命
令解読装置である。62は、レジスタ群である。63は、デ
ータおよび命令実行に関する制御情報に従って演算を実
行する演算装置である。64は、オペランドの書き込み時
の演算装置63からの要求を調停しチップバスの制御を行
なうバス制御装置である。65は、レジスタ群62、演算装
置63、バス制御装置64などを接続する内部バスである。
66は、メモリ、I/Oなどを接続するチップバスである。 第3図は、情報処理装置の構成図である。第3図にお
いて、31は、命令およびデータを格納している主記憶で
ある。32は、主記憶31上の命令を読み込み、デコード
し、通常は自分自身で実行を行ない、コプロセッサ用命
令であれば、対象のコプロセッサで実行を行なうために
コプロセッサ間の通信を管理し、コマンドおよびオペラ
ンドを書き込む、またはオペランドを読み込むメインプ
ロセッサである。33はメインプロセッサ32よりコマンド
およびオペランドを受け取り、コプロセッサ用命令の実
行を行なうコプロセッサである。34は、コプロセッサ33
において、メインプロセッサ32が転送するコマンドおよ
びオペランドが書き込まれる通信用レジスタである。35
は、コプロセッサ33が、メインプロセッサ32からのコマ
ンドおよびオペランドの書き込み終了毎に、1データ転
送サイクルの終了をメインプロセッサ32に知らせる信号
線READYである。36は、コプロセッサ33が、コプロセッ
サ用命令の実行終了をメインプロセッサ32に知らせる信
号線CPRDYである。37は、有効なアドレスがアドレス・
バス上に有ることを示すアドレス・ストローブ信号SAで
ある。38は、アドレスバスである。39は、有効なデータ
がデータ・バス上に有ることを示すデータ・ストローブ
信号DSである。40は、データバスである。 第4図は、第3図のコプロセッサ33における通信用レ
ジスタ34について詳しく説明するための図である。第4
図において、41は、コプロセッサ33がメインプロセッサ
32と通信するために設けられた32ビット×2本の通信制
御用レジスタである。 第7図は、第6図の構成のメインプロセッサを用いた
第3図の情報処理装置における通信手続きを説明する動
作波形図である。 以上のように構成された従来の情報処理装置におい
て、以下、メインプロセッサ32が主記憶31上の32ビット
データをコプロセッサ33上のフローティング・ポイント
・レジスタに格納する命令の実行に伴う通信手続きを第
7図を用いて説明する。 (1)メインプロセッサ32において命令解読装置71は、
バス制御装置74によって主記憶31から読み込んだ命令を
解読する。 (2)解読の結果、その命令がコプロセッサ用命令と判
明すると、メインプロセッサ32はコプロセッサ33に書き
込むコマンドの用意を開始する。 (3)コプロセッサ33は、コプロセッサ用のコマンドお
よびオペランドを読み込める状態となり、CPRDY37をア
クティブにしメインプロセッサ32に命令の実行を促す。
CLOCK NO1の状態である。 (4)メインプロセッサ32において演算装置73は、コプ
ロセッサ33に転送すべきコマンドを生成し、バス制御装
置74に対して、書き込み要求を出す。バス制御装置74
は、コプロセッサ33のコマンド通信用レジスタ34に以下
のサブシーケンスを用いて書き込む。CLOCK NO2〜3の
状態である。 [i]メインプロセッサ32においてバス制御装置74は、
アドレスバス38にコマンド用通信レジスタ34を指定する
アドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置74は、
データバス40に転送すべきコマンドを出力する。 [iii]メインプロセッサ32においてバス制御装置74
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるコマンド用通信
レジスタ34にデータバス40上のコマンドを書き込む。 [v]コプロセッサ33は、コマンド用通信レジスタ34に
正しいコマンドが書き込まれるとREADY35をアクティブ
にして、メインプロセッサ32におけるバス制御装置74に
コマンド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置74は、
コマンド転送サイクルを終了する。 (5)コプロセッサ33は、書き込まれたコマンドをプリ
デコードし、必要なオペランドを認識する。 (6)メインプロセッサ32において演算装置73は、コプ
ロセッサ33に転送すべきオペランドの主記憶31からの読
み込みを、バス制御装置74に対して要求する。バス制御
装置74は、命令で指定された32ビットデータを主記憶31
から読み込み、レジスタ群72に書き込み、オペランドと
して保存しておく。CLOCK NO4〜5の状態である。 (7)メインプロセッサ32においてバス制御装置74は、
コプロセッサ33にすでに保存されている転送すべきオペ
ランドを、コプロセッサ33のオペランド用通信レジスタ
34に以下のサブシーケンスを用いて書き込む。CLOCK NO
6〜7の状態である。 [i]メインプロセッサ32においてバス制御装置74は、
アドレスバス38にオペランド用通信レジスタ34を指定す
るアドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置74は、
データバス40に転送すべきオペランドを出力する。 [iii]メインプロセッサ32においてバス制御装置74
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるオペランド用通
信レジスタ34にデータバス40上のオペランドを書き込
む。 [v]コプロセッサ33は、オペランド用通信レジスタ34
に正しいオペランドが書き込まれるとREADY35をアクテ
ィブにして、メインプロセッサ32におけるバス制御装置
74にオペランド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置74は、
オペランド転送サイクルを終了する。 [vii]コプロセッサ33は、コプロセッサ用命令の実行
のための必要な全てのコマンドおよびオペランドが揃っ
たかどうかをプリデコードの結果と比較する。 [viii]メインプロセッサ32においてバス制御装置74
は、全データ転送サイクルを終了する。 (8)メインプロセッサ32において命令解読装置71は、
次の命令の実行に進む。 (9)コプロセッサ33は、オペランドが揃ったことが確
認されると、コマンド用通信レジスタ41に書き込まれた
コマンドをデコードし、オペランド用通信用レジスタ34
に書き込まれたデータをコプロセッサ33上のフローティ
ング・ポイント・レジスタへ格納する。CLOCL8〜10の状
態である。(オペランドの格納に3クロックかかると仮
定する。) (10)コプロセッサ33は、コプロセッサ用命令が終了
し、次の命令のコマンドおよびオペランドの書き込みが
可能となると、CPRDY36をアクティブにしてメインプロ
セッサ32に次命令実行可能を知らせる。CLOCK11の状態
である。 (11)次命令もコプロセッサ命令とすると、連続してコ
マンドが転送される。 発明が解決しようとする問題点 しかしながら上記のような構成では、オペランドを主
記憶31から読み込むための2クロックのオーバヘッドが
メインプロセッサ32とコプロセッサ33間の通信時間に含
まれ、メインプロセッサ32から見たコプロセッサ33の命
令実行速度は非常に遅いと言う問題点を有していた。第
7図において、1命令実行時間に10クロック必要であ
る。本発明はかかる点に鑑み、高速なプロセッサ間通信
を行なえ、メインプロセッサから見たコプロセッサの実
行が速い情報処理装置を提供することを目的とする。 問題点を解決するための手段 本発明は、メインプロセッサおよび複数のコプロセッ
サは相互に信号線に接続され前記メインプロセッサおよ
び複数の前記のコプロセッサおよび主記憶が共通のアド
レスバスおよびデータバスに接続され、前記メインプロ
セッサが前記主記憶上のコプロセッサ用命令を前記コプ
ロセッサを用いて実行を行なわせる際に、前記メインプ
ロセッサは前記コプロセッサが前記コプロセッサ用命令
の実行に必要とするコマンドおよびオペランドを前記コ
プロセッサに書き込み、前記コプロセッサが前記メイン
プロセッサへ演算結果を返す場合には前記メインプロセ
ッサが前記コプロセッサ実行後の演算結果を読み込むイ
ンタフェースを持ち、前記コプロセッサが前記メインプ
ロセッサより前記コマンドおよび前記オペランドを含む
転送されたデータの受信終了を前記信号線を用いて前記
メインプロセッサに知らせ前記メインプロセッサはデー
タ転送サイクルを終了するプロトコル、前記コプロセッ
サが前記コプロセッサ用命令実行途中の状態を前記信号
線を用いて前記メインプロセッサに知らせ前記メインプ
ロセッサは前記コプロセッサへ前記状態に対して処理を
行なうプロトコルを実現するシステムにおいて、前記メ
インプロセッサが前記主記憶より命令を読み出し、読み
出した前記命令を解読し、解読した前記命令がコプロセ
ッサ用命令であることが判明した場合には、前記コプロ
セッサ用命令の実行に必要とする前記オペランドデータ
を前記主記憶上から読みだし、前記コプロセッサへ前記
コマンドと前記オペランドを連続して書き込む回路を有
する前記メインプロセッサを備えたことを特徴とする情
報処理装置である。 作用 本発明は前記した構成により、メインプロセッサのオ
ペランド先読み回路が、コプロセッサへのコマンド転送
以前に主記憶よりオペランドを読み込むことにより、主
記憶への読み込み時間とコプロセッサの演算時間がオー
バラップ可能となり、高速なプロセッサ間通信、メイン
プロセッサから見たコプロセッサの実行の高速化および
バスのバンド幅の拡張が実現出来る。 実施例 第1図は、本発明の第1の実施例における情報処理装
置が有するメインプロセッサの構成図を示すものであ
る。第1図において、1は命令解読装置、2はオペラン
ドのアドレス計算を行なうオペランド先読み装置A、3
はオペランドの先読みを行なうオペランド先読み装置
B、4は演算装置、5は命令コードの先読みを行なう命
令先読み装置、6は主記憶・I/Oなどを接続するチップ
バス、7はオペランド先読み装置B3、命令先読み装置5
およびオペランドの書き込み時の演算装置4からの要求
を調停しチップバス6の制御を行なうバス制御装置であ
る。 第2図は、第1図の構成のメインプロセッサを用いた
第3図の情報処理装置における通信手続きを説明する動
作波形図である。 以上のように構成された本実施例の情報処理装置にお
いて、以下、メインプロセッサ32が主記憶31上の32ビッ
トデータをコプロセッサ33上のフローティング・ポイン
ト・レジスタに格納する命令の実行に伴う通信手続きを
第2図を用いて説明する。 (1)メインプロセッサ32において命令先読み装置5
は、バス制御装置7によって主記憶31から読み込んだ命
令を解読装置1に転送する。 (2)メインプロセッサ32において命令解読装置1は命
令を解読し、その結果、その命令がコプロセッサ用命令
と判明すると、命令解読装置1はコプロセッサ33に書き
込むコマンドを生成する。 (3)メインプロセッサ32においてオペランド先読み装
置A2は、オペランドのアドレス計算を行ない、オペラン
ド先読み装置B3に送出する。 (4)メインプロセッサ32においてオペランド先読み装
置B2は、バス制御装置7へオペランドの主記憶31からの
読み込み要求を出し、オペランドの先読みを行なう。CL
OCK NO1〜2の状態である。 (5)コプロセッサ33は、コプロセッサ用命令のコマン
ドおよびオペランドを読み込める状態となり、CPRDY37
をアクティブにしメインプロセッサ32に命令の実行を促
す。CLOCK NO4の状態である。 (6)メインプロセッサ32において演算装置4は、命令
解読装置1で生成したコマンドおよびオペランド先読み
装置B3より受け取ったオペランドをコプロセッサ33に転
送するようバス制御装置7に対して、書き込み要求を出
す。 (7)バス制御装置7は、コマンドをコプロセッサ33の
コマンド通信用レジスタ34に以下のサブシーケンスを用
いて書き込む。CLOCK NO5〜6の状態である。 [i]メインプロセッサ32においてバス制御装置7は、
アドレスバス38にコマンド用通信レジスタ34を指定する
アドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置7は、
データバス40に転送すべきコマンドを出力する。 [iii]メインプロセッサ32においてバス制御装置7
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるコマンド用通信
レジスタ34にデータバス40上のコマンドを書き込む。 [v]コプロセッサ33は、コマンド用通信レジスタ34に
正しいコマンドが書き込まれるとREADY35をアクティブ
にして、メインプロセッサ32におけるバス制御装置7に
コマンド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置7は、
コマンド転送サイクルを終了する。 (8)コプロセッサ33は、書き込まれたコマンドをプリ
デコードし、必要なオペランドを認識する。 (9)メインプロセッサ32において演算装置7は、演算
装置4にすでに先読みされている転送すべきオペランド
を、コプロセッサ33のオペランド用通信レジスタ34に以
下のサブシーケンスを用いて書き込む。CLOCK NO7〜8
の状態である。 [i]メインプロセッサ32においてバス制御装置7は、
アドレスバス38にオペランド用通信レジスタ34を指定す
るアドレスを出力する。 [ii]メインプロセッサ32においてバス制御装置7は、
データバス40に転送すべきオペランドを出力する。 [iii]メインプロセッサ32においてバス制御装置7
は、AS37、DS39をアクティブにしてアドレスおよびデー
タの有効性を知らせる。 [iv]コプロセッサ33は、AS37、DS39がアクティブに成
った時点でアドレスバス38で指定されるオペランド用通
信レジスタ34にデータバス40上のオペランドを書き込
む。 [v]コプロセッサ33は、オペランド用通信レジスタ34
に正しいオペランドが書き込まれるとREADY35をアクテ
ィブにして、メインプロセッサ32におけるバス制御装置
7にオペランド転送サイクルの終了を知らせる。 [vi]メインプロセッサ32においてバス制御装置7は、
オペランド転送サイクルを終了する。 [vii]コプロセッサ33は、コプロセッサ用命令の実行
のための必要な全てのコマンドおよびオペランドが揃っ
たかどうかをプリデコードの結果と比較する。 [viii]メインプロセッサ32においてバス制御装置7
は、全データ転送サイクルを終了する。 (8)メインプロセッサ32において命令解読装置71は、
次の命令の実行に進む。 (9)コプロセッサ33は、オペランドが揃ったことが確
認されると、コマンド用通信レジスタ41に書き込まれた
コマンドをデコードし、オペランド用通信用レジスタ34
に書き込まれたデータをコプロセッサ33上のフローティ
ング・ポイント・レジスタへ格納する。CLOCL9〜10の状
態である。(オペランドの格納に3クロックかかると仮
定する。) (10)コプロセッサ33は、コプロセッサ用命令が終了
し、次の命令のコマンドおよびオペランドの書き込みが
可能となると、CPRDY36をアクティブにしてメインプロ
セッサ32に次命令実行可能を知らせる。CLOCK12の状態
である。 (11)次命令もコプロセッサ命令とすると、連続してコ
マンドが転送される。CLOCK NO13〜の状態となる。 以上のように本実施例によれば、情報処理装置におけ
るメインプロセッサにオペランド先読み装置を設けるこ
とにより、主記憶への読み込み時間とコプロセッサの演
算時間がオーバラップ可能となり、高速なプロセッサ間
通信およびメインプロセッサから見たコプロセッサの実
行の高速化が実現出来る。第2図において、1命令実行
時間は8クロックで完了する。従来例における第7図と
比較して、2クロック高速化される。 第5図は、本発明の第2の実施例における情報処理装
置が有するメインプロセッサの構成図を示すものであ
る。第5図において、51は命令解読装置、52はオペラン
ドのアドレス計算を行なうオペランド先読み装置A、53
はオペランドの先読みを行なうオペランド先読み装置
B、54は演算装置、56は命令コードの先読みを行なう命
令先読み装置、57は主記憶・I/Oなどを接続するチップ
バス、58はオペランド先読み装置B53、命令先読み装置5
6およびオペランドの書き込み時の演算装置54からの要
求を調停しチップバス57の制御を行なうバス制御装置
で、以上は第1図の構成と同様なものである。第1図の
構成と異なるのは、命令解読装置51より受け取った演算
装置54の制御情報のキューイングを行う制御情報バッフ
ァ55をオペランド先読み装置A52およびオペランド先読
み装置B53と平行に、かつ命令解読装置51と演算装置54
の間に設けた点である。 以上のように構成された第2の実施例の情報処理装置
において、メインプロセッサ32が主記憶31上の32ビット
データをコプロセッサ33上のフローティング・ポイント
・レジスタに格納する命令の実行に伴う通信手続きを第
2図を用いて説明すると、第1の実施例と同様なものに
なる。 第2の実施例によれば、第1の実施例による効果は存
在し、制御情報バッファ55を設けたことにより、オペラ
ンドフェッチのないコプロセッサ用命令についても、コ
マンドがオペランド先読み装置A52およびオペランド先
読み装置B53のパスを通らずに制御情報バッファ55のバ
スを通過でき、オーバヘッドのない命令実行が可能とな
る。また、演算装置54で実行されている命令より2個以
上遅れて実行されるコプロセッサ用命令についても命令
が制御情報バッファで待つ間に、オペランド先読み装置
B53は、先行的に実行可能となり、バスの有効利用およ
びバンド幅の拡張を望める。 なお、第1および第2の実施例においては、コプロセ
ッサ命令のオーバラップ実行を使用しないで説明した
が、オーバラップ実行を使用しても効果は変わらない。 発明の効果 以上説明したように、本発明によれば、高速なプロセ
ッサ間通信、メインプロセッサから見たコプロセッサの
高速実行、バスのバンド幅の拡張が可能となり、その実
用的効果は大きい。
【図面の簡単な説明】
第1図は、本発明の第1の実施例における情報処理装置
が有するメインプロセッサの構成図、第2図は、第1図
の構成のメインプロセッサを用いた第3図の情報処理装
置における通信手続きを説明する動作波形図、第3図
は、情報処理装置の構成図、第4図は第3図に示めした
通信用レジスタの構成図、第5図は、本発明の第2の実
施例における情報処理装置が有するメインプロセッサの
構成図、第6図は、従来の情報処理装置におけるメイン
プロセッサの構成図、第7図は、第6図の構成のメイン
プロセッサを用いた第3図の情報処理装置における通信
手続きを説明する動作波形図である。 1……命令解読装置、2……オペランド先読み装置A、
3……オペランド先読み装置B、4……演算装置、5…
…命令先読み装置、6……チップバス、7……バス制御
装置、31……主記憶、32……メインプロセッサ、33……
コプロセッサ、34……通信用レジスタ、35……信号線RE
ADY、36……信号線CPRDY、37……アドレスストローブA
S、38……アドレスバス、39……データストローブDS、4
0……データバス、41……通信用レジスタ、51……命令
解読装置、52……オペランド先読み装置A、53……オペ
ランド先読み装置B、54……演算装置、55……制御情報
バッファ、56……命令先読み装置、57……チップバス、
58……バス制御装置、71……命令解読装置、72……レジ
スタ群、73……演算装置、74……バス制御装置、75……
内部バス、76……チップバス。
が有するメインプロセッサの構成図、第2図は、第1図
の構成のメインプロセッサを用いた第3図の情報処理装
置における通信手続きを説明する動作波形図、第3図
は、情報処理装置の構成図、第4図は第3図に示めした
通信用レジスタの構成図、第5図は、本発明の第2の実
施例における情報処理装置が有するメインプロセッサの
構成図、第6図は、従来の情報処理装置におけるメイン
プロセッサの構成図、第7図は、第6図の構成のメイン
プロセッサを用いた第3図の情報処理装置における通信
手続きを説明する動作波形図である。 1……命令解読装置、2……オペランド先読み装置A、
3……オペランド先読み装置B、4……演算装置、5…
…命令先読み装置、6……チップバス、7……バス制御
装置、31……主記憶、32……メインプロセッサ、33……
コプロセッサ、34……通信用レジスタ、35……信号線RE
ADY、36……信号線CPRDY、37……アドレスストローブA
S、38……アドレスバス、39……データストローブDS、4
0……データバス、41……通信用レジスタ、51……命令
解読装置、52……オペランド先読み装置A、53……オペ
ランド先読み装置B、54……演算装置、55……制御情報
バッファ、56……命令先読み装置、57……チップバス、
58……バス制御装置、71……命令解読装置、72……レジ
スタ群、73……演算装置、74……バス制御装置、75……
内部バス、76……チップバス。
Claims (1)
- (57)【特許請求の範囲】 1.メインプロセッサおよび複数のコプロセッサは相互
に信号線に接続され前記メインプロセッサおよび複数の
前記のコプロセッサおよび主記憶が共通のアドレスバス
およびデータバスに接続され、前記メインプロセッサが
前記主記憶上のコプロセッサ用命令を前記コプロセッサ
を用いて実行を行なわせる際に、前記メインプロセッサ
は前記コプロセッサが前記コプロセッサ用命令の実行に
必要とするコマンドおよびオペランドを前記コプロセッ
サに書き込み、前記コプロセッサが前記メインプロセッ
サへ演算結果を返す場合には前記メインプロセッサが前
記コプロセッサ実行後の演算結果を読み込むインタフェ
ースを持ち、前記コプロセッサが前記メインプロセッサ
より前記コマンドおよび前記オペランドを含む転送され
たデータの受信終了を前記信号線を用いて前記メインプ
ロセッサに知らせ前記メインプロセッサはデータ転送サ
イクルを終了するプロトコル、前記コプロセッサが前記
コプロセッサ用命令実行途中の状態を前記信号線を用い
て前記メインプロセッサに知らせ前記メインプロセッサ
は前記コプロセッサへ前記状態に対して処理を行なうプ
ロトコルを実現するシステムにおいて、前記メインプロ
セッサが前記主記憶より命令を読み出し、読み出した前
記命令を解読し、解読した前記命令がコプロセッサ用命
令であることが判明した場合には、前記コプロセッサ用
命令の実行に必要とする前記オペランドデータを前記主
記憶上から読みだし、前記コプロセッサへ前記コマンド
と前記オペランドを連続して書き込む回路を有する前記
メインプロセッサを備えたことを特徴とする情報処理装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61311022A JP2695156B2 (ja) | 1986-12-29 | 1986-12-29 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61311022A JP2695156B2 (ja) | 1986-12-29 | 1986-12-29 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63167951A JPS63167951A (ja) | 1988-07-12 |
JP2695156B2 true JP2695156B2 (ja) | 1997-12-24 |
Family
ID=18012174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61311022A Expired - Fee Related JP2695156B2 (ja) | 1986-12-29 | 1986-12-29 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2695156B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2762441B2 (ja) * | 1987-10-30 | 1998-06-04 | 日本電気株式会社 | コプロセッサ |
JPH02122364A (ja) * | 1988-11-01 | 1990-05-10 | Ibiden Co Ltd | マルチプロセッサシステム |
JP4765026B2 (ja) * | 2005-06-21 | 2011-09-07 | 株式会社エルゴジャパン | 背凭れカバー |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61237135A (ja) * | 1985-04-15 | 1986-10-22 | Hitachi Ltd | 命令プリフエツチ方式 |
-
1986
- 1986-12-29 JP JP61311022A patent/JP2695156B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPS63167951A (ja) | 1988-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2695157B2 (ja) | 可変パイプラインプロセッサ | |
WO1994016388A1 (en) | System and method for controlling the input and output of data between a host processor and an i/o device | |
US5263153A (en) | Monitoring control flow in a microprocessor | |
US5029073A (en) | Method for fast establishing a co-processor to memory linkage by main processor | |
JPH07120338B2 (ja) | 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ | |
JP2695156B2 (ja) | 情報処理装置 | |
JPS63193239A (ja) | 命令順序監視装置と方法 | |
JP2682217B2 (ja) | マイクロプロセッサ | |
JP3088129B2 (ja) | マイクロプロセッサ | |
JPS63163929A (ja) | マイクロプロセツサ | |
JPH0786868B2 (ja) | プロセッサ間通信方法 | |
JP2000347937A (ja) | ディスクアレイ装置 | |
JPH0646382B2 (ja) | プリフェッチキュー制御方式 | |
JP2883335B2 (ja) | 情報処理装置 | |
JP2762441B2 (ja) | コプロセッサ | |
JPH0241770B2 (ja) | ||
JPH0461384B2 (ja) | ||
JP2924004B2 (ja) | 命令コード転送方式 | |
JP2545594B2 (ja) | オペランドデータ先取り方式 | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JPH0795288B2 (ja) | マイクロコンピュータ | |
JPH0435779B2 (ja) | ||
JPS63148329A (ja) | 命令先取り制御方式 | |
JPS6221130B2 (ja) | ||
JPS63157235A (ja) | コンピユータ・システムの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |