JPH04205029A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH04205029A JPH04205029A JP2331038A JP33103890A JPH04205029A JP H04205029 A JPH04205029 A JP H04205029A JP 2331038 A JP2331038 A JP 2331038A JP 33103890 A JP33103890 A JP 33103890A JP H04205029 A JPH04205029 A JP H04205029A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- floating point
- pipeline
- load
- control circuit
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明はマイクロプロセッサに浮動小数点演算プロセ
ッサを接続したシステムに用いて好適なマイクロプロセ
ッサの内部構造に関する。
ッサを接続したシステムに用いて好適なマイクロプロセ
ッサの内部構造に関する。
(従来の技術)
浮動小数点、10進数演算等オプション演算を高速に実
行するために専用のコプロセッサを用い、マイクロプロ
セッサに接続して実行しマイクロプロセッサの負荷分散
をはかることは常套手段である。従来、マイクロプロセ
ッサに浮動小数点演算用プロセッサを接続したマイクロ
コンビニータシステムでは、浮動小数点演算用パイプラ
インと浮動小数点データのロード/ストア用パイプナイ
ンとが分離されていなかったために、浮動小数点演算と
ロード/ストア操作を同時に実行することができなかっ
た。
行するために専用のコプロセッサを用い、マイクロプロ
セッサに接続して実行しマイクロプロセッサの負荷分散
をはかることは常套手段である。従来、マイクロプロセ
ッサに浮動小数点演算用プロセッサを接続したマイクロ
コンビニータシステムでは、浮動小数点演算用パイプラ
インと浮動小数点データのロード/ストア用パイプナイ
ンとが分離されていなかったために、浮動小数点演算と
ロード/ストア操作を同時に実行することができなかっ
た。
(発明が解決しようとする課題)
上述したように従来は浮動小数点演算と浮動小数点デー
タのロード/ストアを同時に実行することができず、従
って期待する程浮動小数点演算の実行速度が向上しない
等の問題があった。
タのロード/ストアを同時に実行することができず、従
って期待する程浮動小数点演算の実行速度が向上しない
等の問題があった。
この発明は上記事情に鑑みてなされたものであり、浮動
小数点演算ハードウェアをコプロセッサとして用いたマ
イクロプロセッサシステムにおいて、浮動小数点命令と
浮動小数点データのロード/ストア命令を並列に実行す
ることにより、命令実行の高速化をはかったマイクロプ
ロセッサトを提供することを目的とする。
小数点演算ハードウェアをコプロセッサとして用いたマ
イクロプロセッサシステムにおいて、浮動小数点命令と
浮動小数点データのロード/ストア命令を並列に実行す
ることにより、命令実行の高速化をはかったマイクロプ
ロセッサトを提供することを目的とする。
[発明の構成コ
(課題を解決するための手段)
本発明のマイクロプロセッサは、複数の命令を同時に得
、これを解析してデコード情報を生成する命令デコーダ
と、命令デコーダを介してデコード情報を受けとり、こ
れか浮動小数点演算命令であればパイプライン内にこの
情報を格納する浮動小数点パイプラインと、命令デコー
ダを介してデコード情報を受けとり、これがデータのロ
ード/ストア命令であればパイプライン内にこの情報を
格納するロート/ストア命令用パイプラインと、命令デ
コーダからデコード情報を受けとり、複数命令を同時に
実行できるか否かをチェックし、後に実行すべき命令が
格納されている上記の各パイプラインに制御情報を送出
して実行の起動もしくはウェイトをかけるパイプライン
制御回路とを具備し、浮動小数点演算と浮動小数点デー
タのロード/ストアを同時に実行することを特徴とする
。
、これを解析してデコード情報を生成する命令デコーダ
と、命令デコーダを介してデコード情報を受けとり、こ
れか浮動小数点演算命令であればパイプライン内にこの
情報を格納する浮動小数点パイプラインと、命令デコー
ダを介してデコード情報を受けとり、これがデータのロ
ード/ストア命令であればパイプライン内にこの情報を
格納するロート/ストア命令用パイプラインと、命令デ
コーダからデコード情報を受けとり、複数命令を同時に
実行できるか否かをチェックし、後に実行すべき命令が
格納されている上記の各パイプラインに制御情報を送出
して実行の起動もしくはウェイトをかけるパイプライン
制御回路とを具備し、浮動小数点演算と浮動小数点デー
タのロード/ストアを同時に実行することを特徴とする
。
(作 用)
本発明は上述したように、マイクロプロセッサに浮動小
数点演算のためのコプロセッサを接続したマイクロプロ
セッサシステムにおいて、マイクロプロセッサ内部に、
命令デコーダと、実行する浮動小数点演算命令に関する
制御情報を格納する浮動小数点演算用パイプラインと、
浮動小数点データのロード/ストア命令に関する制御情
報を格納する浮動小数点ロート/ストア用パイプライン
と、各パイプラインの動作を制御するパイプライン制御
回路を設け、このパイプライン制御回路により、命令デ
コーダを介して到来するデコード情報に従い複数命令を
同時に実行できるか否かをチェックし、後に実行すべき
命令が格納されている上記の各パイプラインに制御情報
を送出して実行の起動もしくはウェイトをかけることに
より、浮動小数点演算と浮動小数点データのロード/ス
トアを同時に実行するものである。
数点演算のためのコプロセッサを接続したマイクロプロ
セッサシステムにおいて、マイクロプロセッサ内部に、
命令デコーダと、実行する浮動小数点演算命令に関する
制御情報を格納する浮動小数点演算用パイプラインと、
浮動小数点データのロード/ストア命令に関する制御情
報を格納する浮動小数点ロート/ストア用パイプライン
と、各パイプラインの動作を制御するパイプライン制御
回路を設け、このパイプライン制御回路により、命令デ
コーダを介して到来するデコード情報に従い複数命令を
同時に実行できるか否かをチェックし、後に実行すべき
命令が格納されている上記の各パイプラインに制御情報
を送出して実行の起動もしくはウェイトをかけることに
より、浮動小数点演算と浮動小数点データのロード/ス
トアを同時に実行するものである。
マイクロプロセッサ内部に浮動小数点演算用と、浮動小
数点データのロード/ストア用の2種類のパイプライン
を設けることによって、浮動小数点演算命令と浮動小数
点データのロード/ストア命令を同時に実行することが
でき、見かけ上命令実行の高速化がはかれる。
数点データのロード/ストア用の2種類のパイプライン
を設けることによって、浮動小数点演算命令と浮動小数
点データのロード/ストア命令を同時に実行することが
でき、見かけ上命令実行の高速化がはかれる。
(実施例)
以下、図面を使用して本発明実施例について詳細に説明
する。第1図は本発明の実施例を示すブロック図である
。
する。第1図は本発明の実施例を示すブロック図である
。
図において、符号1はマイクロプロセッサであり、主メ
モリ80から命令、データを読みだして浮動小数点デー
タ令を実行する。符号10は命令デコーダであり、命令
をデコードして制御情報に変換する。符号11は信号線
であり、命令デコーダ10でデコードした命令デコード
情報を後述するパイプライン制御回路40へ伝達する。
モリ80から命令、データを読みだして浮動小数点デー
タ令を実行する。符号10は命令デコーダであり、命令
をデコードして制御情報に変換する。符号11は信号線
であり、命令デコーダ10でデコードした命令デコード
情報を後述するパイプライン制御回路40へ伝達する。
符号]2は信号線であり、命令デコーダ10でデコード
した命令デコード情報を浮動小数点演算パイプライン2
0へ伝達する。符号13は信号線であり、命令デコーダ
10でデコードした命令デコード情報を浮動小数点デー
タのロード/ストア命令用のパイプライン30へ伝達す
る。符号20は浮動小数点演算用パイプラインであり1
、浮動小数点演算命令の制御情報をパイプライン構造で
蓄積する。
した命令デコード情報を浮動小数点演算パイプライン2
0へ伝達する。符号13は信号線であり、命令デコーダ
10でデコードした命令デコード情報を浮動小数点デー
タのロード/ストア命令用のパイプライン30へ伝達す
る。符号20は浮動小数点演算用パイプラインであり1
、浮動小数点演算命令の制御情報をパイプライン構造で
蓄積する。
符号21は信号線であり、浮動小数点演算パイプライン
20の情報を浮動小数点演算制御回路5゜に伝達する。
20の情報を浮動小数点演算制御回路5゜に伝達する。
符号30はロード/ストア命令用パイプラインであり、
浮動小数点データのロード/ストア命令の制御情報をパ
イプライン構造で蓄積する。符号31は信号線であり、
ロード/ストア命令用パイプライン30の情報を浮動小
数点データのロードストア制御回路60に伝達する。符
号41は信号線であり、パイプライン制御回路40の制
御情報を浮動小数点演算パイプライン20へ伝達する。
浮動小数点データのロード/ストア命令の制御情報をパ
イプライン構造で蓄積する。符号31は信号線であり、
ロード/ストア命令用パイプライン30の情報を浮動小
数点データのロードストア制御回路60に伝達する。符
号41は信号線であり、パイプライン制御回路40の制
御情報を浮動小数点演算パイプライン20へ伝達する。
符号42は信号線であり、パイプライン制御回路40の
制御情報をロード/ストア命令用パイプライン30へ伝
達する。符号50は浮動小数点演算制御回路であり、浮
動小数点演算を実行するための制御コードを生成する。
制御情報をロード/ストア命令用パイプライン30へ伝
達する。符号50は浮動小数点演算制御回路であり、浮
動小数点演算を実行するための制御コードを生成する。
符号51は信号線であり、浮動小数点演算制御回路50
で生成した制御コードを浮動小数点演算回路90へ伝達
する。符号60はロード/ストア制御回路であり、浮動
小数点演算回路90との間の浮動小数点データのロード
/ストアを制御する制御コードを生成し、また、データ
の授受を実行する。符号61は信号線であり、浮動小数
点演算制御回路50で生成したコードを浮動小数点演算
回路90へ伝達する。符号62はデータバスであり、ロ
ード/ストア制御回路60と浮動小数点演算回路90の
データの授受を行う。符号63はデータバスであり、ロ
ード/ストア制御回路60とメモリ制御回路70との間
のデータの授受を行う。
で生成した制御コードを浮動小数点演算回路90へ伝達
する。符号60はロード/ストア制御回路であり、浮動
小数点演算回路90との間の浮動小数点データのロード
/ストアを制御する制御コードを生成し、また、データ
の授受を実行する。符号61は信号線であり、浮動小数
点演算制御回路50で生成したコードを浮動小数点演算
回路90へ伝達する。符号62はデータバスであり、ロ
ード/ストア制御回路60と浮動小数点演算回路90の
データの授受を行う。符号63はデータバスであり、ロ
ード/ストア制御回路60とメモリ制御回路70との間
のデータの授受を行う。
符号64は制御信号線であり、ロード/ストア操作を実
行する際に、ロード/ストア制御回路60がメモリ制御
回路70をこの信号線を介して制御する。符号70はメ
モリ制御回路であり、主メモリ80から命令を読み出す
、または、浮動小数点データのロード/ストアを実行す
る際のメモリ制御を行う。符号71は信号線であり、メ
モリ制御回路70と主メモリ80間のデータの授受はこ
の信号線を介して行なわれる。符号80は主メモリであ
り、命令、浮動小数点データか格納される。
行する際に、ロード/ストア制御回路60がメモリ制御
回路70をこの信号線を介して制御する。符号70はメ
モリ制御回路であり、主メモリ80から命令を読み出す
、または、浮動小数点データのロード/ストアを実行す
る際のメモリ制御を行う。符号71は信号線であり、メ
モリ制御回路70と主メモリ80間のデータの授受はこ
の信号線を介して行なわれる。符号80は主メモリであ
り、命令、浮動小数点データか格納される。
符号90は浮動小数点演算回路であり、信号線51を介
して制御コードを受は取ることによって、浮動小数点演
算を実行し、また、制御線61を介して制御コードを受
は取り制御線62を介して浮動小数点データのリード/
ライトを行う。浮動小数点演算回路90内部には、浮動
小数点レジスタ等の浮動小数点演算に必要な回路が内蔵
されている。
して制御コードを受は取ることによって、浮動小数点演
算を実行し、また、制御線61を介して制御コードを受
は取り制御線62を介して浮動小数点データのリード/
ライトを行う。浮動小数点演算回路90内部には、浮動
小数点レジスタ等の浮動小数点演算に必要な回路が内蔵
されている。
以下、本発明実施例の動作について詳細に説明する。ま
ず、命令デコーダ10は、信号線71.72を介して二
つの命令を同時に読み込む。命令デコーダ10は更に読
み込んだ命令を解析してデコード情報を生成し、そのデ
コード情報を信号線11.12.13へ送出する。浮動
小数点演算パイプライン20は信号線12を介してデコ
ード情報を受は取り、これが浮動小数点演算命令であれ
ば、パイプライン内にこの情報を格納する。ロード/ス
トア命令用パイプライン30は信号線13を介してデコ
ード情報を受は取り、これがロード/ストア命令であれ
ば、パイプライン内部にこの情報を格納する。パイプラ
イン制御回路40は信号線1]を介してデコード情報を
受は取る。
ず、命令デコーダ10は、信号線71.72を介して二
つの命令を同時に読み込む。命令デコーダ10は更に読
み込んだ命令を解析してデコード情報を生成し、そのデ
コード情報を信号線11.12.13へ送出する。浮動
小数点演算パイプライン20は信号線12を介してデコ
ード情報を受は取り、これが浮動小数点演算命令であれ
ば、パイプライン内にこの情報を格納する。ロード/ス
トア命令用パイプライン30は信号線13を介してデコ
ード情報を受は取り、これがロード/ストア命令であれ
ば、パイプライン内部にこの情報を格納する。パイプラ
イン制御回路40は信号線1]を介してデコード情報を
受は取る。
命令デコーダ10において読み込んだ二つの命令が同時
に実行できない命令であれば、後に実行すべき命令が格
納されているパイプライン20または30に信号線41
または42を介して制御情報を送出して実行にウェイト
をかける。例えば、二つの命令の一つが浮動小数点加算
命令であり、もう一つがロード命令であり、その加算命
令のソースとロード命令のディスティネーションが一致
し、かつ加算命令がロード命令より前のアドレスに格納
してあった場合は、加算命令実行終了後にロード命令を
実行しなくてはならない。この場合パイプライン制御回
路40は信号線42を介してロード/ストア命令用パイ
プライン30に格納されているロード命令の実行をウェ
イトする。この場合、浮動小数点演算とロード命令を同
時に実行することはできない。浮動小数点演算制御回路
50は信号線21を介して浮動小数点演算命令の命令デ
コード情報を、信号線31を介してロード/ストア制御
回路60よりロード命令の命令デコード情報を受は取り
、それぞれ実行する。
に実行できない命令であれば、後に実行すべき命令が格
納されているパイプライン20または30に信号線41
または42を介して制御情報を送出して実行にウェイト
をかける。例えば、二つの命令の一つが浮動小数点加算
命令であり、もう一つがロード命令であり、その加算命
令のソースとロード命令のディスティネーションが一致
し、かつ加算命令がロード命令より前のアドレスに格納
してあった場合は、加算命令実行終了後にロード命令を
実行しなくてはならない。この場合パイプライン制御回
路40は信号線42を介してロード/ストア命令用パイ
プライン30に格納されているロード命令の実行をウェ
イトする。この場合、浮動小数点演算とロード命令を同
時に実行することはできない。浮動小数点演算制御回路
50は信号線21を介して浮動小数点演算命令の命令デ
コード情報を、信号線31を介してロード/ストア制御
回路60よりロード命令の命令デコード情報を受は取り
、それぞれ実行する。
浮動小数点演算を実行するとき浮動小数点演算制御回路
50は、信号線21を介して受は取った命令デコード情
報から制御コードを生成し、信号線51を通して浮動小
数点演算回路90へ送出する。浮動小数点演算回路90
はこのコードに基づいて演算を実行する。
50は、信号線21を介して受は取った命令デコード情
報から制御コードを生成し、信号線51を通して浮動小
数点演算回路90へ送出する。浮動小数点演算回路90
はこのコードに基づいて演算を実行する。
浮動小数点データのロード/ストアを実行する場合、ロ
ード/ストア制御回路60は信号線31より受は取った
命令デコード情報に基づいて制御コードを生成し、信号
線61を通して浮動小数点演算回路90へその制御コー
ドを送出する。ロードを実行する場合、浮動小数点演算
回路90は信号線71、メモリ制御回路70、ロード/
ストア制御回路60、信号線62を通して主メモリ80
から送られたデータを浮動小数点演算回路90に格納す
る。ストアを実行する場合、浮動小数点演算回路90は
信号線62、ロード/ストア制御回路60、信号線63
、メモリ制御回路70、信号線71を通して主メモリ8
0ヘデータを送出する。
ード/ストア制御回路60は信号線31より受は取った
命令デコード情報に基づいて制御コードを生成し、信号
線61を通して浮動小数点演算回路90へその制御コー
ドを送出する。ロードを実行する場合、浮動小数点演算
回路90は信号線71、メモリ制御回路70、ロード/
ストア制御回路60、信号線62を通して主メモリ80
から送られたデータを浮動小数点演算回路90に格納す
る。ストアを実行する場合、浮動小数点演算回路90は
信号線62、ロード/ストア制御回路60、信号線63
、メモリ制御回路70、信号線71を通して主メモリ8
0ヘデータを送出する。
ロード/ストア操作を実行する際のメモリ制御は、メモ
リ制御回路70によって行われる。ロード/ストア制御
回路60は信号線31より受は取った命令デコード情報
より、メモリ制御回路70が主メモリ80を制御するた
めに必要な情報を生成し、信号線64を介してメモリ制
御回路70へ送出する。
リ制御回路70によって行われる。ロード/ストア制御
回路60は信号線31より受は取った命令デコード情報
より、メモリ制御回路70が主メモリ80を制御するた
めに必要な情報を生成し、信号線64を介してメモリ制
御回路70へ送出する。
[発明の効果]
以上説明のように本発明によれば、マイクロプロセッサ
内部に浮動小数点演算用と浮動小数点データのロード/
ストア用の二種類のパイプラインを設けることによって
、浮動小数点演算命令と浮動小数点データのロード/ス
トア命令を同時に実行することかでき、見かけ上命令実
行の高速化がはかれる。
内部に浮動小数点演算用と浮動小数点データのロード/
ストア用の二種類のパイプラインを設けることによって
、浮動小数点演算命令と浮動小数点データのロード/ス
トア命令を同時に実行することかでき、見かけ上命令実
行の高速化がはかれる。
第1図は本発明の実施例を示すブロック図である。
10・・・・・・・・・命令デコーダ
20・・・・・・・・・浮動小数点演算用パイプライン
30・・・・・・・・・浮動小数点演算データロード/
ストア命令用パイプライン 40・・・・・・・・・パイプライン制御回路50・・
・・・・・・・浮動小数点演算制御回路60・・・・・
・・・・ロード/ストア制御回路70・・・・・・・・
・メモリ制御回路80・・・・・・・・・主メモリ 90・・・・・・・・・浮動小数点演算回路。
30・・・・・・・・・浮動小数点演算データロード/
ストア命令用パイプライン 40・・・・・・・・・パイプライン制御回路50・・
・・・・・・・浮動小数点演算制御回路60・・・・・
・・・・ロード/ストア制御回路70・・・・・・・・
・メモリ制御回路80・・・・・・・・・主メモリ 90・・・・・・・・・浮動小数点演算回路。
Claims (1)
- 複数の命令を同時に得、これを解析してデコード情報
を生成する命令デコーダと、命令デコーダを介してデコ
ード情報を受けとり、これが浮動小数点演算命令であれ
ばパイプライン内にこの情報を格納する浮動小数点パイ
プラインと、命令デコーダを介してデコード情報を受け
とり、これがデータのロード/ストア命令であればパイ
プライン内にこの情報を格納するロード/ストア命令用
パイプラインと、命令デコーダからデコード情報を受け
とり、複数命令を同時に実行できるか否かをチェックし
、後に実行すべき命令が格納されている上記の各パイプ
ラインに制御情報を送出して実行の起動もしくはウェイ
トをかけるパイプライン制御回路とを具備し、浮動小数
点演算と浮動小数点データのロード/ストアを同時に実
行することを特徴とするマイクロプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2331038A JPH04205029A (ja) | 1990-11-29 | 1990-11-29 | マイクロプロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2331038A JPH04205029A (ja) | 1990-11-29 | 1990-11-29 | マイクロプロセッサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04205029A true JPH04205029A (ja) | 1992-07-27 |
Family
ID=18239142
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2331038A Pending JPH04205029A (ja) | 1990-11-29 | 1990-11-29 | マイクロプロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04205029A (ja) |
-
1990
- 1990-11-29 JP JP2331038A patent/JPH04205029A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5027272A (en) | Method and apparatus for performing double precision vector operations on a coprocessor | |
| ES8603095A1 (es) | Una disposicion de arquitectura de linea general interna para una instalacion de calculo electronico digital de alta velocidad | |
| JPH04205029A (ja) | マイクロプロセッサ | |
| WO1988004452A1 (fr) | Unite de traitement possedant au moins un coprocesseur | |
| US6134642A (en) | Direct memory access (DMA) data transfer requiring no processor DMA support | |
| JPH09212448A (ja) | 情報処理システム | |
| JP2539436B2 (ja) | プロセツサ間通信方式 | |
| JPS62135038A (ja) | スレ−ブプロセツサのデ−タ通信方式 | |
| KR970002412B1 (ko) | 디엠에이(dma)가 가능한 통신코프러세서 보드 | |
| JPS63104166A (ja) | 並列プロセッサのプロセッサ間データ転送装置 | |
| KR19990038069U (ko) | 메모리가변방식의 디엠에이 콘트롤러 | |
| JPH0573263A (ja) | データ処理装置 | |
| JPS61224063A (ja) | デ−タ転送制御装置 | |
| JPS6041786B2 (ja) | 割込制御システム | |
| JPH05128279A (ja) | ワンチツプマイクロコンピユータ | |
| JPS63221452A (ja) | Mpu間通信方法 | |
| JPH0473183B2 (ja) | ||
| JPH02201569A (ja) | マイクロプロセッサ間通信方式 | |
| JPS58101336A (ja) | 高速情報伝送方式 | |
| JPS6124739B2 (ja) | ||
| JPS61151745A (ja) | 割込処理方式 | |
| JPH031234A (ja) | 情報処理装置 | |
| JPH04171565A (ja) | データ転送方式 | |
| JPS6261149A (ja) | 割り込み制御方式 | |
| JPS61202231A (ja) | マイクロプロセツサを有するデ−タ処理装置 |