JPH01118954A - コプロセッサ - Google Patents
コプロセッサInfo
- Publication number
- JPH01118954A JPH01118954A JP27719887A JP27719887A JPH01118954A JP H01118954 A JPH01118954 A JP H01118954A JP 27719887 A JP27719887 A JP 27719887A JP 27719887 A JP27719887 A JP 27719887A JP H01118954 A JPH01118954 A JP H01118954A
- Authority
- JP
- Japan
- Prior art keywords
- operand
- operand data
- data
- registers
- coprocessor
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000010365 information processing Effects 0.000 description 4
- 239000000725 suspension Substances 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明はCPUと密に結合されるコプロセッサに関し、
特に、オペランドデータの転送方式を改善して実行処理
の効率を向上させたコプロセッサに関する。
特に、オペランドデータの転送方式を改善して実行処理
の効率を向上させたコプロセッサに関する。
[従来の技術]
情報処理装置においてCPUの命令処理能力を向上させ
るために、CPUとは別の処理装置がCPUと密に結合
され、本来CPUが行うべき処理の一部分を肩代わりす
るという構成が採られることがある。この別の処理装置
は、コプロセッサ(Co −processor)と呼
ばれ、CPUが有する命令の処理速度を向上させたり、
また、CPUが処理することができない命令処理(例え
ば、浮動小数点演算等)を実行するものである。
るために、CPUとは別の処理装置がCPUと密に結合
され、本来CPUが行うべき処理の一部分を肩代わりす
るという構成が採られることがある。この別の処理装置
は、コプロセッサ(Co −processor)と呼
ばれ、CPUが有する命令の処理速度を向上させたり、
また、CPUが処理することができない命令処理(例え
ば、浮動小数点演算等)を実行するものである。
コプロセッサはあくまでCPUの拡張のために使用され
るので、コプロセッサの操作がソフトウェアにより制御
されることはない。即ち、演算のためのデータの転送及
び操作のためのコマンドの転送が、入出力(Ilo)装
置のようにソフトウェアによって制御されることはなく
、cpuがコプロセッサを必要とする命令を検知した場
合に。
るので、コプロセッサの操作がソフトウェアにより制御
されることはない。即ち、演算のためのデータの転送及
び操作のためのコマンドの転送が、入出力(Ilo)装
置のようにソフトウェアによって制御されることはなく
、cpuがコプロセッサを必要とする命令を検知した場
合に。
CPUとコプロセッサとの間でのみデータの転送がなさ
れる。
れる。
第5図は浮動小数点演算を行うこの種の従来のコプロセ
ッサを使用した情報処理装置を示すブロック図である。
ッサを使用した情報処理装置を示すブロック図である。
CPUI、メモリ2及びコプロセッサ3は共有データバ
ス4を介して接続されており、データの転送はCPUI
とメモリ2との間及びCPUIとコプロセッサ3との間
においてなされる。バス制御回路5は、CPUIから入
力されるデータ転送に係わる情報5TATUSを解釈し
、メモリ2に対するリード/ライト信号MSTB及びコ
プロセッサ3に対するリード/ライト信号CPSTBを
発生する。
ス4を介して接続されており、データの転送はCPUI
とメモリ2との間及びCPUIとコプロセッサ3との間
においてなされる。バス制御回路5は、CPUIから入
力されるデータ転送に係わる情報5TATUSを解釈し
、メモリ2に対するリード/ライト信号MSTB及びコ
プロセッサ3に対するリード/ライト信号CPSTBを
発生する。
CPUIは浮動小数点演算命令を実行することを検知す
ると、共有データバス4を介してメモリ2の浮動小数点
データをオペランドデータとしてCPUIの内部に読込
む。次に、CPU1はコプロセッサ3に共有データバス
4を介してコマンドを転送し、演算を指定すると共に、
演算開始を指定する。そして、CPUIの内部に読込ま
れているオペランドデータがコプロセッサ3に転送され
、コプロセッサ3によりオペランドデータの演算が開始
される。コプロセッサ3の演算が終了すると、演算結果
はコプロセッサ3からCPtJlに転送され、次いで、
CPUIがメモリ2に書込む。
ると、共有データバス4を介してメモリ2の浮動小数点
データをオペランドデータとしてCPUIの内部に読込
む。次に、CPU1はコプロセッサ3に共有データバス
4を介してコマンドを転送し、演算を指定すると共に、
演算開始を指定する。そして、CPUIの内部に読込ま
れているオペランドデータがコプロセッサ3に転送され
、コプロセッサ3によりオペランドデータの演算が開始
される。コプロセッサ3の演算が終了すると、演算結果
はコプロセッサ3からCPtJlに転送され、次いで、
CPUIがメモリ2に書込む。
なお、CPUIが5TATUS信号を出力すると、バス
制御回路5がこの5TATUS信号を検知してコプロセ
ッサ3へ転送すべきオペランドデータがメモリ2からC
PUIに読込まれることを把握する。そこで、バス制御
回路5からメモリ2に対するり−ド/ライト信号MST
Bと、コプロセッサ3に対するライト/リード信号CP
STBを同時に発生させることにより、CPU、1を経
由することなくメモリ2からオペランドデータを直接コ
プロセッサ3に転送することができる。
制御回路5がこの5TATUS信号を検知してコプロセ
ッサ3へ転送すべきオペランドデータがメモリ2からC
PUIに読込まれることを把握する。そこで、バス制御
回路5からメモリ2に対するり−ド/ライト信号MST
Bと、コプロセッサ3に対するライト/リード信号CP
STBを同時に発生させることにより、CPU、1を経
由することなくメモリ2からオペランドデータを直接コ
プロセッサ3に転送することができる。
第6図は従来のコプロセッサ3の構成を具体的に示すブ
ロック図である。共有データバス4は、命令レジスタ6
及びオペランドバッファ8に接続されている。CPUI
から共有データバス4及び命令レジスタ6を介して命令
デコードユニット7に転送されたコマンドは、命令デコ
ードユニット7において解析され、演算処理を行う命令
実行ユニット9に実行すべき処理が通知される。実行ユ
ニット9は、オペランドバッファ8に格納されたオペラ
ンドデータを使用して指定された演算処理を行う。
ロック図である。共有データバス4は、命令レジスタ6
及びオペランドバッファ8に接続されている。CPUI
から共有データバス4及び命令レジスタ6を介して命令
デコードユニット7に転送されたコマンドは、命令デコ
ードユニット7において解析され、演算処理を行う命令
実行ユニット9に実行すべき処理が通知される。実行ユ
ニット9は、オペランドバッファ8に格納されたオペラ
ンドデータを使用して指定された演算処理を行う。
リード/ライト制御回路10は、外部から指定されるバ
スサイクル情報RD、WR,CDに基き、命令レジスタ
6及びオペランドバッファ8に対するストローブ信号を
発行すると共に、オペランドバッファ8に対する待合わ
せ制御を行う。
スサイクル情報RD、WR,CDに基き、命令レジスタ
6及びオペランドバッファ8に対するストローブ信号を
発行すると共に、オペランドバッファ8に対する待合わ
せ制御を行う。
ここで、RD信号はコプロセッサ3に対するリードタイ
ミングを示し、WR傷信号ライトタイミングを示す、ま
た、CD信号はバスサイクルの種類を示し、CD=0の
場合は命令レジスタ6に対するコマンドの転送を意味し
、CD=1ならばオペランドバッファ8に対するオペラ
ンドデータの転送を意味する。また、DRQ信号は命令
実行ユニット9からオペランドバッファ8に対するデー
タの転送要求を示し、BSY信号はオペランドパ・iノ
ア8に有効なオペランドデータが転送されていないこと
を示す信号である。
ミングを示し、WR傷信号ライトタイミングを示す、ま
た、CD信号はバスサイクルの種類を示し、CD=0の
場合は命令レジスタ6に対するコマンドの転送を意味し
、CD=1ならばオペランドバッファ8に対するオペラ
ンドデータの転送を意味する。また、DRQ信号は命令
実行ユニット9からオペランドバッファ8に対するデー
タの転送要求を示し、BSY信号はオペランドパ・iノ
ア8に有効なオペランドデータが転送されていないこと
を示す信号である。
次に、従来のコプロセッサの演算処理の動作タイミング
について、第7図に示すタイミングチャート図を参照し
て説明する。タイミングTcにおいて命令レジスタ6に
コマンドが転送されると、命令デコードユニット7は命
令を解釈し、タイミングTeにおいて命令実行ユニット
9を起動する。
について、第7図に示すタイミングチャート図を参照し
て説明する。タイミングTcにおいて命令レジスタ6に
コマンドが転送されると、命令デコードユニット7は命
令を解釈し、タイミングTeにおいて命令実行ユニット
9を起動する。
命令実行ユニット9において、ある程度処理が進みタイ
ミングTriに達すると、処理にはオペランドデータを
必要とするので、オペランドバッファ8に対するDRQ
信号を発行する。リード/ライト制御回路10のBSY
信号によりオペランドバッファ8には有効なオペランド
データが格納されていないことが示されているので、処
理はタイミングTolまで保留される。
ミングTriに達すると、処理にはオペランドデータを
必要とするので、オペランドバッファ8に対するDRQ
信号を発行する。リード/ライト制御回路10のBSY
信号によりオペランドバッファ8には有効なオペランド
データが格納されていないことが示されているので、処
理はタイミングTolまで保留される。
タイミングTolにおいてオペランドバッファ8にオペ
ランドデータが転送されると、BSY信号はインアクテ
ィブになり、命令実行ユニット9において保留されてい
た処理が続行される。再開された処理がタイミングTr
2に達すると、再度、次のオペランドデータが必要にな
り、オペランドバッファ8にオペランドデータが転送さ
れるまで、すなわちタイミングTo2まで処理が保留さ
れることになる。なお、第7図において、命令実行ユニ
ット9が実際に処理を行っている期間を斜線により示し
、処理が保留されている期間を空白により示している。
ランドデータが転送されると、BSY信号はインアクテ
ィブになり、命令実行ユニット9において保留されてい
た処理が続行される。再開された処理がタイミングTr
2に達すると、再度、次のオペランドデータが必要にな
り、オペランドバッファ8にオペランドデータが転送さ
れるまで、すなわちタイミングTo2まで処理が保留さ
れることになる。なお、第7図において、命令実行ユニ
ット9が実際に処理を行っている期間を斜線により示し
、処理が保留されている期間を空白により示している。
[発明が解決しようとする問題点]
しかしながら、従来のコプロセッサにおいては、第7図
に示すように、命令実行ユニット9の実行処理はオペラ
ンドバッファ8にオペランドデータが転送されてくるの
を待つ時間(tl+t2)だけ保留されるので、演算結
果を得るまでに余分な時間が生じてしまうという問題点
がある。
に示すように、命令実行ユニット9の実行処理はオペラ
ンドバッファ8にオペランドデータが転送されてくるの
を待つ時間(tl+t2)だけ保留されるので、演算結
果を得るまでに余分な時間が生じてしまうという問題点
がある。
本発明はかかる問題点に鑑みてなされたものであって、
実行処理が保留される時間を解消して処理時間を短縮す
ることができるコプロセッサを提供することを目的とす
る。
実行処理が保留される時間を解消して処理時間を短縮す
ることができるコプロセッサを提供することを目的とす
る。
[問題点を解決するための手段]
本発明に係るコプロセッサは、1つのコマンドにより処
理されるべき全てのオペランドデータを格納するのに必
要な総ワード長を有する複数個のレジスタと、オペラン
ドデータが転送されてくる都度前記レジスタを順次選択
してそのオペランドデータを格納させる制御手段と、コ
マンドの入力により前記複数個のレジスタからオペラン
ドデータの転送を受け前記コマンドに基く命令を処理す
る命令実行ユニットと、を有し、コマンドが命令実行ユ
ニットに入力されるに先立ち、全てのオペランドデータ
を前記複数個のレジスタに格納しておくことを特徴とす
る。
理されるべき全てのオペランドデータを格納するのに必
要な総ワード長を有する複数個のレジスタと、オペラン
ドデータが転送されてくる都度前記レジスタを順次選択
してそのオペランドデータを格納させる制御手段と、コ
マンドの入力により前記複数個のレジスタからオペラン
ドデータの転送を受け前記コマンドに基く命令を処理す
る命令実行ユニットと、を有し、コマンドが命令実行ユ
ニットに入力されるに先立ち、全てのオペランドデータ
を前記複数個のレジスタに格納しておくことを特徴とす
る。
[作用]
制御手段はオペランドデータが転送されてくる都度レジ
スタを順次選択して、そのオペランドデータを格納する
。この複数個のレジスタは1つのコマンドにより処理さ
れるべき全てのオペランドデータを格納するのに必要な
総ワード長を有しており、制御手段により全てのオペラ
ンドデータが格納される。
スタを順次選択して、そのオペランドデータを格納する
。この複数個のレジスタは1つのコマンドにより処理さ
れるべき全てのオペランドデータを格納するのに必要な
総ワード長を有しており、制御手段により全てのオペラ
ンドデータが格納される。
そして、命令実行ユニットはコマンドを入力すると、前
記複数個のレジスタからオペランドデータの転送を受け
てコマンドに基き命令を処理する。
記複数個のレジスタからオペランドデータの転送を受け
てコマンドに基き命令を処理する。
このように、命令実行ユニットが命令を処理する時点で
は、既に全てのオペランドデータが複数個のレジスタに
格納されているので、オペランドレジスタの未転送によ
る処理の保留は発生しない。
は、既に全てのオペランドデータが複数個のレジスタに
格納されているので、オペランドレジスタの未転送によ
る処理の保留は発生しない。
[実施例]
以下、添付の図面を参照して本発明の実施例について説
明する。第1図は本発明の第1の実施例に係るコプロセ
ッサを示すブロック図である。
明する。第1図は本発明の第1の実施例に係るコプロセ
ッサを示すブロック図である。
80ビツト長の浮動小数点データを格納する3個の32
ビツトオペランドレジスタ11,12゜13及び命令レ
ジスタ6が32ビツトの共有データバス4に接続されて
いる。命令レジスタ6は共有データバス4を介して転送
されたコマンドを一旦保持し、これを命令デコードユニ
ット7に出力する。命令デコードユニット7は入力され
たコマンドを解析し、処理の内容を命令実行ユニット1
4へ通知する。命令実行ユニット14においては、オペ
ランドレジスタ11,12.13に格納されている80
ビツトのオペランドデータを使用して指定された演算を
一括して処理する。
ビツトオペランドレジスタ11,12゜13及び命令レ
ジスタ6が32ビツトの共有データバス4に接続されて
いる。命令レジスタ6は共有データバス4を介して転送
されたコマンドを一旦保持し、これを命令デコードユニ
ット7に出力する。命令デコードユニット7は入力され
たコマンドを解析し、処理の内容を命令実行ユニット1
4へ通知する。命令実行ユニット14においては、オペ
ランドレジスタ11,12.13に格納されている80
ビツトのオペランドデータを使用して指定された演算を
一括して処理する。
オペランドレジスタ制御回路15は、外部かも指定され
るバスサイクル情報RD、WR,CDに基き、命令レジ
スタ6及びオペランドレジスタ11.12.13に対す
るストローブ信号を発行すると共に、オペランドレジス
タ11..12゜13に対する待合わせ制御を行う。
るバスサイクル情報RD、WR,CDに基き、命令レジ
スタ6及びオペランドレジスタ11.12.13に対す
るストローブ信号を発行すると共に、オペランドレジス
タ11..12゜13に対する待合わせ制御を行う。
ここで、RD倍信号コプロセッサ3に対するリードタイ
ミングを示し、WR倍信号ライトタイミングを示す。ま
た、CD信号はバスサイクルの種類を示し、CD=Oの
場合は命令レジスタ6に対するコマンドの転送を意味し
、CD=1の場合はオペランドレジスタ11,12.1
3に対するオペランドデータの転送を意味する。
ミングを示し、WR倍信号ライトタイミングを示す。ま
た、CD信号はバスサイクルの種類を示し、CD=Oの
場合は命令レジスタ6に対するコマンドの転送を意味し
、CD=1の場合はオペランドレジスタ11,12.1
3に対するオペランドデータの転送を意味する。
また、2ビツトのアドレス(A)信号は、各オペランド
レジスタ11.12.13を識別するための信号であり
、オペランドデータを転送するバスサイクルに同期して
入力される。アドレス(A)信号が(OOb)である場
合はオペランドレジスタ11へ、(Olb)である場合
はオペランドレジスタ12へ、(10b)である場合は
オペランドレジスタ13に対してオペランドデータを転
送することを示す。
レジスタ11.12.13を識別するための信号であり
、オペランドデータを転送するバスサイクルに同期して
入力される。アドレス(A)信号が(OOb)である場
合はオペランドレジスタ11へ、(Olb)である場合
はオペランドレジスタ12へ、(10b)である場合は
オペランドレジスタ13に対してオペランドデータを転
送することを示す。
次に、このように構成されたコプロセッサの動作につい
て第2図の動作タイミング図を参照して説明する。タイ
ミングTolにおいて共有データバス4からアドレス(
A)信号が(OOb)である最初の32ビツトオペラン
ドデータが転送されると、このデータがオペランドレジ
スタ11に格納される0次に、タイミングTo2におい
てアドレス(A)信号が(Olb>である2番目の32
ビツトオペランドデータが転送されると、このデータが
オペランドレジスタ12に、引き続いて、タイミングT
o3においてアドレス(A)信号が(10b)である3
番目の32ビツトオペランドデータが転送されると、こ
のデータがオペランドレジスタ13に格納される。処理
する浮動小数点データが80ビツト長であるので、3番
目のバスサイクルにおいて転送される32ビツトオペラ
ンドデータのうち上位16ビツトは無効のデータである
。
て第2図の動作タイミング図を参照して説明する。タイ
ミングTolにおいて共有データバス4からアドレス(
A)信号が(OOb)である最初の32ビツトオペラン
ドデータが転送されると、このデータがオペランドレジ
スタ11に格納される0次に、タイミングTo2におい
てアドレス(A)信号が(Olb>である2番目の32
ビツトオペランドデータが転送されると、このデータが
オペランドレジスタ12に、引き続いて、タイミングT
o3においてアドレス(A)信号が(10b)である3
番目の32ビツトオペランドデータが転送されると、こ
のデータがオペランドレジスタ13に格納される。処理
する浮動小数点データが80ビツト長であるので、3番
目のバスサイクルにおいて転送される32ビツトオペラ
ンドデータのうち上位16ビツトは無効のデータである
。
更に、タイミングTcにおいて命令レジスタ6にコマン
ドが転送されると、命令デコードユニット7はコマンド
を解釈し、タイミングTeにおいて命令実行ユニット1
4に処理の開始を指示する。
ドが転送されると、命令デコードユニット7はコマンド
を解釈し、タイミングTeにおいて命令実行ユニット1
4に処理の開始を指示する。
命令実行ユニット14が処理を開始し、例えば、タイミ
ングTri、 Tr2. Tr3においてオペランドデ
ータを必要とする場合、この80ビツトの浮動小数点デ
ータの全てがオペランドレジスタ11゜12.13に格
納されているので、オペランドレジスタ11,12.1
3は命令実行ユニット14から80ビツトのうちのいず
れの32ビツトオペランドデータを要求されても、又は
、80ビツトのデータの全てを同時に要求されても、オ
ペランドデータを命令実行ユニット14に転送すること
ができる。このため、オペランドデータの未転送による
処理の保留は発生せず、命令実行ユニット14は処理が
中断されることなく継続して演算処理することができる
。
ングTri、 Tr2. Tr3においてオペランドデ
ータを必要とする場合、この80ビツトの浮動小数点デ
ータの全てがオペランドレジスタ11゜12.13に格
納されているので、オペランドレジスタ11,12.1
3は命令実行ユニット14から80ビツトのうちのいず
れの32ビツトオペランドデータを要求されても、又は
、80ビツトのデータの全てを同時に要求されても、オ
ペランドデータを命令実行ユニット14に転送すること
ができる。このため、オペランドデータの未転送による
処理の保留は発生せず、命令実行ユニット14は処理が
中断されることなく継続して演算処理することができる
。
なお、本実施例においては、タイミングの原点TOから
命令実行ユニット14が起動を始めるタイミングTeま
での期間は、命令実行ユニット14は何らの処理もして
いないが、この期間を従前のコマンドに対する処理の期
間とオーバラップ−させることができるので、そうする
と、このタイミングToからタイミングTeまでの非動
作時間がなくなり、有効に命令実行ユニット14を使用
することができる。
命令実行ユニット14が起動を始めるタイミングTeま
での期間は、命令実行ユニット14は何らの処理もして
いないが、この期間を従前のコマンドに対する処理の期
間とオーバラップ−させることができるので、そうする
と、このタイミングToからタイミングTeまでの非動
作時間がなくなり、有効に命令実行ユニット14を使用
することができる。
また、本実施例においては、オペランドデータの転送順
序はオペランドレジスタ11.12゜13に対応する順
番であったが、この順番に拘らず任意の順序で選択して
オペランドデータを転送することができることは勿論で
ある。
序はオペランドレジスタ11.12゜13に対応する順
番であったが、この順番に拘らず任意の順序で選択して
オペランドデータを転送することができることは勿論で
ある。
第3図は本発明の第2の実施例に係るコプロセッサを示
すブロック図である。第3図において第1図と同一物に
は同一符号を付して説明を省略する。オペランドレジス
タ制御回路16がオペランドレジスタ11.12.13
に対して発行するストローブ信号はインクリメンタ17
及びデコーダ18を介してオペランドレジスタ11,1
2゜13に入力される。オペランドレジスタ制御回路1
6にはRD倍信号WR信号及びCD信号が入力される。
すブロック図である。第3図において第1図と同一物に
は同一符号を付して説明を省略する。オペランドレジス
タ制御回路16がオペランドレジスタ11.12.13
に対して発行するストローブ信号はインクリメンタ17
及びデコーダ18を介してオペランドレジスタ11,1
2゜13に入力される。オペランドレジスタ制御回路1
6にはRD倍信号WR信号及びCD信号が入力される。
インクリメンタ17はオペランドレジスタ制御回路16
に入力されるWR信号が1、CD信号が0(命令レジス
タ6へのコマンド転送)になると、(OOb)に初期化
される。そして、インクリメンタ17はオペランドレジ
スタ11.12.13へオペランドデータが転送される
と、それをWR=1及びCD=1により検知し、その内
容が+1づつ更新される。
に入力されるWR信号が1、CD信号が0(命令レジス
タ6へのコマンド転送)になると、(OOb)に初期化
される。そして、インクリメンタ17はオペランドレジ
スタ11.12.13へオペランドデータが転送される
と、それをWR=1及びCD=1により検知し、その内
容が+1づつ更新される。
デコーダ18は、オペランドレジスタ11゜12.13
に対してオペランドデータが転送されると、インクリメ
ンタ17の内容に従って各オペランドレジスタ11.1
2.13に対するライトストローブ信号を発生する。つ
まり、1回目のオペランドデータ転送時、インクリメン
タ17は(00b)であるので、デコーダ18はオペラ
ンドレジスタ11に対するライトストローブ信号を発生
する。このライトストローブ信号が発生すると、インク
リメンタ17は直ちに1だけインクリメントされ、(O
lb)となる。
に対してオペランドデータが転送されると、インクリメ
ンタ17の内容に従って各オペランドレジスタ11.1
2.13に対するライトストローブ信号を発生する。つ
まり、1回目のオペランドデータ転送時、インクリメン
タ17は(00b)であるので、デコーダ18はオペラ
ンドレジスタ11に対するライトストローブ信号を発生
する。このライトストローブ信号が発生すると、インク
リメンタ17は直ちに1だけインクリメントされ、(O
lb)となる。
オペランドレジスタ12に対するライトストローブ信号
は、インクリメンタ17が<01b)の場合、オペラン
ドレジスタ13に対するライトストローブ信号は、イン
クリメンタ17が(10b)の場合に夫々発行される。
は、インクリメンタ17が<01b)の場合、オペラン
ドレジスタ13に対するライトストローブ信号は、イン
クリメンタ17が(10b)の場合に夫々発行される。
このように、第2の実施例においては、オペランドデー
タの転送順序が予め固定されている場合には、外部から
アドレス情報を指定することなくオペランドレジスタ1
1,12.13にオペランドデータを転送することがで
きる。そして、第1の実施例と同様に、第2の実施例に
おいても、実行ユニット14はデータの未転送によって
処理を中断することなく命令を連続して処理することが
できる。
タの転送順序が予め固定されている場合には、外部から
アドレス情報を指定することなくオペランドレジスタ1
1,12.13にオペランドデータを転送することがで
きる。そして、第1の実施例と同様に、第2の実施例に
おいても、実行ユニット14はデータの未転送によって
処理を中断することなく命令を連続して処理することが
できる。
第4図(a)は、第1の実施例においてCPUがコプロ
セッサを必要とする命令の実行を行った場合のバスサイ
クルを示しており、第4図(b)は第2の実施例による
場合のバスサイクルを示している。第2の実施例におい
ては、CPUIがオペランドレジスタ11,12.13
を選択するために、アドレス情報を指示する必要がない
ので、CPUI (第5図参照)からコプロセッサに対
して発行されるオペランドデータ転送用のバスサイクル
を省略することができる。つまり、第1の実施例におい
ては、第4図(a)に示すように、コプロセッサが必要
とするオペランドデータは、メモリ2からのオペランド
データ読出し用のバスサイクルBmによって、−度CP
U内部に読込まれた後に、オペランドデータ転送用のバ
スサイクルBo及びコマンド転送用のバスサイクルBc
によりコプロセッサに転送されている。これに対して、
第2の実施例においては、第4図(b)に示すように、
バスサイクルBmに同期してコプロセッサにオペランド
データの転送を行っており、バスサイクルBoを必要と
せず、より命令実行ユニット14の使用効率(スルーブ
ツト)を向上させることができる。
セッサを必要とする命令の実行を行った場合のバスサイ
クルを示しており、第4図(b)は第2の実施例による
場合のバスサイクルを示している。第2の実施例におい
ては、CPUIがオペランドレジスタ11,12.13
を選択するために、アドレス情報を指示する必要がない
ので、CPUI (第5図参照)からコプロセッサに対
して発行されるオペランドデータ転送用のバスサイクル
を省略することができる。つまり、第1の実施例におい
ては、第4図(a)に示すように、コプロセッサが必要
とするオペランドデータは、メモリ2からのオペランド
データ読出し用のバスサイクルBmによって、−度CP
U内部に読込まれた後に、オペランドデータ転送用のバ
スサイクルBo及びコマンド転送用のバスサイクルBc
によりコプロセッサに転送されている。これに対して、
第2の実施例においては、第4図(b)に示すように、
バスサイクルBmに同期してコプロセッサにオペランド
データの転送を行っており、バスサイクルBoを必要と
せず、より命令実行ユニット14の使用効率(スルーブ
ツト)を向上させることができる。
[発明の効果]
以上説明したように、本発明によれば、全てのオペラン
ドデータは制御手段により複数のレジスタに格納される
。そして、全オペランドデータは実行処理に先立ちレジ
スタに格納されるので、命令実行ユニットはオペランド
データ転送のための待合わせをすることなく命令を処理
することができ、処理時間が短縮され、実行処理の効率
が向上する。
ドデータは制御手段により複数のレジスタに格納される
。そして、全オペランドデータは実行処理に先立ちレジ
スタに格納されるので、命令実行ユニットはオペランド
データ転送のための待合わせをすることなく命令を処理
することができ、処理時間が短縮され、実行処理の効率
が向上する。
第1図は本発明の第1の実施例に係るコプロセッサを示
すブロック図、第2図は同じくこのコプロセッサの動作
を説明するためのタイミングチャート図、第3図は本発
明の第2の実施例に係るコプロセッサを示すブロック図
、第4図(a)。 (b)はコプロセッサを接続した情報処理装置のデータ
バスの状態を示すタイミングチャート図、第5図はコプ
ロセッサを有する情報処理装置の構成を示すブロック図
、第6図は従来のコプロセッサを示すブロック図、第7
図はこの従来のコプロセッサの動作を説明するためのタ
イミングチャート図である。 1;CPU、2;メモリ、3;コプロセッサ、4;共有
データバス、5;バス制御回路、6:命令レジスタ、7
;命令デコードユニット、8;オペランドバッファ、9
,14:命令実行ユニット、10;リード/ライト制御
回路、11,12゜13;オペランドレジスタ、15,
16.オペランドレジスタ制御回路、17;インクリメ
ンタ、18;デコーダ
すブロック図、第2図は同じくこのコプロセッサの動作
を説明するためのタイミングチャート図、第3図は本発
明の第2の実施例に係るコプロセッサを示すブロック図
、第4図(a)。 (b)はコプロセッサを接続した情報処理装置のデータ
バスの状態を示すタイミングチャート図、第5図はコプ
ロセッサを有する情報処理装置の構成を示すブロック図
、第6図は従来のコプロセッサを示すブロック図、第7
図はこの従来のコプロセッサの動作を説明するためのタ
イミングチャート図である。 1;CPU、2;メモリ、3;コプロセッサ、4;共有
データバス、5;バス制御回路、6:命令レジスタ、7
;命令デコードユニット、8;オペランドバッファ、9
,14:命令実行ユニット、10;リード/ライト制御
回路、11,12゜13;オペランドレジスタ、15,
16.オペランドレジスタ制御回路、17;インクリメ
ンタ、18;デコーダ
Claims (1)
- 1つのコマンドにより処理されるべき全てのオペランド
データを格納するのに必要な総ワード長を有する複数個
のレジスタと、オペランドデータが転送されてくる都度
前記レジスタを順次選択してそのオペランドデータを格
納させる制御手段と、コマンドの入力により前記複数個
のレジスタからオペランドデータの転送を受け前記コマ
ンドに基く命令を処理する命令実行ユニットと、を有し
、コマンドが命令実行ユニットに入力されるに先立ち、
全てのオペランドデータを前記複数個のレジスタに格納
しておくことを特徴とするコプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62277198A JP2762441B2 (ja) | 1987-10-30 | 1987-10-30 | コプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62277198A JP2762441B2 (ja) | 1987-10-30 | 1987-10-30 | コプロセッサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01118954A true JPH01118954A (ja) | 1989-05-11 |
| JP2762441B2 JP2762441B2 (ja) | 1998-06-04 |
Family
ID=17580174
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62277198A Expired - Lifetime JP2762441B2 (ja) | 1987-10-30 | 1987-10-30 | コプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2762441B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02176850A (ja) * | 1988-07-20 | 1990-07-10 | Digital Equip Corp <Dec> | プロセッサ間の命令転送を最適化する方法及び装置 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62214464A (ja) * | 1986-03-17 | 1987-09-21 | Hitachi Ltd | データ処理システム |
| JPS63167951A (ja) * | 1986-12-29 | 1988-07-12 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
-
1987
- 1987-10-30 JP JP62277198A patent/JP2762441B2/ja not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62214464A (ja) * | 1986-03-17 | 1987-09-21 | Hitachi Ltd | データ処理システム |
| JPS63167951A (ja) * | 1986-12-29 | 1988-07-12 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02176850A (ja) * | 1988-07-20 | 1990-07-10 | Digital Equip Corp <Dec> | プロセッサ間の命令転送を最適化する方法及び装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2762441B2 (ja) | 1998-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5293500A (en) | Parallel processing method and apparatus | |
| EP0405495B1 (en) | Instruction unit logic management apparatus included in a pipelined processing unit and method therefor | |
| JPS62151971A (ja) | マイクロ・プロセツサ装置 | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| US4897779A (en) | Method and apparatus for optimizing inter-processor instruction transfers | |
| KR970003321B1 (ko) | 코프로세서 지정 시스템 | |
| JPH0743648B2 (ja) | 情報処理装置 | |
| JPH01118954A (ja) | コプロセッサ | |
| EP0292188B1 (en) | Cache system | |
| JP3151832B2 (ja) | Dmaコントローラ | |
| JPS60195661A (ja) | デ−タ処理システム | |
| JP3569811B2 (ja) | パイプライン処理機能を有するデータ処理装置 | |
| JP3954159B2 (ja) | 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法 | |
| JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
| JPH02183333A (ja) | データ処理装置 | |
| JP2806690B2 (ja) | マイクロプロセッサ | |
| JPS63167951A (ja) | 情報処理装置 | |
| JP2003122626A (ja) | 高性能グラフィックスコントローラ | |
| JPH0222417B2 (ja) | ||
| JPS6221130B2 (ja) | ||
| JPH02301830A (ja) | 情報処理方式 | |
| JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
| JPH0317135B2 (ja) | ||
| JPH0546389A (ja) | 並列処理装置 | |
| JPS61170830A (ja) | レジスタ参照方法 |