JP2762441B2 - コプロセッサ - Google Patents

コプロセッサ

Info

Publication number
JP2762441B2
JP2762441B2 JP62277198A JP27719887A JP2762441B2 JP 2762441 B2 JP2762441 B2 JP 2762441B2 JP 62277198 A JP62277198 A JP 62277198A JP 27719887 A JP27719887 A JP 27719887A JP 2762441 B2 JP2762441 B2 JP 2762441B2
Authority
JP
Japan
Prior art keywords
operand
data
coprocessor
register
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 - Lifetime
Application number
JP62277198A
Other languages
English (en)
Other versions
JPH01118954A (ja
Inventor
博昭 金子
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP62277198A priority Critical patent/JP2762441B2/ja
Publication of JPH01118954A publication Critical patent/JPH01118954A/ja
Application granted granted Critical
Publication of JP2762441B2 publication Critical patent/JP2762441B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はCPUと密に結合されるコプロセッサに関し、
特に、オペランドデータの転送方式を改善して実行処理
の効率を向上させたコプロセッサに関する。 [従来の技術] 情報処理装置においてCPUの命令処理能力を向上させ
るために、CPUとは別の処理装置がCPUと密に結合され、
本来CPUが行うべき処理の一部分を肩代わりするという
構成が採られることがある。この別の処理装置は、コプ
ロセッサ(Co−processor)と呼ばれ、CPUが有する命令
の処理速度を向上させたり、また、CPUが処理すること
ができない命令処理(例えば、浮動小数点演算等)を実
行するものである。 コプロセッサはあくまでCPUの拡張のために使用され
るので、コプロセッサの操作がソフトウェアにより制御
されることはない。即ち、演算のためのデータの転送及
び操作のためのコマンドの転送が、入出力(I/O)装置
のようにソフトウェアによって制御されることはなく、
CPUがコプロセッサを必要とする命令を検知した場合
に、CPUとコプロセッサとの間でのみデータの転送がな
される。 第5図は浮動小数点演算を行うこの種の従来のコプロ
セッサを使用した情報処理装置を示すブロック図であ
る。CPU1、メモリ2及びコプロセッサ3な共有データバ
ス4を介して接続されており、データの転送はCPU1とメ
モリ2との間及びCPU1とコプロセッサ3との間において
なされる。バス制御回路5は、CUP1から入力されるデー
タ転送に係わる情報STATUSを解釈し、メモリ2に対する
リード/ライト信号MSTB及びコプロセッサ3に対するリ
ード/ライト信号CPSTBを発生する。 CPU1は浮動小数点演算命令を実行することを検知する
と、共有データバス4を介してメモリ2の浮動小数点デ
ータをオペランドデータとしてCPU1の内部に読込む。次
に、CPU1はコプロセッサ3に共有データバス4を介して
コマンドを転送し、演算を指定すると共に、演算開始を
指定する。そして、CPU1の内部に読込まれているオペラ
ンドデータがコプロセッサ3に転送され、コプロセッサ
3によりオペランドデータの演算が開始される。コプロ
セッサ3の演算が終了すると、演算結果はコプロセッサ
3からCPU1に転送され、次いで、CPU1がメモリ2に書込
む。 なお、CPU1がSTATUS信号を出力すると、バス制御回路
5がこのSTATUS信号を検知してコプロセッサ3へ転送す
べきオペランドデータがメモリ2からCPU1に読込まれる
ことを把握する。そこで、バス制御回路5からメモリ2
に対するリード/ライト信号MSTBと、コプロセッサ3に
対するライト/リード信号CPSTBを同時に発生させるこ
とにより、CPU1を経由することなくメモリ2からオペラ
ンドデータを直接コプロセッサ3に転送することができ
る。 第6図は従来のコプロセッサ3の構成を具体的に示す
ブロック図である。共有データバス4は、命令レジスタ
6及びオペランドバッファ8に接続されている。CPU1か
ら共有データバス4及び命令レジスタ6を介して命令デ
コードユニット7に転送されたコマンドは、命令デコー
ドユニット7において解析され、演算処理を行う命令実
行ユニット9に実行すべき処理が通知される。実行ユニ
ット9は、オペランドバッファ8に格納されたオペラン
ドデータを使用して指定された演算処理を行う。 リード/ライト制御回路10は、外部から指定されるバ
スサイクル情報RD,WR,CDに基き、命令レジスタ6及びオ
ペランドバッファ8に対するストローブ信号を発行する
と共に、オペランドバッファ8に対する待合わせ制御を
行う。 ここで、RD信号はコプロセッサ3に対するリードタイ
ミングを示し、WR信号はライトタイミングを示す。ま
た、CD信号はバスサイクルの種類を示し、CD=0の場合
は命令レジスタ6に対するコマンドの転送を意味し、CD
=1ならばオペランドバッファ8に対するオペランドデ
ータの転送を意味する。また、DRQ信号は命令実行ユニ
ット9からオペランドバッファ8に対するデータの転送
要求を示し、BSY信号はオペランドバッファ8に有効な
オペランドデータが転送されていないことを示す信号で
ある。 次に、従来のコプロセッサの演算処理の動作タイミン
グについて、第7図に示すタイミングチャート図を参照
して説明する。タイミングTcにおいて命令レジスタ6に
コマンドが転送されると、命令デコードユニット7は命
令を解釈し、タイミングTeにおいて命令実行ユニット9
を起動する。 命令実行ユニット9において、ある程度処理が進みタ
イミングTr1に達すると、処理にはオペランドデータを
必要とするので、オペランドバッファ8に対するDRQ信
号を発行する。リード/ライト制御回路10のBSY信号に
よりオペランドバッファ8には有効なオペランドデータ
が格納されていないことが示されているので、処理はタ
イミングTo1まで保留される。 タイミングTo1においてオペランドバッファ8にオペ
ランドデータが転送されると、BSY信号はインアクティ
ブになり、命令実行ユニット9において保留されていた
処理が続行される。再開された処理がタイミングTr2に
達すると、再度、次のオペランドデータが必要になり、
オペランドバッファ8にオペランドデータが転送される
まで、すなわちタイミングTo2まで処理が保留されるこ
とになる。なお、第7図において、命令実行ユニット9
が実際に処理を行っている期間を斜線により示し、処理
が保留されている期間を空白により示している。 [発明が解決しようとする問題点] しかしながら、従来のコプロセッサにおいては、第7
図に示すように、命令実行ユニット9の実行処理はオペ
ランドバッファ8にオペランドデータが転送されてくる
のを待つ時間(t1+t2)だけ保留されるので、演算結果
を得るまでに余分な時間が生じてしまうという問題点が
ある。 本発明はかかる問題点に鑑みてなされたものであっ
て、実行処理が保留される時間を解消して処理時間を短
縮することができるコプロセッサを提供することを目的
とする。 [問題点を解決するための手段] 本発明のコプロセッサは、演算の種類を指定するコマ
ンド及び前記演算の対象となるオペランドデータが外部
から転送されるコプロセッサにおいて、1つのコマンド
により処理されるべき全てのオペランドデータを前記コ
マンドの転送に先立って格納するのに必要な総ワード長
を有する少なくとも1組のレジスタ群と、オペランドデ
ータが転送されてくる都度前記レジスタ群の各レジスタ
を順次選択してそのオペランドデータを格納させる制御
手段と、外部からのコマンド転送を受けるコマンドレジ
スタと、前記レジスタ群からオペランドデータの転送を
受け前記コマンドレジスタに格納されたコマンドに基く
命令を処理する命令実行ユニットと、を有し、コマンド
が外部から前記コマンドレジスタに転送されるに先立
ち、全てのオペランドデータを前記レジスタ群に格納し
ておき、前記命令実行ユニットは前記コマンドの転送後
に前記命令に関する処理を開始することを特徴とする。 [作用] 制御手段はオペランドデータが転送されてくる都度レ
ジスタ群の各レジスタを順次選択して、そのオペランド
データを格納する。このレジスタ群は1つのコマンドに
より処理されるべき全てのオペランドデータを格納する
のに必要な総ワード長を有しており、制御手段により全
てのオペランドデータが格納される。 そして、命令実行ユニットはコマンドを入力すると、
前記レジスタ群に格納されたオペランドデータの操作を
含む処理を開始する。このように、命令実行ユニットが
命令を処理する時では、既に全てのオペランドデータが
レジスタ群に格納されているので、オペランドレジスタ
の未転送による処理の保留は発生しない。 [実施例] 以下、添付の図面を参照して本発明の実施例について
説明する。第1図は本発明の第1の実施例に係るコプロ
セッサを示すブロック図である。80ビット長の浮動小数
点データを格納する3個の32ビットオペランドレジスタ
11,12,13及び命令レジスタ6が32ビットの共有データバ
ス4に接続されている。命令レジスタ6は共有データバ
ス4を介して転送されたコマンドを一旦保持し、これを
命令デコードユニット7に出力する。命令デコードユニ
ット7は入力されたコマンドを解析し、処理の内容を命
令実行ユニット14へ通知する。命令実行ユニット14にお
いては、オペランドレジスタ11,12,13に格納されている
80ビットのオペランドデータを使用して指定された演算
を一括して処理する。 オペランドレジスタ制御回路15は、外部から指定され
るバスサイクル情報RD,WR,CDに基き、命令レジスタ6及
びオペランドレジスタ11,12,13に対するストローブ信号
を発行すると共に、オペランドレジスタ11,12,13に対す
る待合わせ制御を行う。 ここで、RD信号はコプロセッサ3に対するリードタイ
ミングを示し、WR信号はライトタイミングを示す。ま
た、CD信号はバスサイクルの種類を示し、CD=0の場合
は命令レジスタ6に対するコマンドの転送を意味し、CD
=1の場合はオペランドレジスタ11,12,13に対するオペ
ランドデータの転送を意味する。 また、2ビットのアドレス(A)信号は、各オペラン
ドレジスタ11,12,13を識別するための信号であり、オペ
ランドデータを転送するバスサイクルに同期して入力さ
れる。アドレス(A)信号が(00b)である場合はオペ
ランドレジスタ11へ、(01b)である場合はオペランド
レジスタ12へ、(10b)である場合はオペランドレジス
タ13に対してオペランドデータを転送することを示す。 次に、このように構成されたコプロセッサの動作につ
いて第2図の動作タイミング図を参照して説明する。タ
イミングTo1において共有データバス4からアドレス
(A)信号が(00b)である最初の32ビットオペランド
データが転送されると、このデータがオペランドレジス
タ11に格納される。次に、タイミングTo2においてアド
レス(A)信号が(01b)である2番目の32ビットオペ
ランドデータが転送されると、このデータがオペランド
レジスタ12に、引き続いて、タイミングTo3においてア
ドレス(A)信号が(10b)である3番目の32ビットオ
ペランドデータが転送されると、このデータがオペラン
ドレジスタ13に格納される。処理する浮動小数点データ
が80ビット長であるので、3番目のバスサイクルにおい
て転送される32ビットオペランドデータのうち上位16ビ
ットは無効のデータである。 更に、タイミングTcにおいて命令レジスタ6にコマン
ドが転送されると、命令デコードユニット7はコマンド
を解釈し、タイミングTeにおいて命令実行ユニット14に
処理の開始を指示する。 命令実行ユニット14が処理を開始し、例えば、タイミ
ングTr1,Tr2,Tr3においてオペランドデータを必要とす
る場合、この80ビットの浮動小数点データの全てがオペ
ランドレジスタ11,12,13に格納されているので、オペラ
ンドレジスタ11,12,13は命令実行ユニット14から80ビッ
トのうちのいずれの32ビットオペランドデータを要求さ
れても、又は、80ビットのデータの全てを同時に要求さ
れても、オペランドデータを命令実行ユニット14に転送
することができる。このため、オペランドデータの未転
送による処理の保留は発生せず、命令実行ユニット14は
処理が中断されることなく継続して演算処理することが
できる。 なお、本実施例においては、タイミングの原点T0から
命令実行ユニット14が起動を始めるタイミングTeまでの
期間は、命令実行ユニット14は何らの処理もしていない
が、この期間を従前のコマンドに対する処理の期間とオ
ーバラップさせることができるので、そうすると、この
タイミングT0からタイミングTeまでの非動作時間がなく
なり、有効に命令実行ユニット14を使用することができ
る。 また、本実施例においては、オペランドデータの転送
順序はオペランドレジスタ11,12,13に対応する順番であ
ったが、この順番に拘らず任意の順序で選択してオペラ
ンドデータを転送することができることは勿論である。 第3図は本発明の第2の実施例に係るコプロセッサを
示すブロック図である。第3図において第1図と同一物
には同一符号を付して説明を省略する。オペランドレジ
スタ制御回路16がオペランドレジスタ11,12,13に対して
発行するストローブ信号はインクリメンタ17及びデコー
ダ18を介してオペランドレジスタ11,12,13に入力され
る。オペランドレジスタ制御回路16にはRD信号、WR信号
及びCD信号が入力される。 インクリメンタ17はオペランドレジスタ制御回路16に
入力されるWR信号が1、CD信号が0(命令レジスタ6へ
のコマンド転送)になると、(00b)に初期化される。
そして、インクリメンタ17はオペランドレジスタ11,12,
13へオペランドデータが転送されると、それをWR=1及
びCD=1により検知し、その内容が+1づつ更新され
る。 デコーダ18は、オペランドレジスタ11,12,13に対して
オペランドデータが転送されると、インクリメンタ17の
内容に従って各オペランドレジスタ11,12,13に対するラ
イトストローブ信号を発生する。つまり、1回目のオペ
ランドデータ転送時、インクリメンタ17は(00b)であ
るので、デコーダ18はオペランドレジスタ11に対するラ
イトストローブ信号を発生する。このライトストローブ
信号が発生すると、インクリメンタ17は直ちに1だけイ
ンクリメンタされ、(01b)となる。 オペランドレジスタ12に対するライトストローブ信号
は、インクリメンタ17が(01b)の場合、オペランドレ
ジスタ13に対するライトストローブ信号は、インクリメ
ンタ17が(10b)の場合に夫々発行される。 このように、第2の実施例においては、オペランドデ
ータの転送順序が予め固定されている場合には、外部か
らアドレス情報を指定することなくオペランドレジスタ
11,12,13にオペランドデータを転送することができる。
そして、第1の実施例と同様に、第2の実施例において
も、実行ユニット14はデータの未転送によって処理を中
断することなく命令を連続して処理することができる。 第4図(a)は、第1の実施例においてCPUがコプロ
セッサを必要とする命令の実行を行った場合のバスサイ
クルを示しており、第4図(b)は第2の実施例による
場合のバスサイクルを示している。第2の実施例におい
ては、CPU1がオペランドレジスタ11,12,13を選択するた
めに、アドレス情報を指示する必要がないので、CPU1
(第5図参照)からコプロセッサに対して発行されるオ
ペランドデータ転送用のバスサイクルを省略することが
できる。つまり、第1の実施例においては、第4図
(a)に示すように、コプロセッサが必要とするオペラ
ンドデータは、メモリ2からのオペランドデータ読出し
用のバスサイクルBmによって、一度CPU内部に読込まれ
た後に、オペランドデータ転送用のバスサイクル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;デコーダ

Claims (1)

  1. (57)【特許請求の範囲】 1.演算の種類を指定するコマンド及び前記演算の対象
    となるオペランドデータが外部から転送されるコプロセ
    ッサにおいて、1つのコマンドにより処理されるべき全
    てのオペランドデータを前記コマンドの転送に先立って
    格納するのに必要な総ワード長を有する少なくとも1組
    のレジスタ群と、オペランドデータが転送されてくる都
    度前記レジスタ群の各レジスタを順次選択してそのオペ
    ランドデータを格納させる制御手段と、外部からのコマ
    ンド転送を受けるコマンドレジスタと、前記レジスタ群
    からオペランドデータの転送を受け前記コマンドレジス
    タに格納されたコマンドに基く命令を処理する命令実行
    ユニットと、を有し、コマンドが外部から前記コマンド
    レジスタに転送されるに先立ち、全てのオペランドデー
    タを前記レジスタ群に格納しておき、前記命令実行ユニ
    ットは前記コマンドの転送後に前記命令に関する処理を
    開始することを特徴とするコプロセッサ。
JP62277198A 1987-10-30 1987-10-30 コプロセッサ Expired - Lifetime JP2762441B2 (ja)

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 JPH01118954A (ja) 1989-05-11
JP2762441B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897779A (en) * 1988-07-20 1990-01-30 Digital Equipment Corporation Method and apparatus for optimizing inter-processor instruction transfers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62214464A (ja) * 1986-03-17 1987-09-21 Hitachi Ltd データ処理システム
JP2695156B2 (ja) * 1986-12-29 1997-12-24 松下電器産業株式会社 情報処理装置

Also Published As

Publication number Publication date
JPH01118954A (ja) 1989-05-11

Similar Documents

Publication Publication Date Title
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
JPS62151971A (ja) マイクロ・プロセツサ装置
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH1021074A (ja) 割り込み制御方式、プロセッサ及び計算機システム
JPH1083303A (ja) コプロセッサを使用するための電子回路及び方法
JPH0743648B2 (ja) 情報処理装置
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
US5129065A (en) Apparatus and methods for interface register handshake for controlling devices
JP2762441B2 (ja) コプロセッサ
EP0292188B1 (en) Cache system
JP2806690B2 (ja) マイクロプロセッサ
JPS63247861A (ja) コプロセツサ制御方法
JPS63167951A (ja) 情報処理装置
JPS6221130B2 (ja)
JPS58205258A (ja) デ−タ処理装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH0317135B2 (ja)
JPH0241770B2 (ja)
JP2572821B2 (ja) 命令再実行による演算処理方式
JPH04155525A (ja) 命令実行制御方式
JPH06100962B2 (ja) バス制御回路
WO1995022110A1 (en) Write-read data operation for microprocessor
JPH11327798A (ja) データ転送制御装置
JPH07210384A (ja) 浮動小数点演算装置
JPH0769800B2 (ja) データ処理装置