JPH0683636A - 浮動小数点演算装置 - Google Patents
浮動小数点演算装置Info
- Publication number
- JPH0683636A JPH0683636A JP4234488A JP23448892A JPH0683636A JP H0683636 A JPH0683636 A JP H0683636A JP 4234488 A JP4234488 A JP 4234488A JP 23448892 A JP23448892 A JP 23448892A JP H0683636 A JPH0683636 A JP H0683636A
- Authority
- JP
- Japan
- Prior art keywords
- floating point
- flag
- fpu
- floating
- unit
- 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
Abstract
(57)【要約】
【目的】 浮動小数点演算装置に関し,FPU制御方式
とソフトエミュレート方式を混在させ,FPUが故障し
た場合やFPUの診断を行う場合に自動的にソフトエミ
ュレート方式に切り替えることのできるようにすること
を目的とする。 【構成】 ハードウェアとマイクロプログラムによる浮
動小数点処理装置2と,浮動小数点処理装置2と同じ機
能を有するソフトウァアにより構成されたソフトエミュ
レータ3と,浮動小数点演算を浮動小数点処理装置2で
行うか,あるいはソフトエミュレータ3で行うかを定め
るフラグを保持するフラグ保持部5と,フラグ保持部5
のフラグを認識するフラグ認識処理部6とを備え,フラ
グの有無に応じて,浮動小数点処理装置2もしくはソフ
トエミュレータ3により浮動小数点処理を行う構成を持
つ。
とソフトエミュレート方式を混在させ,FPUが故障し
た場合やFPUの診断を行う場合に自動的にソフトエミ
ュレート方式に切り替えることのできるようにすること
を目的とする。 【構成】 ハードウェアとマイクロプログラムによる浮
動小数点処理装置2と,浮動小数点処理装置2と同じ機
能を有するソフトウァアにより構成されたソフトエミュ
レータ3と,浮動小数点演算を浮動小数点処理装置2で
行うか,あるいはソフトエミュレータ3で行うかを定め
るフラグを保持するフラグ保持部5と,フラグ保持部5
のフラグを認識するフラグ認識処理部6とを備え,フラ
グの有無に応じて,浮動小数点処理装置2もしくはソフ
トエミュレータ3により浮動小数点処理を行う構成を持
つ。
Description
【0001】
【産業上の利用分野】本発明は,浮動小数点演算装置に
関する。浮動小数点演算をハードウェアで行う場合に
は,浮動小数点演算装置(浮動小数点演算を制御するF
PU制御プログラム(マイクロプログラム)と浮動小数
点データを格納するレジスタにより構成される)を通常
の演算装置(CPU,CPU制御プログラム(マイクロ
プログラム)と汎用レジスタにより構成される)に付加
することにより行っていた。
関する。浮動小数点演算をハードウェアで行う場合に
は,浮動小数点演算装置(浮動小数点演算を制御するF
PU制御プログラム(マイクロプログラム)と浮動小数
点データを格納するレジスタにより構成される)を通常
の演算装置(CPU,CPU制御プログラム(マイクロ
プログラム)と汎用レジスタにより構成される)に付加
することにより行っていた。
【0002】また,ソフトウェアにより浮動小数点演算
装置(以後,FPUと称する)と同等の機能を持たせた
ソフトエミュレータにより通常の演算装置を用いて浮動
小数点演算を行う方法がある。
装置(以後,FPUと称する)と同等の機能を持たせた
ソフトエミュレータにより通常の演算装置を用いて浮動
小数点演算を行う方法がある。
【0003】
【従来の技術】図8は従来の技術を示す。(a)はFPU
制御のみにより構成される装置構成を示す。
制御のみにより構成される装置構成を示す。
【0004】図において,100はCPU0,101は
CPU1,102は主記憶装置,103はFPU0であ
って,浮動小数点演算制御装置である。110はCPU
制御プログラムであって,演算処理を行うものである。
111は汎用レジスタであって,CPU0の演算処理デ
ータを格納するものである。112は命令列であって,
CPU0(100),CPU1(101)の命令を処理
の順番に格納するものである。112’はOSの領域で
ある。113はデータ領域であって,演算データを格納
するものである。114はFPU制御プログラムであっ
て,浮動小数点処理の制御を行うマイクロプログラムで
ある。115は浮動小数点データ格納用レジスタであ
る。
CPU1,102は主記憶装置,103はFPU0であ
って,浮動小数点演算制御装置である。110はCPU
制御プログラムであって,演算処理を行うものである。
111は汎用レジスタであって,CPU0の演算処理デ
ータを格納するものである。112は命令列であって,
CPU0(100),CPU1(101)の命令を処理
の順番に格納するものである。112’はOSの領域で
ある。113はデータ領域であって,演算データを格納
するものである。114はFPU制御プログラムであっ
て,浮動小数点処理の制御を行うマイクロプログラムで
ある。115は浮動小数点データ格納用レジスタであ
る。
【0005】図の構成の動作は後述する(図9参照)。
(b)はソフトエミュレータ制御のみの装置構成を示す。
図において, (a)と共通な番号は同じ部分を示す。12
0はFPUエミュレート割込制御プログラムである。1
21はCPU0(100)用仮想レジスタ(EFR0 〜
EFRx)であって,浮動小数点データを格納する領域
(仮想レジスタ)である。122はCPU1(101)
用仮想レジスタである。
(b)はソフトエミュレータ制御のみの装置構成を示す。
図において, (a)と共通な番号は同じ部分を示す。12
0はFPUエミュレート割込制御プログラムである。1
21はCPU0(100)用仮想レジスタ(EFR0 〜
EFRx)であって,浮動小数点データを格納する領域
(仮想レジスタ)である。122はCPU1(101)
用仮想レジスタである。
【0006】図の構成の動作は後述する(図10参
照)。図9はFPU制御による場合の浮動小数点演算処
理を示す(図8 (a)の構成の動作説明図)である。図9
の説明において図8を参照する。
照)。図9はFPU制御による場合の浮動小数点演算処
理を示す(図8 (a)の構成の動作説明図)である。図9
の説明において図8を参照する。
【0007】図において,102は主記憶装置,110
はCPU制御プログラム,112は命令列,113はデ
ータ領域,114はFPU制御プログラムである。ま
た,図においては,汎用レジスタ,浮動小数点データ格
納用レジスタは省略されている。命令列112において
Aは通常命令であって,CPU制御プログラム110と
汎用レジスタ111により処理される命令である。Bは
FPU制御を伴う命令であって,FPU制御プログラム
114と浮動小数点データ格納用レジスタ115での処
理を必要とするものである。
はCPU制御プログラム,112は命令列,113はデ
ータ領域,114はFPU制御プログラムである。ま
た,図においては,汎用レジスタ,浮動小数点データ格
納用レジスタは省略されている。命令列112において
Aは通常命令であって,CPU制御プログラム110と
汎用レジスタ111により処理される命令である。Bは
FPU制御を伴う命令であって,FPU制御プログラム
114と浮動小数点データ格納用レジスタ115での処
理を必要とするものである。
【0008】GRm,GRnは汎用レジスタである(汎
用レジスタ111参照)。FRm,FRnは浮動小数点
データ格納用レジスタである(浮動小数点データ格納用
レジスタ115参照)。メモリ1〜メモリ4はデータ領
域113のメモリを表す。
用レジスタ111参照)。FRm,FRnは浮動小数点
データ格納用レジスタである(浮動小数点データ格納用
レジスタ115参照)。メモリ1〜メモリ4はデータ領
域113のメモリを表す。
【0009】図の命令コードの順に図8 (a)の構成の動
作を説明する。「LD GRn,メモリ1」によりメモ
リ1(データ領域113参照)からデータをリードし,
GRnにセットする。
作を説明する。「LD GRn,メモリ1」によりメモ
リ1(データ領域113参照)からデータをリードし,
GRnにセットする。
【0010】「ADD GRn,GRm」によりGRn
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
【0011】「FLD FRn,メモリ3」によりメモ
リ3からデータをリードし,そのデータをFRnにセッ
ト指示する。FPU制御プログラム114においてその
データがFRnにセットされる。
リ3からデータをリードし,そのデータをFRnにセッ
ト指示する。FPU制御プログラム114においてその
データがFRnにセットされる。
【0012】「FADD FRn,FRm」により,F
RnとFRmの加算を指示する。FPU制御プログラム
114はFRnにFRmを加算する。「FST メモリ
4,FRn」はFRnのリードを指示し,リードしたF
Rnのデータをメモリ4にライトする。
RnとFRmの加算を指示する。FPU制御プログラム
114はFRnにFRmを加算する。「FST メモリ
4,FRn」はFRnのリードを指示し,リードしたF
Rnのデータをメモリ4にライトする。
【0013】図10は,ソフトウェアシミュレート制御
による場合の浮動小数点演算処理を示す図である(図8
(b)の動作説明図である)。図10の説明において,図
8を参照する)。
による場合の浮動小数点演算処理を示す図である(図8
(b)の動作説明図である)。図10の説明において,図
8を参照する)。
【0014】図において,102は主記憶装置,110
はCPU制御プログラム,112は命令列,112’は
OS,113はデータ領域であって,メモリ1〜メモリ
4を含むものである。120はFPUエミュレート割込
制御プログラム,121は浮動小数点データを格納する
仮想レジスタである。また,図においては,汎用レジス
タは省略されている。命令列112においてAは通常命
令,BはFPU制御を伴う命令である。GRm,GRn
は汎用レジスタである(汎用レジスタ111参照)。E
FRnは仮想レジスタである(浮動小数点データを格納
する仮想レジスタ121を参照)。
はCPU制御プログラム,112は命令列,112’は
OS,113はデータ領域であって,メモリ1〜メモリ
4を含むものである。120はFPUエミュレート割込
制御プログラム,121は浮動小数点データを格納する
仮想レジスタである。また,図においては,汎用レジス
タは省略されている。命令列112においてAは通常命
令,BはFPU制御を伴う命令である。GRm,GRn
は汎用レジスタである(汎用レジスタ111参照)。E
FRnは仮想レジスタである(浮動小数点データを格納
する仮想レジスタ121を参照)。
【0015】図の命令列の命令コードの順に図8 (b)の
構成の動作を説明する。「LD GRn,メモリ1」に
よりメモリ1(データ領域113参照)からデータをリ
ードし,GRnにセットする。
構成の動作を説明する。「LD GRn,メモリ1」に
よりメモリ1(データ領域113参照)からデータをリ
ードし,GRnにセットする。
【0016】「ADD GRn,GRm」によりGRn
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
【0017】「FLD FRn,メモリ3」によりメモ
リ3からデータをリードし,そのデータをEFRnにセ
ットする。「FADD FRn,FRm」により,EF
RnとEFRmの加算を指示するエミュレート割り込み
をOS112’に指示する()。OS112’はFP
Uエミュレート割込制御プログラム120を起動する
()。FPUエミュレート割込制御プログラム120
はFST命令を実行する。
リ3からデータをリードし,そのデータをEFRnにセ
ットする。「FADD FRn,FRm」により,EF
RnとEFRmの加算を指示するエミュレート割り込み
をOS112’に指示する()。OS112’はFP
Uエミュレート割込制御プログラム120を起動する
()。FPUエミュレート割込制御プログラム120
はFST命令を実行する。
【0018】「FST メモリ4,FRn」によりEF
Rnのデータをメモリ4にライトする。
Rnのデータをメモリ4にライトする。
【0019】
【発明が解決しようとする課題】従来のFPU制御のみ
の装置構成でFPU制御装置が故障した場合には,浮動
小数点演算を行なうことが不可能になる。また,ソフト
エミュレート制御のみによる装置構成では,動作速度が
遅く性能的に十分なものではなかった。また,FPU制
御方式とソフトエミュレート方式の混在する方法もある
が,従来の装置ではFPUの取り付け,取り外しに初期
設定を必要としたり,システムの再立ち上げを必要とす
る等の煩わしい操作が必要とされた。
の装置構成でFPU制御装置が故障した場合には,浮動
小数点演算を行なうことが不可能になる。また,ソフト
エミュレート制御のみによる装置構成では,動作速度が
遅く性能的に十分なものではなかった。また,FPU制
御方式とソフトエミュレート方式の混在する方法もある
が,従来の装置ではFPUの取り付け,取り外しに初期
設定を必要としたり,システムの再立ち上げを必要とす
る等の煩わしい操作が必要とされた。
【0020】本発明は,FPU制御方式とソフトエミュ
レート方式を混在させ,システムが稼動中にFPUが故
障した場合や,FPUの診断を行う場合にシステムの再
立ち上げや対象プログラムの変更を行うことなくソフト
エミュレート方式に切り替えることのできる浮動小数点
演算装置を提供することを目的とする。
レート方式を混在させ,システムが稼動中にFPUが故
障した場合や,FPUの診断を行う場合にシステムの再
立ち上げや対象プログラムの変更を行うことなくソフト
エミュレート方式に切り替えることのできる浮動小数点
演算装置を提供することを目的とする。
【0021】
【課題を解決するための手段】本発明は,FPU制御装
置の未接続もしくは故障の検出部を設け,FPU制御装
置の未接続もしくは故障を検出した場合にはフラグをセ
ットし,フラグのセットの有無でFPU制御とソフトエ
ミュレート制御を自動的に切り替えるようにした。
置の未接続もしくは故障の検出部を設け,FPU制御装
置の未接続もしくは故障を検出した場合にはフラグをセ
ットし,フラグのセットの有無でFPU制御とソフトエ
ミュレート制御を自動的に切り替えるようにした。
【0022】図1は本発明の基本構成を示す。図におい
て,1は中央演算処理装置(CPU)であって,演算処
理およびシステムの制御を行うものである。2は浮動小
数点処理装置(FPU)であって,浮動小数点演算を処
理するファームウェアとレジスタ等により構成され浮動
小数点演算を行うものである。2は浮動小数点処理装置
(FPU)のエミュレータであって,メモリ上に浮動小
数点演算を行うための仮想レジスタを持ち,浮動小数点
処理装置2と同じ機能を持つようにしたものである。4
は未接続/故障検出部であって,浮動小数点処理装置2
の未接続もしくは故障を検出するものである。5はフラ
グ保持部であって,浮動小数点処理装置(FPU)2の
未接続もしくは故障の有無に応じたフラグを保持するも
のである(フラグは,例えば,主記憶装置2もしくはC
PU1の汎用レジスタ等に保持する)。6はフラグ認識
処理部であってフラグ保持部5のフラグの有無を認識す
るものである。7は外部入力手段であって,キーボード
等の外部装置からフラグセットを行うものである。
て,1は中央演算処理装置(CPU)であって,演算処
理およびシステムの制御を行うものである。2は浮動小
数点処理装置(FPU)であって,浮動小数点演算を処
理するファームウェアとレジスタ等により構成され浮動
小数点演算を行うものである。2は浮動小数点処理装置
(FPU)のエミュレータであって,メモリ上に浮動小
数点演算を行うための仮想レジスタを持ち,浮動小数点
処理装置2と同じ機能を持つようにしたものである。4
は未接続/故障検出部であって,浮動小数点処理装置2
の未接続もしくは故障を検出するものである。5はフラ
グ保持部であって,浮動小数点処理装置(FPU)2の
未接続もしくは故障の有無に応じたフラグを保持するも
のである(フラグは,例えば,主記憶装置2もしくはC
PU1の汎用レジスタ等に保持する)。6はフラグ認識
処理部であってフラグ保持部5のフラグの有無を認識す
るものである。7は外部入力手段であって,キーボード
等の外部装置からフラグセットを行うものである。
【0023】
【作用】図1の基本構成の動作を説明する。 (1) 浮動小数点処理装置(2) が未接続もしくは故障の
場合の動作。
場合の動作。
【0024】未接続/故障検出部4は浮動小数点処理装
置(FPU)2の未接続もしくは故障を検出するとフラ
グ保持部5にフラグをセットする。中央演算処理装置1
は,浮動小数点演算においてフラグ認識処理部6はフラ
グがセットされていないことを認識した場合には,浮動
小数点処理装置(FPU)2 において浮動小数点演算処
理を行う。また,フラグがセットされていることを認識
したは場合には中央演算処理装置(CPU)1はOSの
割り込み制御によりソフトエミュレータ3を起動し,浮
動小数点のロード/ストア/条件分岐等の処理は仮想レ
ジスタを用いて行うようにして,ソフトエミュレータ3
により浮動小数点演算処理を行うようにする。
置(FPU)2の未接続もしくは故障を検出するとフラ
グ保持部5にフラグをセットする。中央演算処理装置1
は,浮動小数点演算においてフラグ認識処理部6はフラ
グがセットされていないことを認識した場合には,浮動
小数点処理装置(FPU)2 において浮動小数点演算処
理を行う。また,フラグがセットされていることを認識
したは場合には中央演算処理装置(CPU)1はOSの
割り込み制御によりソフトエミュレータ3を起動し,浮
動小数点のロード/ストア/条件分岐等の処理は仮想レ
ジスタを用いて行うようにして,ソフトエミュレータ3
により浮動小数点演算処理を行うようにする。
【0025】(2) ソフトエミュレータの検証およびFP
Uの診断の場合。 外部入力手段7よりフラグ保持部5にフラグをセッ
トする。 FADD命令(浮動小数点データの加算命令を実行
する。この時,加算結果はソフトエミュレータの仮想レ
ジスタに格納されるだけでなく,FPUの浮動小数点の
格納レジスタにも格納される。
Uの診断の場合。 外部入力手段7よりフラグ保持部5にフラグをセッ
トする。 FADD命令(浮動小数点データの加算命令を実行
する。この時,加算結果はソフトエミュレータの仮想レ
ジスタに格納されるだけでなく,FPUの浮動小数点の
格納レジスタにも格納される。
【0026】 FST命令(浮動小数点データのスト
ア命令)を実行し,結果をメモリに格納する。 次にフラグをオフとする。
ア命令)を実行し,結果をメモリに格納する。 次にフラグをオフとする。
【0027】 FST命令を実行する。その結果,
でFPUの浮動小数点データの演算結果がメモリに格納
される。 でメモリに格納した結果とでメモリに格納され
た内容を比較し,検証する。
でFPUの浮動小数点データの演算結果がメモリに格納
される。 でメモリに格納した結果とでメモリに格納され
た内容を比較し,検証する。
【0028】
【実施例】図2は本発明の装置構成実施例を示す。図に
おいて,10はCPU0,11はCPU1である。12
は主記憶装置である。13はFPU0であって,浮動小
数点処理装置である。14は未接続/故障検出部であっ
て,FPU0(13)の未接続もしくは故障を検出するもの
である。
おいて,10はCPU0,11はCPU1である。12
は主記憶装置である。13はFPU0であって,浮動小
数点処理装置である。14は未接続/故障検出部であっ
て,FPU0(13)の未接続もしくは故障を検出するもの
である。
【0029】CPU0(10)において,20はCPU制御
プログラムである。21はCPU10の汎用レジスタで
ある。22はCPU制御プログラム20におけるフラグ
認識部である。
プログラムである。21はCPU10の汎用レジスタで
ある。22はCPU制御プログラム20におけるフラグ
認識部である。
【0030】FPU0(13)において,25はFPU制御
プログラムである。26は浮動小数点データ格納用レジ
スタである。主記憶装置12において,28はOS,2
8’はインタフェース領域であって,浮動小数点演算に
必要とする演算種別,レジスタ番号等を格納する領域で
ある。29は命令列,30はソフトエミュレータであ
る。,31はFPUエミュレート割込制御プログラムで
ある。32はCPU0用仮想レジスタであって,CPU
0(10)の浮動小数点演算において使用する浮動小数点デ
ータ格納用の仮想レジスタである。33はCPU1用仮
想レジスタである。34はデータ領域であって演算デー
タを格納するものである。35はフラグ保持部であっ
て,FPU0(13)の接続/未接続を表すフラグを格納す
るものである。40はフラグ設定処理部,41は入出力
制御部,42は入力装置であって,ディスク装置,キー
ボードである。43は出力装置であって,ディスプレ
イ,プリンタ等である。
プログラムである。26は浮動小数点データ格納用レジ
スタである。主記憶装置12において,28はOS,2
8’はインタフェース領域であって,浮動小数点演算に
必要とする演算種別,レジスタ番号等を格納する領域で
ある。29は命令列,30はソフトエミュレータであ
る。,31はFPUエミュレート割込制御プログラムで
ある。32はCPU0用仮想レジスタであって,CPU
0(10)の浮動小数点演算において使用する浮動小数点デ
ータ格納用の仮想レジスタである。33はCPU1用仮
想レジスタである。34はデータ領域であって演算デー
タを格納するものである。35はフラグ保持部であっ
て,FPU0(13)の接続/未接続を表すフラグを格納す
るものである。40はフラグ設定処理部,41は入出力
制御部,42は入力装置であって,ディスク装置,キー
ボードである。43は出力装置であって,ディスプレ
イ,プリンタ等である。
【0031】図3により図2の装置構成実施例の動作を
説明する。図3において,12は主記憶装置,13はF
PU0,14は未接続/故障検出部,28はOS,2
8’はインタフェース領域,29は命令列,30はソフ
トエミュレータ,31はFPUエミュレート割込制御プ
ログラム,32はCPU0用仮想レジスタであって,浮
動小数点データを格納する仮想レジスタ(EFRmとE
FRnを含む)である。34はデータ領域であって,メ
モリ1〜メモリ4を含むものである。35はフラグ保持
部,40はフラグ設定処理部である。Aは通常命令,B
はFPU制御を伴う命令である。
説明する。図3において,12は主記憶装置,13はF
PU0,14は未接続/故障検出部,28はOS,2
8’はインタフェース領域,29は命令列,30はソフ
トエミュレータ,31はFPUエミュレート割込制御プ
ログラム,32はCPU0用仮想レジスタであって,浮
動小数点データを格納する仮想レジスタ(EFRmとE
FRnを含む)である。34はデータ領域であって,メ
モリ1〜メモリ4を含むものである。35はフラグ保持
部,40はフラグ設定処理部である。Aは通常命令,B
はFPU制御を伴う命令である。
【0032】図において,図2と共通番号は共通部分を
表す。また,図3においては,図2における汎用レジス
タ21,浮動小数点データ格納用レジスタ26,CPU
1(11),CPU1用仮想レジスタ33,入出力制御
部41,入力装置42,出力装置43は省略されてい
る。
表す。また,図3においては,図2における汎用レジス
タ21,浮動小数点データ格納用レジスタ26,CPU
1(11),CPU1用仮想レジスタ33,入出力制御
部41,入力装置42,出力装置43は省略されてい
る。
【0033】図示の命令コードに従って,動作を説明す
る。「LD GRn,メモリ1」によりメモリ1(デー
タ領域113)からデータをリードし,GRnにセット
する。
る。「LD GRn,メモリ1」によりメモリ1(デー
タ領域113)からデータをリードし,GRnにセット
する。
【0034】「ADD GRn,GRm」によりGRn
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
【0035】「FLD FRn,メモリ3」によりメモ
リ3からデータをリードし,そのデータをFRnにセッ
ト指示する。さらに,そのデータをEFRnにもセット
する。
リ3からデータをリードし,そのデータをFRnにセッ
ト指示する。さらに,そのデータをEFRnにもセット
する。
【0036】「FADD FRn,FRm」により,F
RnとFRmの加算を指示する。フラグを判定し,フラ
グがセットされていれば,同じ動作を指示するOS28
へのFPUエミュレート割り込みを行い,インタフェー
ス領域28’に浮動小数点演算に必要とする演算種別,
レジスタ番号等を格納する。OS28はFPUエミュ
レート割込制御プログラム31を起動し,演算種別,レ
ジスタ番号等を通知する。
RnとFRmの加算を指示する。フラグを判定し,フラ
グがセットされていれば,同じ動作を指示するOS28
へのFPUエミュレート割り込みを行い,インタフェー
ス領域28’に浮動小数点演算に必要とする演算種別,
レジスタ番号等を格納する。OS28はFPUエミュ
レート割込制御プログラム31を起動し,演算種別,レ
ジスタ番号等を通知する。
【0037】「FST メモリ4,FRn」によりFR
nのリードを指示し,リードしたFRnのデータをメモ
リ4にライトする。また,この時フラグを認識し,フラ
グがセットされていれば,FPUエミュレート割込制御
プログラム31に従って,FRnもしくはEFRnの値
をメモリ4にライトする。
nのリードを指示し,リードしたFRnのデータをメモ
リ4にライトする。また,この時フラグを認識し,フラ
グがセットされていれば,FPUエミュレート割込制御
プログラム31に従って,FRnもしくはEFRnの値
をメモリ4にライトする。
【0038】図4は,本発明の各種命令の実行処理のフ
ロー(1) を示す図である。各フローにおいて,FRm,
FRnはFPUの浮動小数点格納用レジスタである。E
FRm,EFRnはソフトエミュレータの仮想レジスタ
である。
ロー(1) を示す図である。各フローにおいて,FRm,
FRnはFPUの浮動小数点格納用レジスタである。E
FRm,EFRnはソフトエミュレータの仮想レジスタ
である。
【0039】(a)はFLD命令(メモリ(または汎用レ
ジスタ)からFPUのレジスタにロードする命令)の実
行のフローを示す。FLDSR命令(メモリ(または汎
用レジスタ)からFPUのステータスレジスタにロード
する命令)も同様である。
ジスタ)からFPUのレジスタにロードする命令)の実
行のフローを示す。FLDSR命令(メモリ(または汎
用レジスタ)からFPUのステータスレジスタにロード
する命令)も同様である。
【0040】 メモリから浮動小数点データをFRn
にロードする。 メモリから浮動小数点データをEFRnにロードす
る。 次の実行をする。
にロードする。 メモリから浮動小数点データをEFRnにロードす
る。 次の実行をする。
【0041】(b)はFADD命令(FPUのレジスタ間
で加算を行いレジスタに格納する命令)の実行のフロー
を示す。減算,掛算,単精度を倍精度に変換する等の命
令も同様である。
で加算を行いレジスタに格納する命令)の実行のフロー
を示す。減算,掛算,単精度を倍精度に変換する等の命
令も同様である。
【0042】 FPUを制御してFRnにFRmを加
算して格納する(FRmとFRnの加算の場合)。 eflag(フラグ)がオンかオフかを判断する。
オフ(No)であればに進み,オン(Yes)であれ
ばに進む。
算して格納する(FRmとFRnの加算の場合)。 eflag(フラグ)がオンかオフかを判断する。
オフ(No)であればに進み,オン(Yes)であれ
ばに進む。
【0043】 次の命令を実行する。 演算種別,レジスタ番号をインタフェース領域(主
記憶装置のエミュレータの領域に備えられている)に格
納する。
記憶装置のエミュレータの領域に備えられている)に格
納する。
【0044】 FPUエミュレート割り込み通知を行
う。 図5 (c)は本発明の各種命令の実行処理のフロー(2) を
示す図である。(c)はFADD命令の実行のフローであ
って,FPUの未接続もしくは故障を判定する処理を含
む場合である。
う。 図5 (c)は本発明の各種命令の実行処理のフロー(2) を
示す図である。(c)はFADD命令の実行のフローであ
って,FPUの未接続もしくは故障を判定する処理を含
む場合である。
【0045】 FPUが未接続または故障か判定す
る。未接続でも故障でもなければに進み,未接続もし
くは故障であればに進む。 FPUを制御してFRnにFRmを格納する(FR
nとFRmを加算する場合)。
る。未接続でも故障でもなければに進み,未接続もし
くは故障であればに進む。 FPUを制御してFRnにFRmを格納する(FR
nとFRmを加算する場合)。
【0046】 eFlagがオンかオフか判定する。
オフ(No)であればに進み,オン(Yes)であれ
ばに進む。 次の命令を実行する。
オフ(No)であればに進み,オン(Yes)であれ
ばに進む。 次の命令を実行する。
【0047】 演算種別,レジスタ番号をインタフェ
ース領域に格納する。 FPUエミュレート割り込みを通知する。 (d) FADD命令の実行において,FPUの未接続も
しくは故障の場合はFPU割り込み通知のみを行う場合
を示す。
ース領域に格納する。 FPUエミュレート割り込みを通知する。 (d) FADD命令の実行において,FPUの未接続も
しくは故障の場合はFPU割り込み通知のみを行う場合
を示す。
【0048】 FPUが未接続又は故障の判定を行
う。未接続でも故障でもなければ(Noであれば)に
進む。未接続もしくは故障であればに進む。 FPUを制御してFRnにFRmを加算する。
う。未接続でも故障でもなければ(Noであれば)に
進む。未接続もしくは故障であればに進む。 FPUを制御してFRnにFRmを加算する。
【0049】 次の命令の実行を行う。 演算種別,レジスタ番号をインタフェース領域に格
納する。 FPUエミュレート割り込み通知を行う。
納する。 FPUエミュレート割り込み通知を行う。
【0050】図5 (c), (d)において,減算,掛算,単
精度と倍精度の間の変換等の他の演算命令も同様であ
る。図6は本発明の各種命令の実行処理のフロー(3) を
示す。
精度と倍精度の間の変換等の他の演算命令も同様であ
る。図6は本発明の各種命令の実行処理のフロー(3) を
示す。
【0051】図はFST命令(FPUのレジスタからメ
モリ(または汎用レジスタ)にストアする命令)の実行
処理のフローを示す。FSTSR命令(FPUのステー
タスレジスタからメモリ(または汎用レジスタ)にスト
アする命令)も同様である。
モリ(または汎用レジスタ)にストアする命令)の実行
処理のフローを示す。FSTSR命令(FPUのステー
タスレジスタからメモリ(または汎用レジスタ)にスト
アする命令)も同様である。
【0052】 eflagがオンかオフか判定する。
オフ(No)であればに進み,オン(yes)であれ
ばに進む。 FRnに格納されている浮動小数点データをメモリ
に格納する。
オフ(No)であればに進み,オン(yes)であれ
ばに進む。 FRnに格納されている浮動小数点データをメモリ
に格納する。
【0053】 次の命令を実行する。 EFRnに格納されている浮動小数点データをメモ
リに格納する。 図7は本発明の各種命令の実行処理のフロー(4) を示
す。
リに格納する。 図7は本発明の各種命令の実行処理のフロー(4) を示
す。
【0054】FBCC命令(FPUの状態に応じて分岐
する条件分岐命令)の実行の処理のフローを示す。他の
条件分岐命令も同様である。 eflagがオフ(No)かオン(Yes)である
か判定する。オフ(No)であればに進み,オン(Y
es)であればに進む。
する条件分岐命令)の実行の処理のフローを示す。他の
条件分岐命令も同様である。 eflagがオフ(No)かオン(Yes)である
か判定する。オフ(No)であればに進み,オン(Y
es)であればに進む。
【0055】 FPUを制御してFSRn(フローテ
ィングステータスの値)の指示されたビット(コンディ
ションコードのビット)を調べる。 EFRn(仮想レジスタ上のフローティングレジス
タ)の指示されたビット(コンディションコード)を調
べる。
ィングステータスの値)の指示されたビット(コンディ
ションコードのビット)を調べる。 EFRn(仮想レジスタ上のフローティングレジス
タ)の指示されたビット(コンディションコード)を調
べる。
【0056】 調べたビットがオンでなければ(No
であれば)に進み,オン(Yes)であればに進
む。 次の命令を実行する。
であれば)に進み,オン(Yes)であればに進
む。 次の命令を実行する。
【0057】 指示されたアドレスへ分岐する。
【0058】
【発明の効果】本発明は,システムが稼動中にFPUが
故障した場合,FPUの診断を行う場合,ソフトエミュ
レート方式の計算結果を検証する場合に,システムの再
立ち上げや対象プログラムの変更を行うことなくFPU
制御とエミュレート制御の切り替えを行うことができ
る。
故障した場合,FPUの診断を行う場合,ソフトエミュ
レート方式の計算結果を検証する場合に,システムの再
立ち上げや対象プログラムの変更を行うことなくFPU
制御とエミュレート制御の切り替えを行うことができ
る。
【図1】本発明の基本構成を示す図である。
【図2】本発明の装置構成実施例を示す図である。
【図3】本発明の装置構成実施例の動作説明図である。
【図4】本発明の各種命令の実行処理のフロー(1) を示
す図である。
す図である。
【図5】本発明の各種命令の実行処理のフロー(2) を示
す図である。
す図である。
【図6】本発明の各種命令の実行処理のフロー(3) を示
す図である。
す図である。
【図7】本発明の各種命令の実行処理のフロー(4) を示
す図である。
す図である。
【図8】従来の技術を示す図である。
【図9】FPU制御による場合の浮動小数点演算処理を
示す図である。
示す図である。
【図10】ソフトエミュレート制御による場合の浮動小
数点演算処理を示す図である。
数点演算処理を示す図である。
1 :中央演算処理装置(CPU) 2 :浮動小数点処理装置(FPU) 3 :浮動小数点処理装置のソフトエミュレータ 4 :未接続/故障検出部 5 :フラグ保持部 6 :フラグ認識処理部 7 :外部入力手段
Claims (2)
- 【請求項1】 ハードウェアとマイクロプログラムによ
る浮動小数点処理装置(2) と,浮動小数点演算処理装置
(2) と同じ機能を有するソフトウァアにより構成された
ソフトエミュレータ(3) と,浮動小数点演算を浮動小数
点処理装置(2) で行うか,あるいはソフトエミュレータ
(3) で行うかを定めるフラグを保持するフラグ保持部
(5) と,フラグ保持部(5) のフラグを認識するフラグ認
識処理部(6) とを備え,フラグの有無に応じて,浮動小
数点処理装置(2) もしくはソフトエミュレータ(3) によ
り浮動小数点処理を行うことを特徴とする浮動小数点演
算装置。 - 【請求項2】 請求項1において,浮動小数点処理装置
(2) の未接続もしくは故障検出部(4) と外部入力手段
(7) を備え,該検出部(4) もしくは外部入力手段(7) に
よりフラグ保持部(5) にフラグセットすることを特徴と
する浮動小数点演算装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4234488A JPH0683636A (ja) | 1992-09-02 | 1992-09-02 | 浮動小数点演算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4234488A JPH0683636A (ja) | 1992-09-02 | 1992-09-02 | 浮動小数点演算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0683636A true JPH0683636A (ja) | 1994-03-25 |
Family
ID=16971817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4234488A Withdrawn JPH0683636A (ja) | 1992-09-02 | 1992-09-02 | 浮動小数点演算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0683636A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100317768B1 (ko) * | 1998-02-19 | 2001-12-22 | 포만 제프리 엘 | Ieee 호환 부동소수점 유닛 |
| JP2010530996A (ja) * | 2007-03-30 | 2010-09-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム・コードを変換するためのコンピュータ・システム、方法、及びコンピュータ可読記録媒体 |
-
1992
- 1992-09-02 JP JP4234488A patent/JPH0683636A/ja not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100317768B1 (ko) * | 1998-02-19 | 2001-12-22 | 포만 제프리 엘 | Ieee 호환 부동소수점 유닛 |
| JP2010530996A (ja) * | 2007-03-30 | 2010-09-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム・コードを変換するためのコンピュータ・システム、方法、及びコンピュータ可読記録媒体 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5386565A (en) | Method and system for controlling/monitoring computer system having plural operating systems to run thereon | |
| US4933941A (en) | Apparatus and method for testing the operation of a central processing unit of a data processing system | |
| US6336185B1 (en) | Use of other processors during BIOS boot sequence to minimize boot time | |
| JPH0533423B2 (ja) | ||
| US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
| US5488728A (en) | Microprocessor having a run/stop pin for accessing an idle mode | |
| US5680599A (en) | Program counter save on reset system and method | |
| US20100153786A1 (en) | Processor, multiprocessor, and debugging method | |
| US20090083736A1 (en) | Virtualized computer, monitoring method of the virtualized computer and a computer readable medium thereof | |
| US4839895A (en) | Early failure detection system for multiprocessor system | |
| US5146569A (en) | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension | |
| US5867658A (en) | Method and apparatus for implementing a stop state for a processor in a multiprocessor system | |
| US4736289A (en) | Microprogram controlled data processing apparatus | |
| JPH0683636A (ja) | 浮動小数点演算装置 | |
| JPH06332747A (ja) | マルチプロセッサシステムのプログラムデバッグ方法 | |
| JPH08272755A (ja) | プロセッサ切替え装置 | |
| KR19990053043A (ko) | 진단용 메모리를 구비한 컴퓨터 및 그 진단방법 | |
| JP3317361B2 (ja) | メモリのバッテリバックアップ制御方式 | |
| JPH0527954A (ja) | コンピユータシステム | |
| JP2799646B2 (ja) | パイプライン制御の計算機の診断方式 | |
| JPH0981275A (ja) | 演算処理装置 | |
| JPH0216647A (ja) | 情報処理装置 | |
| JP2708647B2 (ja) | コプロセサによる補助機能のサポート方法 | |
| JPS63271542A (ja) | Romデバツガ | |
| JPS62125437A (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: 19991102 |