JPH06110687A - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法

Info

Publication number
JPH06110687A
JPH06110687A JP26128992A JP26128992A JPH06110687A JP H06110687 A JPH06110687 A JP H06110687A JP 26128992 A JP26128992 A JP 26128992A JP 26128992 A JP26128992 A JP 26128992A JP H06110687 A JPH06110687 A JP H06110687A
Authority
JP
Japan
Prior art keywords
instruction
floating
floating point
execution
store
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
Application number
JP26128992A
Other languages
English (en)
Inventor
Yuuko Hagiwara
夕子 萩原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP26128992A priority Critical patent/JPH06110687A/ja
Publication of JPH06110687A publication Critical patent/JPH06110687A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 浮動小数点演算命令と浮動小数点ロード/ス
トア命令とが同時に入力された場合の命令実行速度の向
上を図る。 【構成】 浮動小数点演算命令と浮動小数点ロード/ス
トア命令が同時にフェッチされた場合、浮動小数点演算
回路2上で各命令を同時に実行させ、命令実行時、浮動
小数点ロード/ストア命令に対するトラップが発生した
とき、浮動小数点演算命令の実行をキャンセルするよう
制御を行うFPUコントローラ16を設ける。すなわ
ち、浮動小数点演算命令の実行をトラップの発生を確認
できる時刻まで途中ステージで止めておくようなことは
せず、各命令の実行を基準クロックパネルに従って先へ
先へと進めて行く。そしてトラップが発生してはじめ
て、浮動小数点演算命令の実行をキャンセルする。これ
により命令実行速度の向上を図ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高速演算性能を有する
情報処理装置および情報処理方法に関する。
【0002】
【従来の技術】近年、演算速度の向上のため、パイプラ
インやキャッシュメモリ等を採用し、かつメモリに関す
る命令はロード命令とストア命令だけとした情報処理装
置の開発が盛んである。このような情報処理装置には、
整数演算用の主プロセッサに浮動小数点演算回路として
のサブプロセッサを接続した構造のものが多い。このよ
うな構造の情報処理装置では、同時に2つの命令をフェ
ッチして実行する場合がある。
【0003】図5は浮動小数点演算命令と浮動小数点ロ
ード/ストア命令とが同時に入力された場合のマイクロ
プロセッサ側およびFPUプロセッサ側における各命令
の実行タイミングを示す図である。
【0004】同図に示すように、この場合、浮動小数点
演算命令は、浮動小数点ロード/ストア命令に対するト
ラップの発生(例えばアドレス・ミス・アラインつまり
アドレス計算における誤り発生)の有無を確認できる時
刻まで、命令実行をFPUプロセッサ内部のQ0ステー
ジ(ディペンデェンシィ(dependency) ・チェックステ
ージ)で止めておく必要がある。
【0005】しかしながら、このように浮動小数点演算
命令の実行をQ0ステージで止めておくことは、高速演
算が目的のこの種の装置にとっては大変好ましくないこ
とであり、命令実行速度の低下につながる。
【0006】
【発明が解決しようとする課題】本発明はこのような課
題を解決するためのもので、浮動小数点演算命令と浮動
小数点ロード/ストア命令とが同時に発生しても、浮動
小数点演算命令を途中のステージで止めることなく実行
することができ、これにより命令実行速度の向上を図る
ことのできる情報処理装置および情報処理方法の提供を
目的とする。
【0007】
【課題を解決するための手段】本発明の情報処理装置は
上記した目的を達成するために、主プロセッサに、浮動
小数点演算命令および浮動小数点ロード/ストア命令を
同時実行可能なサブプロセッサを接続してなる情報処理
装置において、前記主プロセッサ内に、外部より命令を
フェッチする命令フェッチ手段と、前記命令フェッチ手
段により前記浮動小数点演算命令および前記浮動小数点
ロード/ストア命令が同時にフェッチされた場合、前記
サブプロセッサにてこれらの命令を同時に実行するよう
制御を行う制御手段と、前記浮動小数点演算命令および
前記浮動小数点ロード/ストア命令の同時実行中、前記
浮動小数点ロード/ストア命令の実行に関するトラップ
発生の検出を行うトラップ検出手段と、前記トラップ検
出手段によりトラップ発生が検出されたとき、前記サブ
プロセッサ上での前記浮動小数点演算命令の実行をキャ
ンセルする手段とを有してなることを特徴としている。
【0008】また本発明の情報処理方法は上記した目的
を達成するために、主プロセッサに、浮動小数点演算命
令および浮動小数点ロード/ストア命令を同時実行可能
なサブプロセッサを接続してなる情報処理装置におい
て、外部より浮動小数点演算命令および前記浮動小数点
ロード/ストア命令を同時にフェッチする工程と、前記
浮動小数点演算命令および前記浮動小数点ロード/スト
ア命令が同時にフェッチされた場合、前記サブプロセッ
サにてこれらの命令を同時に実行する工程と、前記浮動
小数点演算命令および前記浮動小数点ロード/ストア命
令の同時実行中、前記浮動小数点ロード/ストア命令の
実行に関するトラップ発生の検出を行う工程と、前記ト
ラップ発生が検出されたとき、前記サブプロセッサ上で
の前記浮動小数点演算命令の実行をキャンセルする工程
とを有することを特徴としている。
【0009】
【作用】すなわち本発明は、浮動小数点演算命令と浮動
小数点ロード/ストア命令が同時に入力された場合で
も、浮動小数点演算命令の実行をトラップの発生を確認
できる時刻まで途中ステージで止めておくようなことは
せず、各命令の実行を基準クロックパルルに従って先へ
先へと進めて行く。そして命令実行の途中で浮動小数点
ロード/ストア命令に対するトラップが発生してはじめ
て、浮動小数点演算命令の実行をキャンセルする。これ
により命令実行速度の向上を図ることができる。
【0010】
【実施例】以下、本発明の実施例を図面を参照しなから
説明する。
【0011】図1は本発明に係る一実施例の情報処理装
置の構成を説明するためのブロック図である。
【0012】同図において、1は主プロセッサであるマ
イクロプロセッサ(IU:integerunit)である。2は
このマイクロプロセッサ1の外部に接続され、浮動小数
点演算命令を実行するサブプロセッサとしての浮動小数
点演算回路(FPU:floating-point processing uni
t) である。3はマイクロプロセッサ1および浮動小数
点演算回路2で実行する命令やデータを格納する主メモ
リである。
【0013】マイクロプロセッサ1はメモリインタフェ
ース回路10、命令フェッチ回路11、デコード回路1
2、整数演算回路13、整数演算用レジスタ(汎用レジ
スタ)14、整数ロード/ストア制御回路15、および
FPUコントローラ16を有する。メモリインタフェー
ス回路10は、マイクロプロセッサ1と主メモリ3また
はI/0ポート(図示せず)との間における命令やデー
タの入出力を制御する。命令フェッチ回路11は、メモ
リインタフェース回路10を通じて主メモリ3またはI
/0ポートより命令をフェッチする。命令は1つまたは
2ずつフェッチされる。デコード回路12は、命令フェ
ッチ回路11によりフェッチされた命令をデコードす
る。整数演算回路13は、命令デコード回路12を通じ
て入力された整数演算命令のデコード情報を基に整数演
算命令を実行する。整数演算用レジスタ(汎用レジス
タ)14は、主メモリ3からロードされた、整数演算の
実行で用いられるデータや整数演算結果等を保持する。
整数ロード/ストア制御回路15は、命令デコード回路
12を通じて入力された整数ロード/ストア命令のデコ
ード情報を基に、整数演算用レジスタ14に対するデー
タのロード/ストアを制御する。FPUコントローラ1
6は、命令デコード回路12を通じて入力された浮動小
数点演算命令並びに浮動小数点ロード/ストア命令のデ
コード情報を基に、浮動小数点演算回路2上での浮動小
数点演算命令の実行、並びに浮動小数点演算回路2内の
図示しない浮動小数点演算用レジスタに対するデータの
ロード/ストアを制御する。
【0014】次にこの情報処理装置の動作を説明する。
命令フェッチ回路11はメモリインタフェース回路10
を通じ、主メモリ3またはI/0ポートより1つまたは
2つの命令を同時にフェッチしてデコード回路12に送
る。デコード回路12は取り込んだ命令をデコードし
て、本装置上にて命令を実行するために必要な制御コー
ドを生成する。
【0015】ここで、命令が整数演算命令である場合、
デコード情報は整数演算回路13に送られる。整数演算
回路13は入力したデコード情報を基に、既に整数演算
用レジスタ(汎用レジスタ)14に保持されているデー
タを用いて整数演算を行い、その結果を整数演算用レジ
スタ14に格納する。
【0016】また命令が整数ロード/ストア命令の場
合、デコード情報は整数ロード/ストア制御回路15に
送られる。これにより整数演算用レジスタ14と主メモ
リ3との間でのデータのロード/ストアが実行される。
【0017】さらに命令が浮動小数点演算命令若しくは
浮動小数点ロード/ストア命令の場合、デコード情報は
FPUコントローラ16に送られる。FPUコントロー
ラ16は入力したデコード情報を基に、浮動小数点演算
回路2上での浮動小数点演算、並びに浮動小数点演算用
レジスタに対するデータのロード/ストアを制御する。
これにより浮動小数点演算回路2上にて、浮動小数点演
算、並びに浮動小数点演算用レジスタと主メモリ3との
間におけるデータのロード/ストアが実行される。 次
に本実施例装置の特徴を表す動作として、浮動小数点演
算命令と浮動小数点ロード/ストア命令とが同時に入力
された場合の動作を説明する。
【0018】図2はFPUコントローラ16内部におけ
る各命令のデータパスを示す図である。同図に示すよう
に、FPUコントローラ16内部の浮動小数点演算命令
に対するパイプライン構造は、デコード回路12による
デコードステージの後に続くQ0からQ4の5つのステ
ージからなっている。ここで、Q0は浮動小数点演算命
令のデコード情報を基にディペンデェンシィ(dependen
cy) ・チェックすなわち当該命令が現在実行中の他の命
令の実行結果に依存する命令であるかどうかのチェック
を行うステージである。Q1は浮動小数点演算で用いる
オペランドのアドレス計算を行うステージである。Q2
はオペランドを浮動小数点演算用レジスタより取り出す
ステージである。Q3は取り出したオペランドを用いて
浮動小数点演算命令を実行するステージである。Q4は
浮動小数点演算結果を浮動小数点演算用レジスタに書き
込むステージである。
【0019】前記各ステージQ0〜Q4の処理は、それ
ぞれFPUコントローラ16内の各レジスタR0〜R4
に保持された情報に基づいて実行される。すなわち、レ
ジスタR0には浮動小数点演算命令のデコード情報が保
持される。レジスタR1にはディペンデェンシィ・チェ
ックの結果を示す値が保持される。レジスタR2にはQ
1ステージで求められたオペランドのアドレスが保持さ
れる。レジスタR3にはQ2ステージで浮動小数点演算
用レジスタより取り出されたオペランドが保持される。
レジスタR4にはQ3ステージで実行された浮動小数点
演算結果が保持される。
【0020】またFPUコントローラ16内部の浮動小
数点ロード/ストア命令に対するパイプライン構造は、
デコード回路12によるデコードステージの後に続くQ
0′とQ1′の2つのステージからなっている。ここ
で、Q0′は浮動小数点演算命令のデコード情報を基に
ロード/ストア対象アドレスの計算並びにデータアクセ
ス等を行うステージである。Q1′はアクセスしたデー
タを主メモリ3や浮動小数点演算用レジスタに書き込む
ステージである。
【0021】前記各ステージQ0′、Q1′の処理は、
それぞれFPUコントローラ16内の各レジスタR
0′、R1′に保持された情報に基づいて実行される。
すなわち、レジスタR0′には浮動小数点ロード/スト
ア命令のデコード情報が保持される。レジスタR1′に
は主メモリ3または浮動小数点演算用レジスタよりアク
セスしたデータが保持される。
【0022】図3は浮動小数点演算命令と浮動小数点ロ
ード/ストア命令とが同時に入力された場合の処理の流
れを示すフローチャート、図4はこの場合の各命令の実
行タイミングを示す図である。
【0023】本装置では、浮動小数点演算命令と浮動小
数点ロード/ストア命令とが同時に入力された場合、従
来方式のようにトラップが発生する時刻まで浮動小数点
演算命令の実行をQ0ステージで止めるようなことは行
わず、基準クロックパルスに従って各命令の各ステージ
の処理を先へ進めて行く(ステップ301)。
【0024】そして命令実行中、浮動小数点ロード/ス
トア命令に対するトラップが発生すると(ステップ30
2)、浮動小数点演算命令の実行をキャンセル、つまり
それまでのステージで得た浮動小数点演算命令の実行結
果(本例ではQ0ステージおよびQ1ステージの実行結
果)をキャンセルする(ステップ303)。
【0025】トラップ発生が検出されてから所定時間が
経過した後、同じ浮動小数点演算命令および浮動小数点
ロード/ストア命令の実行を、FPUコントローラ16
内の最初のステージQ0、Q0′から再開する(ステッ
プ301)。
【0026】この後、浮動小数点ロード/ストア命令に
対するトラップが発生しなければ、基準クロックパルス
に従って、浮動小数点演算命令および浮動小数点ロード
/ストア命令の実行をそれぞれ最後のステージQ4、Q
1′まで進めて行く。
【0027】かくして本実施例の情報処理装置によれ
ば、浮動小数点演算命令と浮動小数点ロード/ストア命
令とが同時に入力されても、浮動小数点演算命令を途中
のステージで止めることなく実行させることができ、こ
れにより命令実行速度の向上を図ることができる。
【0028】
【発明の効果】以上説明したように本発明の情報処理装
置および情報処理方法によれば、浮動小数点演算命令と
浮動小数点ロード/ストア命令とが同時に入力されて
も、浮動小数点演算命令を途中のステージで止めること
なく実行することができ、これにより命令実行速度の向
上を図ることができる。
【図面の簡単な説明】
【図1】本発明に係る一実施例の情報処理装置の構成を
説明するためのブロック図である。
【図2】図1におけるFPUコントローラ内部の浮動小
数点演算命令および浮動小数点ロード/ストア命令のデ
ータパスを示す図である。
【図3】図1の情報処理装置において浮動小数点演算命
令と浮動小数点ロード/ストア命令とが同時に入力され
た場合の処理の流れを示すフローチャートである。
【図4】図1の情報処理装置において浮動小数点演算命
令と浮動小数点ロード/ストア命令とが同時に入力され
た場合の各命令の実行タイミングを示す図である。
【図5】従来の情報処理装置において浮動小数点演算命
令と浮動小数点ロード/ストア命令とが同時に入力され
た場合の各命令の実行タイミングを示す図である。
【符号の説明】
1…マイクロプロセッサ、2…浮動小数点演算回路、3
…主メモリ、10…メモリインタフェース回路、11…
命令フェッチ回路、12…デコード回路、13…整数演
算回路、14…整数演算用レジスタ、15…整数ロード
/ストア制御回路、16…FPUコントローラ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 主プロセッサに、浮動小数点演算命令お
    よび浮動小数点ロード/ストア命令を同時実行可能なサ
    ブプロセッサを接続してなる情報処理装置において、 前記主プロセッサ内に、 外部より命令をフェッチする命令フェッチ手段と、 前記命令フェッチ手段により前記浮動小数点演算命令お
    よび前記浮動小数点ロード/ストア命令が同時にフェッ
    チされた場合、前記サブプロセッサにてこれらの命令を
    同時に実行するよう制御を行う制御手段と、 前記浮動小数点演算命令および前記浮動小数点ロード/
    ストア命令の同時実行中、前記浮動小数点ロード/スト
    ア命令の実行に関するトラップ発生の検出を行うトラッ
    プ検出手段と、 前記トラップ検出手段によりトラップ発生が検出された
    とき、前記サブプロセッサ上での前記浮動小数点演算命
    令の実行をキャンセルする手段と、 を有してなることを特徴とする情報処理装置。
  2. 【請求項2】 主プロセッサに、浮動小数点演算命令お
    よび浮動小数点ロード/ストア命令を同時実行可能なサ
    ブプロセッサを接続してなる情報処理装置において、 前記主プロセッサ内に、 外部より命令をフェッチする命令フェッチ回路と、 前記命令フェッチ回路によりフェッチされた命令をデコ
    ードするデコード回路と、 前記命令フェッチ回路により前記浮動小数点演算命令お
    よび前記浮動小数点ロード/ストア命令が同時にフェッ
    チされた場合、そのデコード情報を前記サブプロセッサ
    に送って前記各命令を同時に実行させ、命令実行時、前
    記浮動小数点ロード/ストア命令の実行に関するトラッ
    プが発生したとき、前記浮動小数点演算命令の実行をキ
    ャンセルするよう制御を行う浮動小数点コントローラ
    と、 を有してなることを特徴とする情報処理装置。
  3. 【請求項3】 主プロセッサに、浮動小数点演算命令お
    よび浮動小数点ロード/ストア命令を同時実行可能なサ
    ブプロセッサを接続してなる情報処理装置において、 外部より浮動小数点演算命令および前記浮動小数点ロー
    ド/ストア命令を同時にフェッチする工程と、 前記浮動小数点演算命令および前記浮動小数点ロード/
    ストア命令が同時にフェッチされた場合、前記サブプロ
    セッサにてこれらの命令を同時に実行する工程と、 前記浮動小数点演算命令および前記浮動小数点ロード/
    ストア命令の同時実行中、前記浮動小数点ロード/スト
    ア命令の実行に関するトラップ発生の検出を行う工程
    と、 前記トラップ発生が検出されたとき、前記サブプロセッ
    サ上での前記浮動小数点演算命令の実行をキャンセルす
    る工程とを有することを特徴とする情報処理方法。
JP26128992A 1992-09-30 1992-09-30 情報処理装置および情報処理方法 Withdrawn JPH06110687A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26128992A JPH06110687A (ja) 1992-09-30 1992-09-30 情報処理装置および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26128992A JPH06110687A (ja) 1992-09-30 1992-09-30 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
JPH06110687A true JPH06110687A (ja) 1994-04-22

Family

ID=17359738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26128992A Withdrawn JPH06110687A (ja) 1992-09-30 1992-09-30 情報処理装置および情報処理方法

Country Status (1)

Country Link
JP (1) JPH06110687A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100305467B1 (ko) * 1998-02-19 2001-09-26 포만 제프리 엘 파이프라인화된 부동 소수점 저장

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100305467B1 (ko) * 1998-02-19 2001-09-26 포만 제프리 엘 파이프라인화된 부동 소수점 저장

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5051896A (en) Apparatus and method for nullifying delayed slot instructions in a pipelined computer system
JP2858140B2 (ja) パイプラインプロセッサ装置および方法
US5303355A (en) Pipelined data processor which conditionally executes a predetermined looping instruction in hardware
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
US5469552A (en) Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions
JPH06266556A (ja) データ処理装置
US6044455A (en) Central processing unit adapted for pipeline process
JPH06110687A (ja) 情報処理装置および情報処理方法
JPH05241827A (ja) 命令バッファ制御装置
JP2531791B2 (ja) フエッチアクセス時の異常処理方法
JP3475861B2 (ja) データ処理装置
JP2944563B2 (ja) パイプライン型情報処理装置
JP2503223B2 (ja) 先行制御方式
JPS6247746A (ja) 割り込み制御方式
JPH07114509A (ja) メモリアクセス装置
JPH0248733A (ja) 情報処理装置
JP3476314B2 (ja) マイクロプロセッサ
JPH10154072A (ja) パイプライン処理装置
JP2597744B2 (ja) 分岐制御方法
JPH0774992B2 (ja) データ処理装置
JPH02206836A (ja) データ処理装置
JPS63206834A (ja) 命令制御におけるエラ−検出処理方式
JPH0715662B2 (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: 19991130