JPH05334265A - 情報処理装置および情報処理方法 - Google Patents
情報処理装置および情報処理方法Info
- Publication number
- JPH05334265A JPH05334265A JP4139396A JP13939692A JPH05334265A JP H05334265 A JPH05334265 A JP H05334265A JP 4139396 A JP4139396 A JP 4139396A JP 13939692 A JP13939692 A JP 13939692A JP H05334265 A JPH05334265 A JP H05334265A
- Authority
- JP
- Japan
- Prior art keywords
- integer
- instructions
- instruction
- arithmetic
- floating point
- 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.)
- Withdrawn
Links
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 同時に複数の浮動小数点命令を実行すること
ができ、かつ同時に複数の整数命令を実行することので
きる情報処理装置の提供を目的としている。 【構成】 メモリ103 より読み出された2つの命令をデ
コードする命令デコーダ111 と、2つの浮動小数点命令
のデコード情報を別々に保持する2つのパイプライン11
4 、115 と、2つの整数命令の各デコード情報を別々に
保持する2つのパイプライン116 、117 と、各パイプラ
イン114 、115 に保持された各デコード情報から浮動小
数点命令を実行するために必要な各制御コードを生成し
てサブプロセッサ102 に出力する2つの浮動小数点演算
制御回路118 、119 と、各パイプライン116 、117 に保
持された各デコード情報から整数命令を実行するために
必要な各制御コードを生成して整数演算回路123 に出力
する2つの整数演算制御回路120 、121 とを具備し、サ
ブプロセッサ102 および整数演算回路123 にて複数の浮
動小数点命令および複数の整数命令をそれぞれ同時に実
行できるよう構成した。
ができ、かつ同時に複数の整数命令を実行することので
きる情報処理装置の提供を目的としている。 【構成】 メモリ103 より読み出された2つの命令をデ
コードする命令デコーダ111 と、2つの浮動小数点命令
のデコード情報を別々に保持する2つのパイプライン11
4 、115 と、2つの整数命令の各デコード情報を別々に
保持する2つのパイプライン116 、117 と、各パイプラ
イン114 、115 に保持された各デコード情報から浮動小
数点命令を実行するために必要な各制御コードを生成し
てサブプロセッサ102 に出力する2つの浮動小数点演算
制御回路118 、119 と、各パイプライン116 、117 に保
持された各デコード情報から整数命令を実行するために
必要な各制御コードを生成して整数演算回路123 に出力
する2つの整数演算制御回路120 、121 とを具備し、サ
ブプロセッサ102 および整数演算回路123 にて複数の浮
動小数点命令および複数の整数命令をそれぞれ同時に実
行できるよう構成した。
Description
【0001】
【産業上の利用分野】この発明は、主プロセッサに浮動
小数点演算用のサブプロセッサを接続してなる情報処理
装置および情報処理方法に関する。
小数点演算用のサブプロセッサを接続してなる情報処理
装置および情報処理方法に関する。
【0002】
【従来の技術】従来からの主プロセッサに浮動小数点演
算用のサブプロセッサを接続してなる情報処理装置の構
成を図7に示す。同図において、1は主プロセッサ、2
はこの主プロセッサ1の制御下で浮動小数点命令を実行
するサブプロセッサとしての浮動小数点演算回路、3は
主プロセッサ1およびサブプロセッサ2で実行する命令
やデータを格納する主メモリである。主プロセッサ1は
メモリ制御回路10、命令デコーダ11、パイプライン
制御回路12、浮動小数点演算用パイプライン13、ロ
ード/ストア用パイプライン14、整数演算用パイプラ
イン15、浮動小数点演算制御回路16、ロード/スト
ア制御回路17、整数演算制御回路18、整数演算用レ
ジスタ19、および整数演算回路20を有する。
算用のサブプロセッサを接続してなる情報処理装置の構
成を図7に示す。同図において、1は主プロセッサ、2
はこの主プロセッサ1の制御下で浮動小数点命令を実行
するサブプロセッサとしての浮動小数点演算回路、3は
主プロセッサ1およびサブプロセッサ2で実行する命令
やデータを格納する主メモリである。主プロセッサ1は
メモリ制御回路10、命令デコーダ11、パイプライン
制御回路12、浮動小数点演算用パイプライン13、ロ
ード/ストア用パイプライン14、整数演算用パイプラ
イン15、浮動小数点演算制御回路16、ロード/スト
ア制御回路17、整数演算制御回路18、整数演算用レ
ジスタ19、および整数演算回路20を有する。
【0003】メモリ制御回路10は主プロセッサ1と主
メモリ3またはI/0ボート(図示せず)との間におけ
るデータの入出力を制御する。命令デコーダ11はメモ
リ制御回路10を通じて主メモリ3より読み込んだ命令
をデコードして命令実行に必要な制御情報を生成する。
パイプライン制御回路12は浮動小数点演算用パイプラ
イン13、ロード/ストア用パイプライン14および整
数演算用パイプライン15の制御を行う。浮動小数点演
算用パイプライン13は命令デコーダ11で得た浮動小
数点演算命令の制御情報をパイプライン構造で蓄積す
る。ロード/ストア用パイプライン14は命令デコーダ
11で得たロード/ストア命令の制御情報をパイプライ
ン構造で蓄積する。整数演算用パイプライン15は命令
デコーダ11で得た整数演算命令の制御情報をパイプラ
イン構造で蓄積する。浮動小数点演算制御回路16は浮
動小数点演算用パイプライン13より取り出した浮動小
数点演算命令の制御情報からサブプロセッサ2にて浮動
小数点演算命令を実行するために必要な制御コードを生
成する。ロード/ストア制御回路17はロード/ストア
用パイプライン14より取り出したロード/ストア命令
の制御情報に基づき、整数演算用レジスタ19または浮
動小数点演算回路2内の浮動小数点演算用レジスタ(図
示せず)に対するデータのロード/ストアを制御する。
整数演算制御回路18は整数演算用パイプライン15よ
り取り出した整数演算命令の制御情報から整数演算回路
20にて整数演算命令を実行するために必要な制御コー
ドを生成する。そして整数演算回路20は整数演算制御
回路18より入力した制御コードに基づいて整数演算を
実行し、演算結果を整数演算用レジスタ19に格納す
る。次にこの情報処理装置の動作を説明する。メモリ制
御回路10は主メモリ3から1つまたは2つの命令を読
出して命令デコーダ11に送る。命令デコーダ11は入
力した命令をデコードして命令実行に必要な制御情報を
生成する。
メモリ3またはI/0ボート(図示せず)との間におけ
るデータの入出力を制御する。命令デコーダ11はメモ
リ制御回路10を通じて主メモリ3より読み込んだ命令
をデコードして命令実行に必要な制御情報を生成する。
パイプライン制御回路12は浮動小数点演算用パイプラ
イン13、ロード/ストア用パイプライン14および整
数演算用パイプライン15の制御を行う。浮動小数点演
算用パイプライン13は命令デコーダ11で得た浮動小
数点演算命令の制御情報をパイプライン構造で蓄積す
る。ロード/ストア用パイプライン14は命令デコーダ
11で得たロード/ストア命令の制御情報をパイプライ
ン構造で蓄積する。整数演算用パイプライン15は命令
デコーダ11で得た整数演算命令の制御情報をパイプラ
イン構造で蓄積する。浮動小数点演算制御回路16は浮
動小数点演算用パイプライン13より取り出した浮動小
数点演算命令の制御情報からサブプロセッサ2にて浮動
小数点演算命令を実行するために必要な制御コードを生
成する。ロード/ストア制御回路17はロード/ストア
用パイプライン14より取り出したロード/ストア命令
の制御情報に基づき、整数演算用レジスタ19または浮
動小数点演算回路2内の浮動小数点演算用レジスタ(図
示せず)に対するデータのロード/ストアを制御する。
整数演算制御回路18は整数演算用パイプライン15よ
り取り出した整数演算命令の制御情報から整数演算回路
20にて整数演算命令を実行するために必要な制御コー
ドを生成する。そして整数演算回路20は整数演算制御
回路18より入力した制御コードに基づいて整数演算を
実行し、演算結果を整数演算用レジスタ19に格納す
る。次にこの情報処理装置の動作を説明する。メモリ制
御回路10は主メモリ3から1つまたは2つの命令を読
出して命令デコーダ11に送る。命令デコーダ11は入
力した命令をデコードして命令実行に必要な制御情報を
生成する。
【0004】ここで、命令が浮動小数点演算命令である
場合、命令デコーダ11で得た制御情報は浮動小数点演
算用パイプライン13に入力され保持される。また命令
が整数演算用レジスタ19または浮動小数点演算用レジ
スタに対するロード/ストア命令の場合、制御情報はロ
ード/ストア用パイプライン14に入力され保持され
る。さらに命令が整数演算命令の場合、制御情報は整数
演算用パイプライン15に入力され保持される。
場合、命令デコーダ11で得た制御情報は浮動小数点演
算用パイプライン13に入力され保持される。また命令
が整数演算用レジスタ19または浮動小数点演算用レジ
スタに対するロード/ストア命令の場合、制御情報はロ
ード/ストア用パイプライン14に入力され保持され
る。さらに命令が整数演算命令の場合、制御情報は整数
演算用パイプライン15に入力され保持される。
【0005】この間、パイプライン制御回路12は各パ
イプライン13、14、15の情報を1段ずつ進める制
御を行い、必要に応じて同一パイプライン上の各命令を
正しい順序で実行するためのパイプライン制御を行う。
イプライン13、14、15の情報を1段ずつ進める制
御を行い、必要に応じて同一パイプライン上の各命令を
正しい順序で実行するためのパイプライン制御を行う。
【0006】ここで浮動小数点演算制御回路16、ロー
ド/ストア制御回路17および整数演算制御回路18は
それぞれ、浮動小数点演算用パイプライン13、ロード
/ストア用パイプライン14、整数演算用パイプライン
15に保持された情報に基づきそれぞれ並列的に動作す
ることが可能である。
ド/ストア制御回路17および整数演算制御回路18は
それぞれ、浮動小数点演算用パイプライン13、ロード
/ストア用パイプライン14、整数演算用パイプライン
15に保持された情報に基づきそれぞれ並列的に動作す
ることが可能である。
【0007】すなわち、浮動小数点演算制御回路16は
浮動小数点演算用パイプライン13より取り出した浮動
小数点演算命令の制御情報から、浮動小数点演算回路2
にて浮動小数点命令を実行するために必要な制御コード
を生成し、この制御コードを浮動小数点演算回路2に送
る。この制御コートを基に、浮動小数点演算回路2にて
浮動小数点演算が実行される。
浮動小数点演算用パイプライン13より取り出した浮動
小数点演算命令の制御情報から、浮動小数点演算回路2
にて浮動小数点命令を実行するために必要な制御コード
を生成し、この制御コードを浮動小数点演算回路2に送
る。この制御コートを基に、浮動小数点演算回路2にて
浮動小数点演算が実行される。
【0008】一方、ロード/ストア制御回路17はロー
ド/ストア用パイプライン14より取り出したロード/
ストア命令の制御情報に基づき、整数演算用レジスタ1
9または浮動小数点演算回路2内の浮動小数点演算用レ
ジスタと主メモリ3またはI/Oポート(図示せず)と
の間におけるデータのロード/ストアを行う。なお、こ
こでロードは主メモリ3から送られてきたデータを整数
演算用レジスタ19または浮動小数点演算用レジスタに
転送する処理を指す。また、ストアは主メモリ3に整数
演算用レジスタ19または浮動小数点演算用レジスタの
データを転送する処理を指す。
ド/ストア用パイプライン14より取り出したロード/
ストア命令の制御情報に基づき、整数演算用レジスタ1
9または浮動小数点演算回路2内の浮動小数点演算用レ
ジスタと主メモリ3またはI/Oポート(図示せず)と
の間におけるデータのロード/ストアを行う。なお、こ
こでロードは主メモリ3から送られてきたデータを整数
演算用レジスタ19または浮動小数点演算用レジスタに
転送する処理を指す。また、ストアは主メモリ3に整数
演算用レジスタ19または浮動小数点演算用レジスタの
データを転送する処理を指す。
【0009】さらに整数演算制御回路18は整数演算用
パイプライン15より取り出した整数演算命令の制御情
報から、整数演算回路20にて整数演算命令を実行する
ために必要な制御コードを生成し、この制御コードを整
数演算回路20に送る。整数演算回路20は整数演算制
御回路18より入力した制御コードに基づいて整数演算
を実行する。このとき整数演算回路20は整数演算用レ
ジスタ19に対してデータのリード/ライトを行うこと
によって演算を実行する。
パイプライン15より取り出した整数演算命令の制御情
報から、整数演算回路20にて整数演算命令を実行する
ために必要な制御コードを生成し、この制御コードを整
数演算回路20に送る。整数演算回路20は整数演算制
御回路18より入力した制御コードに基づいて整数演算
を実行する。このとき整数演算回路20は整数演算用レ
ジスタ19に対してデータのリード/ライトを行うこと
によって演算を実行する。
【0010】しかしながら、この情報処理装置では、浮
動小数点演算命令、ロード/ストア命令、および整数演
算命令をそれぞれ1つずつしか実行することができな
い。例えば、図8に示すように、浮動小数点演算回路2
において浮動小数点演算命令(F)の前後にいくつもの
ロード命令(LD)とストア命令(ST)が続いた場
合、ロード命令(LD)およびストア命令(ST)はそ
れぞれ1つずつしか実行されない。このため命令の実行
速度を向上させることができなかった。
動小数点演算命令、ロード/ストア命令、および整数演
算命令をそれぞれ1つずつしか実行することができな
い。例えば、図8に示すように、浮動小数点演算回路2
において浮動小数点演算命令(F)の前後にいくつもの
ロード命令(LD)とストア命令(ST)が続いた場
合、ロード命令(LD)およびストア命令(ST)はそ
れぞれ1つずつしか実行されない。このため命令の実行
速度を向上させることができなかった。
【0011】
【発明が解決しようとする課題】本発明はこのような課
題を解決するためのもので、同時に複数の浮動小数点命
令を実行することができ、かつ同時に複数の整数命令を
実行することのできる情報処理装置および情報処理方法
の提供を目的としている。
題を解決するためのもので、同時に複数の浮動小数点命
令を実行することができ、かつ同時に複数の整数命令を
実行することのできる情報処理装置および情報処理方法
の提供を目的としている。
【0012】
【課題を解決するための手段】本発明の情報処理装置は
上記した目的を達成するために、整数命令である整数演
算命令および整数データのロード/ストア命令を実行す
る主プロセッサに、浮動小数点命令である浮動小数点演
算命令および浮動小数点データのロード/ストア命令を
実行するサブプロセッサと、前記主プロセッサおよび前
記サブプロセッサで実行する命令を記憶したメモリとを
接続してなる情報処理装置において、前記主プロセッサ
内に、前記メモリより複数の命令を読み出す手段と、前
記メモリより読み出された複数の命令をデコードして命
令実行に必要な各制御情報を出力するデコード手段と、
前記デコード手段より出力された浮動小数点命令の各制
御情報をそれぞれ別々に保持する複数の第1情報保持手
段と、前記デコード手段より出力された整数命令の各制
御情報をそれぞれ別々に保持する複数の第2情報保持手
段と、前記複数の第1情報保持手段にそれぞれ保持され
た制御情報に基づき前記サブプロセッサにて複数の浮動
小数点命令を同時に実行するよう制御を行う手段と、前
記複数の第2情報保持手段にそれぞれ保持された制御情
報に基づき前記主プロセッサにて複数の整数命令を同時
に実行するよう制御を行う手段とを具備している。
上記した目的を達成するために、整数命令である整数演
算命令および整数データのロード/ストア命令を実行す
る主プロセッサに、浮動小数点命令である浮動小数点演
算命令および浮動小数点データのロード/ストア命令を
実行するサブプロセッサと、前記主プロセッサおよび前
記サブプロセッサで実行する命令を記憶したメモリとを
接続してなる情報処理装置において、前記主プロセッサ
内に、前記メモリより複数の命令を読み出す手段と、前
記メモリより読み出された複数の命令をデコードして命
令実行に必要な各制御情報を出力するデコード手段と、
前記デコード手段より出力された浮動小数点命令の各制
御情報をそれぞれ別々に保持する複数の第1情報保持手
段と、前記デコード手段より出力された整数命令の各制
御情報をそれぞれ別々に保持する複数の第2情報保持手
段と、前記複数の第1情報保持手段にそれぞれ保持され
た制御情報に基づき前記サブプロセッサにて複数の浮動
小数点命令を同時に実行するよう制御を行う手段と、前
記複数の第2情報保持手段にそれぞれ保持された制御情
報に基づき前記主プロセッサにて複数の整数命令を同時
に実行するよう制御を行う手段とを具備している。
【0013】
【作用】本発明では、メモリより複数の命令を読み出し
てこれらをデコードした後、命令が浮動小数点演算命令
または浮動小数点データのロード/ストア命令等の浮動
小数点命令である場合は、デコードした複数の制御情報
を浮動小数点演算・ロード/ストア用パイプライン等の
複数の第1情報保持手段にそれぞれ別々に格納する。ま
た同様に、命令が整数演算命令または整数データのロー
ド/ストア命令等の整数命令である場合は、デコードし
た複数の制御情報を整数演算・ロード/ストア用パイプ
ライン等の複数の第2情報保持手段にそれぞれ別々に格
納する。
てこれらをデコードした後、命令が浮動小数点演算命令
または浮動小数点データのロード/ストア命令等の浮動
小数点命令である場合は、デコードした複数の制御情報
を浮動小数点演算・ロード/ストア用パイプライン等の
複数の第1情報保持手段にそれぞれ別々に格納する。ま
た同様に、命令が整数演算命令または整数データのロー
ド/ストア命令等の整数命令である場合は、デコードし
た複数の制御情報を整数演算・ロード/ストア用パイプ
ライン等の複数の第2情報保持手段にそれぞれ別々に格
納する。
【0014】この後、複数の第1情報保持手段に保持さ
れた各制御情報から、サブプロセッサにて浮動小数点命
令を実行するために必要な各制御コードをそれぞれ生成
してサブプロセッサに送る。これにより、ブプロセッサ
にて複数の浮動小数点命令が同時に実行される。
れた各制御情報から、サブプロセッサにて浮動小数点命
令を実行するために必要な各制御コードをそれぞれ生成
してサブプロセッサに送る。これにより、ブプロセッサ
にて複数の浮動小数点命令が同時に実行される。
【0015】さらに複数の第2情報保持手段に保持され
た各制御情報から、主プロセッサにて整数命令を実行す
るために必要な各制御コードをそれぞれ生成して主プロ
セッサに送る。これにより、主プロセッサにて複数の整
数命令が同時に実行される。
た各制御情報から、主プロセッサにて整数命令を実行す
るために必要な各制御コードをそれぞれ生成して主プロ
セッサに送る。これにより、主プロセッサにて複数の整
数命令が同時に実行される。
【0016】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1は本発明に係る一実施例の情報処理装置の構
成を説明するためのブロック図である。同図において、
101は整数演算命令および整数データのロード/スト
ア命令等の整数命令を実行可能な主プロセッサである。
102はこの主プロセッサ101の制御下で、浮動小数
点演算命令および浮動小数点データのロード/ストア命
令等の浮動小数点命令を実行するサブプロセッサとして
の浮動小数点演算回路である。103は主プロセッサ1
01および浮動小数点演算回路102で実行する命令や
データを格納する主メモリである。
する。図1は本発明に係る一実施例の情報処理装置の構
成を説明するためのブロック図である。同図において、
101は整数演算命令および整数データのロード/スト
ア命令等の整数命令を実行可能な主プロセッサである。
102はこの主プロセッサ101の制御下で、浮動小数
点演算命令および浮動小数点データのロード/ストア命
令等の浮動小数点命令を実行するサブプロセッサとして
の浮動小数点演算回路である。103は主プロセッサ1
01および浮動小数点演算回路102で実行する命令や
データを格納する主メモリである。
【0017】主プロセッサ101はメモリ制御回路11
0、命令デコーダ111、パイプライン制御回路11
2、第1の浮動小数点演算・ロード/ストア用パイプラ
イン114、第2の浮動小数点演算・ロード/ストア用
パイプライン115、第1の整数演算・ロード/ストア
用パイプライン116、第2の整数演算・ロード/スト
ア用パイプライン117、第1の浮動小数点演算制御回
路118、第2の浮動小数点演算制御回路119、第1
の整数演算制御回路120、第2の整数演算制御回路1
21、整数演算用レジスタ122、および整数演算回路
123を有する。メモリ制御回路110は主プロセッサ
101と主メモリ103またはI/0ボート(図示せ
ず)との間におけるデータの入出力を制御する。
0、命令デコーダ111、パイプライン制御回路11
2、第1の浮動小数点演算・ロード/ストア用パイプラ
イン114、第2の浮動小数点演算・ロード/ストア用
パイプライン115、第1の整数演算・ロード/ストア
用パイプライン116、第2の整数演算・ロード/スト
ア用パイプライン117、第1の浮動小数点演算制御回
路118、第2の浮動小数点演算制御回路119、第1
の整数演算制御回路120、第2の整数演算制御回路1
21、整数演算用レジスタ122、および整数演算回路
123を有する。メモリ制御回路110は主プロセッサ
101と主メモリ103またはI/0ボート(図示せ
ず)との間におけるデータの入出力を制御する。
【0018】命令デコーダ111はメモリ制御回路11
0を通じて主メモリ103より読み込んだ1つまたは2
つの命令をデコードして命令実行に必要な制御情報を生
成する。
0を通じて主メモリ103より読み込んだ1つまたは2
つの命令をデコードして命令実行に必要な制御情報を生
成する。
【0019】パイプライン制御回路112は各浮動小数
点演算・ロード/ストア用パイプライン114、115
および各整数演算・ロード/ストア用パイプライン11
6、117の制御を行う。すなわちこのパイプライン制
御回路112は、各パイプライン114、115、11
6、117の保持情報を同一パイプライン上の次の段に
転送したり、同時に入力された2つの命令が同時に実行
できない場合、後から実行すべき命令の実行にウェイト
をかけて各命令の実行タイミングに時間差を持たせるな
どのパイプライン制御を行う。
点演算・ロード/ストア用パイプライン114、115
および各整数演算・ロード/ストア用パイプライン11
6、117の制御を行う。すなわちこのパイプライン制
御回路112は、各パイプライン114、115、11
6、117の保持情報を同一パイプライン上の次の段に
転送したり、同時に入力された2つの命令が同時に実行
できない場合、後から実行すべき命令の実行にウェイト
をかけて各命令の実行タイミングに時間差を持たせるな
どのパイプライン制御を行う。
【0020】各浮動小数点演算・ロード/ストア用パイ
プライン114、115はそれぞれ命令デコーダ111
で得た浮動小数点演算命令および浮動小数点データのロ
ード/ストア命令の制御情報をそれぞれ混在を許してパ
イプライン構造で蓄積する。各整数演算・ロード/スト
ア用パイプライン116、117はそれぞれ命令デコー
ダ111で得た整数演算命令および整数データのロード
/ストア命令の制御情報をそれぞれ混在を許してパイプ
ライン構造で蓄積する。
プライン114、115はそれぞれ命令デコーダ111
で得た浮動小数点演算命令および浮動小数点データのロ
ード/ストア命令の制御情報をそれぞれ混在を許してパ
イプライン構造で蓄積する。各整数演算・ロード/スト
ア用パイプライン116、117はそれぞれ命令デコー
ダ111で得た整数演算命令および整数データのロード
/ストア命令の制御情報をそれぞれ混在を許してパイプ
ライン構造で蓄積する。
【0021】各浮動小数点演算制御回路118、119
はそれぞれ、各浮動小数点演算・ロード/ストア用パイ
プライン114、115より取り出した浮動小数点演算
命令またはロード/ストア命令の制御情報から、浮動小
数点演算回路102にて浮動小数点演算および浮動小数
点演算用レジスタ(図示せず)に対する浮動小数点デー
タのロード/ストアを実行するために必要な制御コード
を生成する。
はそれぞれ、各浮動小数点演算・ロード/ストア用パイ
プライン114、115より取り出した浮動小数点演算
命令またはロード/ストア命令の制御情報から、浮動小
数点演算回路102にて浮動小数点演算および浮動小数
点演算用レジスタ(図示せず)に対する浮動小数点デー
タのロード/ストアを実行するために必要な制御コード
を生成する。
【0022】各整数演算制御回路120、121はそれ
ぞれ、整数演算・ロード/ストア用パイプライン11
6、117より取り出した整数演算命令またはロード/
ストア命令の制御情報から、整数演算回路123にて整
数演算および整数演算用レジスタ122に対する整数デ
ータのロード/ストアを実行するために必要な制御コー
ドを生成する。
ぞれ、整数演算・ロード/ストア用パイプライン11
6、117より取り出した整数演算命令またはロード/
ストア命令の制御情報から、整数演算回路123にて整
数演算および整数演算用レジスタ122に対する整数デ
ータのロード/ストアを実行するために必要な制御コー
ドを生成する。
【0023】整数演算回路123は各整数演算制御回路
120、121より入力した制御コードに基づいて整数
演算および整数演算用レジスタ122に対する整数デー
タのロード/ストアを実行する。但しロード/ストアは
並列的に実行可能である。
120、121より入力した制御コードに基づいて整数
演算および整数演算用レジスタ122に対する整数デー
タのロード/ストアを実行する。但しロード/ストアは
並列的に実行可能である。
【0024】また以上各構成部の間の接続において、2
11は命令デコーダ111で得た制御情報をパイプライ
ン制御回路112へ伝達するための信号線である。パイ
プライン制御回路112はこの信号線211より得た制
御情報に基づき各パイプライン114、115、11
6、117の制御を実行する。
11は命令デコーダ111で得た制御情報をパイプライ
ン制御回路112へ伝達するための信号線である。パイ
プライン制御回路112はこの信号線211より得た制
御情報に基づき各パイプライン114、115、11
6、117の制御を実行する。
【0025】212は命令デコーダ111で得た浮動小
数点命令の制御情報を第1の浮動小数点演算・ロード/
ストア用パイプライン114へ伝達するための信号線で
ある。主メモリ103より読み出された命令が1つの場
合、制御情報はこの信号線212を通して第1の浮動小
数点演算・ロード/ストア用パイプライン114へのみ
送られる。
数点命令の制御情報を第1の浮動小数点演算・ロード/
ストア用パイプライン114へ伝達するための信号線で
ある。主メモリ103より読み出された命令が1つの場
合、制御情報はこの信号線212を通して第1の浮動小
数点演算・ロード/ストア用パイプライン114へのみ
送られる。
【0026】213は命令デコーダ111で得た浮動小
数点命令の制御情報を第2の浮動小数点演算・ロード/
ストア用パイプライン115へ伝達するための信号線で
ある。同時に2つの命令が主メモリ103より読み出さ
れた場合、この信号線213を通して第2の浮動小数点
演算・ロード/ストア用パイプライン115にも制御情
報が送られる。
数点命令の制御情報を第2の浮動小数点演算・ロード/
ストア用パイプライン115へ伝達するための信号線で
ある。同時に2つの命令が主メモリ103より読み出さ
れた場合、この信号線213を通して第2の浮動小数点
演算・ロード/ストア用パイプライン115にも制御情
報が送られる。
【0027】214は命令デコーダ111で得た整数命
令の制御情報を第1の整数演算・ロード/ストアパイプ
ライン116へ伝達するための信号線である。主メモリ
103より読み出された命令が1つの場合、制御情報は
この信号線214を通して第1の整数演算・ロード/ス
トア用パイプライン116へのみ送られる。
令の制御情報を第1の整数演算・ロード/ストアパイプ
ライン116へ伝達するための信号線である。主メモリ
103より読み出された命令が1つの場合、制御情報は
この信号線214を通して第1の整数演算・ロード/ス
トア用パイプライン116へのみ送られる。
【0028】215は命令デコーダ111で得た整数命
令の制御情報を第2の整数演算・ロード/ストアパイプ
ライン117へ伝達するための信号線である。同時に2
つの命令が主メモリ103より読み出された場合、この
信号線215を通して第2の整数演算・ロード/ストア
用パイプライン117にも制御情報が送られる。
令の制御情報を第2の整数演算・ロード/ストアパイプ
ライン117へ伝達するための信号線である。同時に2
つの命令が主メモリ103より読み出された場合、この
信号線215を通して第2の整数演算・ロード/ストア
用パイプライン117にも制御情報が送られる。
【0029】216はパイプライン制御回路112から
各パイプライン114、115、116、117に制御
信号を送るための信号線である。この信号線216を通
して各パイプライン114、115、116、117の
保持情報を一段ずつ進めるためのイネーブル信号や命令
実行にウェイトをかけるウェイト信号等が送られる。2
17は第1の浮動小数点演算・ロード/ストア用パイプ
ライン114に保持された制御情報を第1の浮動小数点
演算制御回路118へ伝達するための信号線である。
各パイプライン114、115、116、117に制御
信号を送るための信号線である。この信号線216を通
して各パイプライン114、115、116、117の
保持情報を一段ずつ進めるためのイネーブル信号や命令
実行にウェイトをかけるウェイト信号等が送られる。2
17は第1の浮動小数点演算・ロード/ストア用パイプ
ライン114に保持された制御情報を第1の浮動小数点
演算制御回路118へ伝達するための信号線である。
【0030】218は第2の浮動小数点演算・ロード/
ストア用パイプライン115に保持された制御情報を第
2の浮動小数点演算制御回路119へ伝達するための信
号線である。
ストア用パイプライン115に保持された制御情報を第
2の浮動小数点演算制御回路119へ伝達するための信
号線である。
【0031】219は第1の整数演算・ロード/ストア
用パイプライン116に保持された制御情報を第1の整
数演算制御回路120へ伝達するための信号線である。
用パイプライン116に保持された制御情報を第1の整
数演算制御回路120へ伝達するための信号線である。
【0032】220は第2の整数演算・ロード/ストア
用パイプライン117に保持された制御情報を第2の整
数演算制御回路121に伝達するための信号線である。
用パイプライン117に保持された制御情報を第2の整
数演算制御回路121に伝達するための信号線である。
【0033】221は第1の浮動小数点演算制御回路1
18の制御下で浮動小数点演算回路102にてロード/
ストア命令を実行する際、第1の浮動小数点演算制御回
路118からメモリ制御回路110にロード/ストア実
行のための制御信号を送るための信号線である。
18の制御下で浮動小数点演算回路102にてロード/
ストア命令を実行する際、第1の浮動小数点演算制御回
路118からメモリ制御回路110にロード/ストア実
行のための制御信号を送るための信号線である。
【0034】222はメモリ制御回路110と第1の浮
動小数点演算制御回路118との間でロード/ストアデ
ータの授受を行うためのデータバスである。
動小数点演算制御回路118との間でロード/ストアデ
ータの授受を行うためのデータバスである。
【0035】223は第1の浮動小数点演算制御回路1
18で生成した制御コードを浮動小数点演算回路102
へ伝達するための信号線である。
18で生成した制御コードを浮動小数点演算回路102
へ伝達するための信号線である。
【0036】224は第1の浮動小数点演算制御回路1
18と浮動小数点演算回路102との間でロード/スト
アデータの授受を行うためのデータバスである。
18と浮動小数点演算回路102との間でロード/スト
アデータの授受を行うためのデータバスである。
【0037】231は第2の浮動小数点演算制御回路1
19の制御下で浮動小数点演算回路102にてロード/
ストア命令を実行する際、第2の浮動小数点演算制御回
路119からメモリ制御回路110にロード/ストア実
行のための制御信号を送るための信号線である。
19の制御下で浮動小数点演算回路102にてロード/
ストア命令を実行する際、第2の浮動小数点演算制御回
路119からメモリ制御回路110にロード/ストア実
行のための制御信号を送るための信号線である。
【0038】232はメモリ制御回路110と第2の浮
動小数点演算制御回路119との間でロード/ストアデ
ータの授受を行うためのデータバスである。
動小数点演算制御回路119との間でロード/ストアデ
ータの授受を行うためのデータバスである。
【0039】233は第2の浮動小数点演算制御回路1
19で生成した制御コードを浮動小数点演算回路102
へ送るための信号線である。
19で生成した制御コードを浮動小数点演算回路102
へ送るための信号線である。
【0040】234は第2の浮動小数点演算制御回路1
19と浮動小数点演算回路102との間でロード/スト
アデータの授受を行うためのデータバスである。
19と浮動小数点演算回路102との間でロード/スト
アデータの授受を行うためのデータバスである。
【0041】241は第1の整数演算制御回路120の
制御下で整数演算回路123にてロード/ストア命令を
実行する際、第1の整数演算制御回路120からメモリ
制御回路110にロード/ストア実行のための制御信号
を伝達するための信号線である。
制御下で整数演算回路123にてロード/ストア命令を
実行する際、第1の整数演算制御回路120からメモリ
制御回路110にロード/ストア実行のための制御信号
を伝達するための信号線である。
【0042】242はメモリ制御回路110と第1の整
数演算制御回路120との間でロード/ストアデータの
授受を行うためのデータバスである。
数演算制御回路120との間でロード/ストアデータの
授受を行うためのデータバスである。
【0043】243は整数演算用レジスタ122に保持
された整数演算結果を第1の整数演算制御回路120に
送るための信号線である。
された整数演算結果を第1の整数演算制御回路120に
送るための信号線である。
【0044】244は第1の整数演算制御回路120で
生成した制御コードを整数演算回路123へ送るための
信号線である。
生成した制御コードを整数演算回路123へ送るための
信号線である。
【0045】251は第2の整数演算制御回路121の
制御下で整数演算回路123にてロード/ストア命令を
実行する際、第2の整数演算制御回路120からメモリ
制御回路110にロード/ストア実行のための制御信号
を送るための信号線である。252はメモリ制御回路1
10と第2の整数演算制御回路121との間でロード/
ストアデータの授受を行うためのデータバスである。
制御下で整数演算回路123にてロード/ストア命令を
実行する際、第2の整数演算制御回路120からメモリ
制御回路110にロード/ストア実行のための制御信号
を送るための信号線である。252はメモリ制御回路1
10と第2の整数演算制御回路121との間でロード/
ストアデータの授受を行うためのデータバスである。
【0046】253は整数演算用レジスタ122に保持
された整数演算結果を第2の整数演算制御回路121に
送るための信号線である。
された整数演算結果を第2の整数演算制御回路121に
送るための信号線である。
【0047】254は第2の整数演算制御回路121で
生成した制御コードを整数演算回路123へ送るための
信号線である。
生成した制御コードを整数演算回路123へ送るための
信号線である。
【0048】また図示は省略したが、浮動小数点演算回
路102は浮動小数点演算用のレジスタを有し、浮動小
数点演算の実行と共に、浮動小数点演算用レジスタに対
する浮動小数点データのロード/ストアを実行する。但
しロード/ストアは並列に実行可能である。
路102は浮動小数点演算用のレジスタを有し、浮動小
数点演算の実行と共に、浮動小数点演算用レジスタに対
する浮動小数点データのロード/ストアを実行する。但
しロード/ストアは並列に実行可能である。
【0049】次にこの情報処理装置の動作を説明する。
図2は各パイプラインに情報を入力する手順を示すフロ
ーチャートである。
図2は各パイプラインに情報を入力する手順を示すフロ
ーチャートである。
【0050】まずメモリ制御回路110は主メモリ10
3から1つまたは2つの命令を読出して命令デコーダ1
11に送る(ステップ201)。
3から1つまたは2つの命令を読出して命令デコーダ1
11に送る(ステップ201)。
【0051】命令デコーダ111は入力した1つまたは
2つの命令をデコードして命令実行に必要な制御情報を
生成する(ステップ202)。
2つの命令をデコードして命令実行に必要な制御情報を
生成する(ステップ202)。
【0052】ここで、命令が整数命令つまり整数演算命
令あるいは整数演算用レジスタ122に対する整数デー
タのロード/ストア命令かどうかを判断する(ステップ
203)。
令あるいは整数演算用レジスタ122に対する整数デー
タのロード/ストア命令かどうかを判断する(ステップ
203)。
【0053】この結果“YES”の場合、命令デコーダ
111で生成された制御情報は整数演算・ロード/スト
ア用パイプライン116、117に入力される。但しこ
のとき命令が1つの場合は、一方のパイプライン例えば
第1の整数演算・ロード/ストア用パイプライン116
にのみ制御情報を入力する(ステップ204、20
5)。また命令が2つの場合は各整数演算・ロード/ス
トア用パイプライン116、117にそれぞれ制御情報
を入力する(ステップ204、206)。
111で生成された制御情報は整数演算・ロード/スト
ア用パイプライン116、117に入力される。但しこ
のとき命令が1つの場合は、一方のパイプライン例えば
第1の整数演算・ロード/ストア用パイプライン116
にのみ制御情報を入力する(ステップ204、20
5)。また命令が2つの場合は各整数演算・ロード/ス
トア用パイプライン116、117にそれぞれ制御情報
を入力する(ステップ204、206)。
【0054】また“NO”の場合、すなわち命令が浮動
小数点演算命令あるいは浮動小数点演算用レジスタに対
するデータのロード/ストア命令の場合は、命令デコー
ダ111で生成された制御情報は浮動小数点演算・ロー
ド/ストア用パイプライン114、115に入力され
る。但しこのとき、命令が1つの場合は、一方のパイプ
ライン例えば第1の浮動小数点演算・ロード/ストア用
パイプライン114にのみ制御情報を入力する(ステッ
プ207、208)。また命令が2つの場合は各浮動小
数点演算・ロード/ストア用パイプライン114、11
5にそれぞれ制御情報を入力する(ステップ207、2
09)。
小数点演算命令あるいは浮動小数点演算用レジスタに対
するデータのロード/ストア命令の場合は、命令デコー
ダ111で生成された制御情報は浮動小数点演算・ロー
ド/ストア用パイプライン114、115に入力され
る。但しこのとき、命令が1つの場合は、一方のパイプ
ライン例えば第1の浮動小数点演算・ロード/ストア用
パイプライン114にのみ制御情報を入力する(ステッ
プ207、208)。また命令が2つの場合は各浮動小
数点演算・ロード/ストア用パイプライン114、11
5にそれぞれ制御情報を入力する(ステップ207、2
09)。
【0055】図3は2つの命令を2つのパイプラインに
入力する場合の様子を示している。同図における1から
4の番号は命令の読み込まれた順番を示し、番号1と番
号2の命令、番号3と番号4の命令はそれぞれ主メモリ
103より同時に読み出された命令である。このように
パイプラインの各段に保持された命令は1Tの時間周期
で次々に次の段に運ばれる。
入力する場合の様子を示している。同図における1から
4の番号は命令の読み込まれた順番を示し、番号1と番
号2の命令、番号3と番号4の命令はそれぞれ主メモリ
103より同時に読み出された命令である。このように
パイプラインの各段に保持された命令は1Tの時間周期
で次々に次の段に運ばれる。
【0056】このときパイプライン制御回路112は、
同時に読み込んだ2つの命令(例えば番号1と番号2の
命令、番号3と番号4の命令)が同時に実行できないも
のであることを判断すると、2つの命令のうち後で実行
すべき命令が保持されている側のパイプラインに信号線
216を通じてウェイト信号を送り、当該命令の実行に
ウェイトをかける。
同時に読み込んだ2つの命令(例えば番号1と番号2の
命令、番号3と番号4の命令)が同時に実行できないも
のであることを判断すると、2つの命令のうち後で実行
すべき命令が保持されている側のパイプラインに信号線
216を通じてウェイト信号を送り、当該命令の実行に
ウェイトをかける。
【0057】例えば、2つの命令の1つとして浮動小数
点加算命令が第1の浮動小数点演算・ロード/ストア用
パイプライン114に格納され、もう1つとしてロード
命令が第2の浮動小数点演算・ロード/ストア用パイプ
ライン115に格納されているとする。ここで浮動小数
点加算命令の実行で使用するソースとロード命令のディ
スティネーションとが一致し、かつ浮動小数点加算命令
がロード命令より前のアドレスに格納してあった場合
は、浮動小数点加算命令の実行後にロード命令を実行し
なくてはならない。したがって、この場合、パイプライ
ン制御回路112は第2の浮動小数点演算・ロード/ス
トア用パイプライン115にウェイト信号を送ってこれ
に格納されているロード命令の実行にウェイトをかけ
る。
点加算命令が第1の浮動小数点演算・ロード/ストア用
パイプライン114に格納され、もう1つとしてロード
命令が第2の浮動小数点演算・ロード/ストア用パイプ
ライン115に格納されているとする。ここで浮動小数
点加算命令の実行で使用するソースとロード命令のディ
スティネーションとが一致し、かつ浮動小数点加算命令
がロード命令より前のアドレスに格納してあった場合
は、浮動小数点加算命令の実行後にロード命令を実行し
なくてはならない。したがって、この場合、パイプライ
ン制御回路112は第2の浮動小数点演算・ロード/ス
トア用パイプライン115にウェイト信号を送ってこれ
に格納されているロード命令の実行にウェイトをかけ
る。
【0058】図4は浮動小数点演算・ロード/ストア用
パイプライン114、115の情報に基づいて浮動小数
点命令を実行するときの手順を示すフローチャートであ
る。各浮動小数点演算制御回路118、119はそれぞ
れ浮動小数点演算・ロード/ストア用パイプライン11
4、115より制御情報の読み込みを行う(ステップ4
01)。
パイプライン114、115の情報に基づいて浮動小数
点命令を実行するときの手順を示すフローチャートであ
る。各浮動小数点演算制御回路118、119はそれぞ
れ浮動小数点演算・ロード/ストア用パイプライン11
4、115より制御情報の読み込みを行う(ステップ4
01)。
【0059】ここで各浮動小数点演算・ロード/ストア
用パイプライン114、115より計2つの制御情報が
読み込まれた場合(ステップ402)、各浮動小数点演
算制御回路118、119は自身が読み込んだ制御情報
から浮動小数点演算回路102にて浮動小数点演算命令
または浮動小数点演算用レジスタに対する浮動小数点デ
ータのロード/ストア命令を実行するために必要な制御
コードをそれぞれ生成する(ステップ403)。
用パイプライン114、115より計2つの制御情報が
読み込まれた場合(ステップ402)、各浮動小数点演
算制御回路118、119は自身が読み込んだ制御情報
から浮動小数点演算回路102にて浮動小数点演算命令
または浮動小数点演算用レジスタに対する浮動小数点デ
ータのロード/ストア命令を実行するために必要な制御
コードをそれぞれ生成する(ステップ403)。
【0060】こうして各浮動小数点演算制御回路11
8、119にて同時に生成された2つの制御コードは浮
動小数点演算回路102に送出され(ステップ40
4)、これにより浮動小数点演算回路102にて2つの
浮動小数点命令が同時に実行される(ステップ40
5)。
8、119にて同時に生成された2つの制御コードは浮
動小数点演算回路102に送出され(ステップ40
4)、これにより浮動小数点演算回路102にて2つの
浮動小数点命令が同時に実行される(ステップ40
5)。
【0061】また読み込まれた制御情報が1つだけの場
合(ステップ402)、第1の浮動小数点演算制御回路
118は自身が読み込んだ制御情報から浮動小数点演算
回路202にて浮動小数点演算命令または浮動小数点演
算用レジスタに対する浮動小数点データのロード/スト
ア命令を実行するために必要な制御コードを生成する
(ステップ406)。
合(ステップ402)、第1の浮動小数点演算制御回路
118は自身が読み込んだ制御情報から浮動小数点演算
回路202にて浮動小数点演算命令または浮動小数点演
算用レジスタに対する浮動小数点データのロード/スト
ア命令を実行するために必要な制御コードを生成する
(ステップ406)。
【0062】第1の浮動小数点演算制御回路118にて
生成された制御コードは浮動小数点演算回路102に送
出され(ステップ407)、これにより浮動小数点演算
回路102にて1つの浮動小数点命令だけが実行される
(ステップ408)。
生成された制御コードは浮動小数点演算回路102に送
出され(ステップ407)、これにより浮動小数点演算
回路102にて1つの浮動小数点命令だけが実行される
(ステップ408)。
【0063】この後、終了命令が実行されるまで(ステ
ップ409、410)、以上の動作が繰り返される。
ップ409、410)、以上の動作が繰り返される。
【0064】図5は各整数演算・ロード/ストア用パイ
プライン116、117の情報に基づいて整数命令を実
行するときの手順を示すフローチャートである。
プライン116、117の情報に基づいて整数命令を実
行するときの手順を示すフローチャートである。
【0065】各整数演算制御回路120、121はそれ
ぞれ各整数演算・ロード/ストア用パイプライン11
6、117より制御情報の読み込みを行う(ステップ5
01)。 ここで各整数演算・ロード/ストア用パイプ
ライン116、117より計2つの制御情報が読み込ま
れた場合(ステップ502)、各整数演算制御回路12
0、121は自身が読み込んだ制御情報から整数演算回
路123にて整数演算命令または整数演算用レジスタ1
22に対する整数データのロード/ストア命令を実行す
るために必要な制御コードをそれぞれ生成する(ステッ
プ503)。
ぞれ各整数演算・ロード/ストア用パイプライン11
6、117より制御情報の読み込みを行う(ステップ5
01)。 ここで各整数演算・ロード/ストア用パイプ
ライン116、117より計2つの制御情報が読み込ま
れた場合(ステップ502)、各整数演算制御回路12
0、121は自身が読み込んだ制御情報から整数演算回
路123にて整数演算命令または整数演算用レジスタ1
22に対する整数データのロード/ストア命令を実行す
るために必要な制御コードをそれぞれ生成する(ステッ
プ503)。
【0066】こうして各整数演算制御回路120、12
1にて同時に生成された2つの制御コードは整数演算回
路123に送出され(ステップ504)、これにより整
数演算回路123にて2つの整数命令が同時に実行され
る(ステップ505)。
1にて同時に生成された2つの制御コードは整数演算回
路123に送出され(ステップ504)、これにより整
数演算回路123にて2つの整数命令が同時に実行され
る(ステップ505)。
【0067】また読み込まれた制御情報が1つだけの場
合(ステップ502)、第1の整数演算制御回路120
は自身が読み込んだ制御情報から整数演算回路123に
て整数演算命令または整数演算用レジスタ122に対す
る整数データのロード/ストア命令を実行するために必
要な制御コードを生成する(ステップ506)。
合(ステップ502)、第1の整数演算制御回路120
は自身が読み込んだ制御情報から整数演算回路123に
て整数演算命令または整数演算用レジスタ122に対す
る整数データのロード/ストア命令を実行するために必
要な制御コードを生成する(ステップ506)。
【0068】第1の整数演算制御回路120にて生成さ
れた制御コードは整数演算回路123に送出され(ステ
ップ507)、これにより整数演算回路123にて1つ
の整数命令だけが実行される(ステップ508)。
れた制御コードは整数演算回路123に送出され(ステ
ップ507)、これにより整数演算回路123にて1つ
の整数命令だけが実行される(ステップ508)。
【0069】この後、終了命令が実行されるまで(ステ
ップ509、510)、以上の動作が繰り返される。
ップ509、510)、以上の動作が繰り返される。
【0070】図6は本実施例における浮動小数点演算回
路102上での浮動小数点命令の実行時間を従来例と比
較して示す図である。同図において、LDはロード命
令、STはストア命令、Fは浮動小数点演算命令であ
る。このように本装置では、同時に2つの浮動小数点命
令つまり演算命令、ロード命令およびストア命令の中か
ら選ばれる2つの命令を実行することが可能である。し
たがって、従来と比較してほぼ半分の時間でまたまった
数の命令を実行することができる。また、主プロセッサ
101内の整数演算回路123上での整数命令の実行に
関しても同様に、従来と比較してほぼ半分の時間でまた
まった数の命令を実行することができる。
路102上での浮動小数点命令の実行時間を従来例と比
較して示す図である。同図において、LDはロード命
令、STはストア命令、Fは浮動小数点演算命令であ
る。このように本装置では、同時に2つの浮動小数点命
令つまり演算命令、ロード命令およびストア命令の中か
ら選ばれる2つの命令を実行することが可能である。し
たがって、従来と比較してほぼ半分の時間でまたまった
数の命令を実行することができる。また、主プロセッサ
101内の整数演算回路123上での整数命令の実行に
関しても同様に、従来と比較してほぼ半分の時間でまた
まった数の命令を実行することができる。
【0071】なお、本実施例では、2つの浮動小数点命
令および整数命令を同時に実行できるよう構成したが、
3つ以上の命令を同時に実行できるよう構成しても構わ
ない。 さらに、浮動小数点命令か整数生命のいずれか
一方のみを複数同時に実行できるような構成としてもよ
い。
令および整数命令を同時に実行できるよう構成したが、
3つ以上の命令を同時に実行できるよう構成しても構わ
ない。 さらに、浮動小数点命令か整数生命のいずれか
一方のみを複数同時に実行できるような構成としてもよ
い。
【0072】
【発明の効果】以上説明したように本発明の情報処理装
置および情報処理方法によれば、同時に複数の浮動小数
点命令を実行でき、かつ同時に複数の整数命令も実行可
能である。したがって、見掛け上の命令実行速度の向上
を図れる。
置および情報処理方法によれば、同時に複数の浮動小数
点命令を実行でき、かつ同時に複数の整数命令も実行可
能である。したがって、見掛け上の命令実行速度の向上
を図れる。
【図1】本発明に係る一実施例の情報処理装置の構成を
説明するためのブロック図である。
説明するためのブロック図である。
【図2】図1における各パイプラインに制御情報を入力
する手順を示すフローチャートである。
する手順を示すフローチャートである。
【図3】2つの命令を同時に2つのパイプラインに入力
する場合の様子を示す図である。
する場合の様子を示す図である。
【図4】浮動小数点演算・ロード/ストア用パイプライ
ンの情報に基づいて浮動小数点命令を実行するときの手
順を示すフローチャートである。
ンの情報に基づいて浮動小数点命令を実行するときの手
順を示すフローチャートである。
【図5】整数演算・ロード/ストア用パイプラインの情
報に基づいて整数命令を実行するときの手順を示すフロ
ーチャートである。
報に基づいて整数命令を実行するときの手順を示すフロ
ーチャートである。
【図6】本実施例における浮動小数点演算回路上での浮
動小数点命令の実行時間を従来例と比較して示す図であ
る。
動小数点命令の実行時間を従来例と比較して示す図であ
る。
【図7】従来からの主プロセッサに浮動小数点演算用の
サブプロセッサを接続してなる情報処理装置の構成を示
すブロック図である。
サブプロセッサを接続してなる情報処理装置の構成を示
すブロック図である。
【図8】従来の情報処理装置において実行される浮動小
数点命令列の一例を示す図である。
数点命令列の一例を示す図である。
101…主プロセッサ、102…浮動小数点演算回路、
103…主メモリ、110…メモリ制御回路、111…
命令デコーダ、112…パイプライン制御回路、114
…第1の浮動小数点演算・ロード/ストア用パイプライ
ン、115…第2の浮動小数点演算・ロード/ストア用
パイプライン、116…第1の整数演算・ロード/スト
ア用パイプライン、117…第2の整数演算・ロード/
ストア用パイプライン、118…第1の浮動小数点演算
制御回路、119…第2の浮動小数点演算制御回路、1
20…第1の整数演算制御回路、121…第2の整数演
算制御回路、122…整数演算用レジスタ、123…整
数演算回路。
103…主メモリ、110…メモリ制御回路、111…
命令デコーダ、112…パイプライン制御回路、114
…第1の浮動小数点演算・ロード/ストア用パイプライ
ン、115…第2の浮動小数点演算・ロード/ストア用
パイプライン、116…第1の整数演算・ロード/スト
ア用パイプライン、117…第2の整数演算・ロード/
ストア用パイプライン、118…第1の浮動小数点演算
制御回路、119…第2の浮動小数点演算制御回路、1
20…第1の整数演算制御回路、121…第2の整数演
算制御回路、122…整数演算用レジスタ、123…整
数演算回路。
Claims (3)
- 【請求項1】 整数命令である整数演算命令および整数
データのロード/ストア命令を実行する主プロセッサ
に、浮動小数点命令である浮動小数点演算命令および浮
動小数点データのロード/ストア命令を実行するサブプ
ロセッサと、前記主プロセッサおよび前記サブプロセッ
サで実行する命令を記憶したメモリとを接続してなる情
報処理装置において、 前記主プロセッサ内に、前記メモリより複数の命令を読
み出す手段と、前記メモリより読み出された複数の命令
をデコードして命令実行に必要な各制御情報を出力する
デコード手段と、前記デコード手段より出力された浮動
小数点命令の各制御情報をそれぞれ別々に保持する複数
の第1情報保持手段と、前記デコード手段より出力され
た整数命令の各制御情報をそれぞれ別々に保持する複数
の第2情報保持手段と、前記複数の第1情報保持手段に
それぞれ保持された制御情報に基づき前記サブプロセッ
サにて複数の浮動小数点命令を同時に実行するよう制御
を行う手段と、前記複数の第2情報保持手段にそれぞれ
保持された制御情報に基づき前記主プロセッサにて複数
の整数命令を同時に実行するよう制御を行う手段とを具
備することを特徴とする情報処理装置。 - 【請求項2】 整数命令である整数演算命令および整数
データのロード/ストア命令を実行する主プロセッサ
に、浮動小数点命令である浮動小数点演算命令および浮
動小数点データのロード/ストア命令を実行するサブプ
ロセッサと、前記主プロセッサおよび前記サブプロセッ
サで実行する命令を記憶したメモリとを接続してなる情
報処理装置において、 前記主プロセッサ内に、前記メモリより複数の命令を同
時に読み出すメモリ制御回路と、前記メモリ制御回路よ
り読み出された複数の命令をデコードして命令実行に必
要な各制御情報を出力する命令デコーダと、この命令デ
コーダより出力された浮動小数点命令の各制御情報をそ
れぞれ別々にパイプライン構造で保持する複数の浮動小
数点演算・ロード/ストア用パイプラインと、前記命令
デコーダより出力された整数命令の各制御情報をそれぞ
れ別々にパイプライン構造で保持する複数の整数演算・
ロード/ストア用パイプラインと、前記複数の浮動小数
点演算・ロード/ストア用パイプラインに保持された各
制御情報から前記サブプロセッサにて浮動小数点命令を
実行するために必要な各制御コードをそれぞれ生成して
前記サブプロセッサに出力する複数の浮動小数点演算制
御回路と、整数命令を実行する整数演算回路と、前記複
数の整数演算・ロード/ストア用パイプラインに保持さ
れた各制御情報から前記整数演算回路にて整数命令を実
行するために必要な各制御コードをそれぞれ生成して前
記整数演算回路に出力する複数の整数演算制御回路とを
具備し、前記サブプロセッサおよび前記整数演算回路に
て複数の浮動小数点命令および複数の整数命令をそれぞ
れ同時に実行できるよう構成してなることを特徴とする
情報処理装置。 - 【請求項3】 整数命令である整数演算命令および整数
データのロード/ストア命令を実行する主プロセッサ
に、浮動小数点命令である浮動小数点演算命令および浮
動小数点データのロード/ストア命令を実行するサブプ
ロセッサと、前記主プロセッサおよび前記サブプロセッ
サで実行する命令を記憶したメモリとを接続してなる情
報処理装置において、 前記メモリより複数の命令を同時に読み出す工程と、 読み出された複数の命令をそれぞれデコードして命令実
行に必要な制御情報を出力する工程と、 前記複数の命令がそれぞれ浮動小数点命令の場合、これ
ら浮動小数点命令の制御情報を複数の浮動小数点演算・
ロード/ストア用パイプラインに別々に格納する工程
と、 前記複数の命令がそれぞれ整数命令の場合、これら整数
命令の制御情報を複数の整数演算・ロード/ストア用パ
イプラインに別々に格納する工程と、 前記複数の浮動小数点演算・ロード/ストア用パイプラ
インに保持された各制御情報から、前記サブプロセッサ
にて浮動小数点命令を実行するために必要な各制御コー
ドをそれぞれ生成する第1の制御コード生成工程と、 前記複数の整数演算・ロード/ストア用パイプラインに
保持された各制御情報から、前記主プロセッサ内の整数
演算回路にて整数命令を実行するために必要な各制御コ
ードをそれぞれ生成する第2の制御コード生成工程と、 前記第1の制御コード生成工程にて生成された各制御コ
ードに基づいて前記サブプロセッサにて複数の浮動小数
点命令を同時に実行する工程と、 前記第2の制御コード生成工程にて生成された各制御コ
ードに基づいて前記主プロセッサの整数演算回路にて複
数の整数命令を同時に実行する工程とを有することを特
徴とする情報処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4139396A JPH05334265A (ja) | 1992-05-29 | 1992-05-29 | 情報処理装置および情報処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4139396A JPH05334265A (ja) | 1992-05-29 | 1992-05-29 | 情報処理装置および情報処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05334265A true JPH05334265A (ja) | 1993-12-17 |
Family
ID=15244312
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4139396A Withdrawn JPH05334265A (ja) | 1992-05-29 | 1992-05-29 | 情報処理装置および情報処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05334265A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7711925B2 (en) | 1999-12-27 | 2010-05-04 | Fujitsu Limited | Information-processing device with transaction processor for executing subset of instruction set where if transaction processor cannot efficiently execute the instruction it is sent to general-purpose processor via interrupt |
-
1992
- 1992-05-29 JP JP4139396A patent/JPH05334265A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7711925B2 (en) | 1999-12-27 | 2010-05-04 | Fujitsu Limited | Information-processing device with transaction processor for executing subset of instruction set where if transaction processor cannot efficiently execute the instruction it is sent to general-purpose processor via interrupt |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7366874B2 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| EP0213842A2 (en) | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor | |
| JPS633337B2 (ja) | ||
| JP3237858B2 (ja) | 演算装置 | |
| US4773035A (en) | Pipelined data processing system utilizing ideal floating point execution condition detection | |
| US6760836B2 (en) | Apparatus for issuing an instruction to a suitable issue destination | |
| US20110264892A1 (en) | Data processing device | |
| US5142630A (en) | System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching | |
| US7134000B2 (en) | Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information | |
| JPH05334265A (ja) | 情報処理装置および情報処理方法 | |
| JP2933848B2 (ja) | データ処理装置 | |
| JP2772100B2 (ja) | 並列命令フェッチ機構 | |
| JP2933560B2 (ja) | 多重パイプラインを有する情報処理装置 | |
| JP2843844B2 (ja) | 並列演算処理装置 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JPH06337785A (ja) | 情報処理装置およびその命令実行制御方法 | |
| US20050228970A1 (en) | Processing unit with cross-coupled alus/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention | |
| US20060015704A1 (en) | Operation apparatus and instruction code executing method | |
| US6983360B2 (en) | Program loading mechanism through a single input data path | |
| JPH052485A (ja) | パイプライン制御方式 | |
| JPH05241832A (ja) | 情報処理装置および情報処理方法 | |
| JP2000181714A (ja) | 命令制御装置 | |
| JPH0348535B2 (ja) | ||
| JPH05341995A (ja) | プロセッサにおける命令制御方法及びプロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990803 |