[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH0683636A - Floating point arithmetic unit - Google Patents

Floating point arithmetic unit

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
memory
instruction
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
JP4234488A
Other languages
Japanese (ja)
Inventor
Masahiro Ikeda
昌弘 池田
Nobuyoshi Sato
信義 佐藤
Atsushi Sokawa
淳 惣川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4234488A priority Critical patent/JPH0683636A/en
Publication of JPH0683636A publication Critical patent/JPH0683636A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To automatically switch an FPU control system to a soft emulation system when an FPU has a trouble or is diagnosed by using the EPU system together with the soft emulation system. CONSTITUTION:A floating point arithmetic unit consists of a floating point processor 2 which contains the hardware and a microprogram, a soft emulator 3 which contains the software having the same function as the processor 2, a flag holding part 5 which holds a flag to decide the processor 2 or the emulator 3 to carry out a floating point operation, and a flag recognition processing part 6 which recognizes the flag of the part 5. In such a constitution, the processor 2 or the emulator 3 is decided by the presence or absence of the flag in order to carry out the floating point processing.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は,浮動小数点演算装置に
関する。浮動小数点演算をハードウェアで行う場合に
は,浮動小数点演算装置(浮動小数点演算を制御するF
PU制御プログラム(マイクロプログラム)と浮動小数
点データを格納するレジスタにより構成される)を通常
の演算装置(CPU,CPU制御プログラム(マイクロ
プログラム)と汎用レジスタにより構成される)に付加
することにより行っていた。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a floating point arithmetic unit. Floating point arithmetic unit (F that controls floating point arithmetic
This is done by adding a PU control program (microprogram) and a register that stores floating-point data) to an ordinary arithmetic unit (CPU, CPU control program (microprogram) and general-purpose register). It was

【0002】また,ソフトウェアにより浮動小数点演算
装置(以後,FPUと称する)と同等の機能を持たせた
ソフトエミュレータにより通常の演算装置を用いて浮動
小数点演算を行う方法がある。
There is also a method of performing a floating point arithmetic using a normal arithmetic unit by a software emulator having a function equivalent to that of a floating point arithmetic unit (hereinafter referred to as FPU) by software.

【0003】[0003]

【従来の技術】図8は従来の技術を示す。(a)はFPU
制御のみにより構成される装置構成を示す。
2. Description of the Related Art FIG. 8 shows a conventional technique. (a) is FPU
An apparatus configuration configured only by control is shown.

【0004】図において,100はCPU0,101は
CPU1,102は主記憶装置,103はFPU0であ
って,浮動小数点演算制御装置である。110はCPU
制御プログラムであって,演算処理を行うものである。
111は汎用レジスタであって,CPU0の演算処理デ
ータを格納するものである。112は命令列であって,
CPU0(100),CPU1(101)の命令を処理
の順番に格納するものである。112’はOSの領域で
ある。113はデータ領域であって,演算データを格納
するものである。114はFPU制御プログラムであっ
て,浮動小数点処理の制御を行うマイクロプログラムで
ある。115は浮動小数点データ格納用レジスタであ
る。
In the figure, 100 is a CPU0, 101 is a CPU1, 102 is a main memory, and 103 is an FPU0, which is a floating point arithmetic control unit. 110 is a CPU
It is a control program that performs arithmetic processing.
Reference numeral 111 is a general-purpose register that stores arithmetic processing data of the CPU 0. 112 is an instruction sequence,
The instructions of the CPU0 (100) and the CPU1 (101) are stored in the order of processing. Reference numeral 112 'denotes an OS area. Reference numeral 113 is a data area for storing operation data. Reference numeral 114 denotes an FPU control program, which is a microprogram for controlling floating point processing. Reference numeral 115 is a floating point data storage register.

【0005】図の構成の動作は後述する(図9参照)。
(b)はソフトエミュレータ制御のみの装置構成を示す。
図において, (a)と共通な番号は同じ部分を示す。12
0はFPUエミュレート割込制御プログラムである。1
21はCPU0(100)用仮想レジスタ(EFR0
EFRx)であって,浮動小数点データを格納する領域
(仮想レジスタ)である。122はCPU1(101)
用仮想レジスタである。
The operation of the configuration shown in the figure will be described later (see FIG. 9).
(b) shows the device configuration only for software emulator control.
In the figure, numbers common to (a) indicate the same parts. 12
0 is an FPU emulation interrupt control program. 1
21 is a virtual register for CPU 0 (100) (EFR 0 to
EFRx) is an area (virtual register) for storing floating point data. 122 is the CPU1 (101)
Is a virtual register for.

【0006】図の構成の動作は後述する(図10参
照)。図9はFPU制御による場合の浮動小数点演算処
理を示す(図8 (a)の構成の動作説明図)である。図9
の説明において図8を参照する。
The operation of the configuration shown in the figure will be described later (see FIG. 10). FIG. 9 shows a floating-point arithmetic process in the case of FPU control (operation explanatory diagram of the configuration of FIG. 8A). Figure 9
8 will be referred to in the description of FIG.

【0007】図において,102は主記憶装置,110
はCPU制御プログラム,112は命令列,113はデ
ータ領域,114はFPU制御プログラムである。ま
た,図においては,汎用レジスタ,浮動小数点データ格
納用レジスタは省略されている。命令列112において
Aは通常命令であって,CPU制御プログラム110と
汎用レジスタ111により処理される命令である。Bは
FPU制御を伴う命令であって,FPU制御プログラム
114と浮動小数点データ格納用レジスタ115での処
理を必要とするものである。
In the figure, 102 is a main memory, 110
Is a CPU control program, 112 is an instruction sequence, 113 is a data area, and 114 is an FPU control program. Further, in the figure, general-purpose registers and floating-point data storage registers are omitted. In the instruction sequence 112, A is a normal instruction, which is an instruction processed by the CPU control program 110 and the general register 111. B is an instruction accompanied by FPU control, which requires processing in the FPU control program 114 and the floating point data storage register 115.

【0008】GRm,GRnは汎用レジスタである(汎
用レジスタ111参照)。FRm,FRnは浮動小数点
データ格納用レジスタである(浮動小数点データ格納用
レジスタ115参照)。メモリ1〜メモリ4はデータ領
域113のメモリを表す。
GRm and GRn are general-purpose registers (see general-purpose register 111). FRm and FRn are floating point data storage registers (see floating point data storage register 115). The memories 1 to 4 represent the memories of the data area 113.

【0009】図の命令コードの順に図8 (a)の構成の動
作を説明する。「LD GRn,メモリ1」によりメモ
リ1(データ領域113参照)からデータをリードし,
GRnにセットする。
The operation of the configuration shown in FIG. 8A will be described in the order of the instruction codes shown in FIG. "LD GRn, memory 1" reads data from memory 1 (see data area 113),
Set to GRn.

【0010】「ADD GRn,GRm」によりGRn
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
GRn by "ADD GRn, GRm"
And the data of GRm are added and set to GRn. GRn is written in the memory 2 by "ST memory 2, GRn".

【0011】「FLD FRn,メモリ3」によりメモ
リ3からデータをリードし,そのデータをFRnにセッ
ト指示する。FPU制御プログラム114においてその
データがFRnにセットされる。
The "FLD FRn, memory 3" is used to read data from the memory 3 and to set the data in FRn. The data is set to FRn in the FPU control program 114.

【0012】「FADD FRn,FRm」により,F
RnとFRmの加算を指示する。FPU制御プログラム
114はFRnにFRmを加算する。「FST メモリ
4,FRn」はFRnのリードを指示し,リードしたF
Rnのデータをメモリ4にライトする。
According to "FADD FRn, FRm", F
Instruct to add Rn and FRm. The FPU control program 114 adds FRm to FRn. The “FST memory 4, FRn” gives an instruction to read FRn, and the read F
The data of Rn is written in the memory 4.

【0013】図10は,ソフトウェアシミュレート制御
による場合の浮動小数点演算処理を示す図である(図8
(b)の動作説明図である)。図10の説明において,図
8を参照する)。
FIG. 10 is a diagram showing floating-point arithmetic processing in the case of software simulation control (FIG. 8).
It is an operation explanatory view of (b)). In the description of FIG. 10, refer to FIG. 8).

【0014】図において,102は主記憶装置,110
はCPU制御プログラム,112は命令列,112’は
OS,113はデータ領域であって,メモリ1〜メモリ
4を含むものである。120はFPUエミュレート割込
制御プログラム,121は浮動小数点データを格納する
仮想レジスタである。また,図においては,汎用レジス
タは省略されている。命令列112においてAは通常命
令,BはFPU制御を伴う命令である。GRm,GRn
は汎用レジスタである(汎用レジスタ111参照)。E
FRnは仮想レジスタである(浮動小数点データを格納
する仮想レジスタ121を参照)。
In the figure, 102 is a main memory, 110
Is a CPU control program, 112 is an instruction sequence, 112 'is an OS, 113 is a data area, and includes the memories 1 to 4. Reference numeral 120 is an FPU emulation interrupt control program, and 121 is a virtual register for storing floating point data. Further, general-purpose registers are omitted in the figure. In the instruction sequence 112, A is a normal instruction and B is an instruction accompanied by FPU control. GRm, GRn
Is a general-purpose register (see general-purpose register 111). E
FRn is a virtual register (see virtual register 121 for storing floating point data).

【0015】図の命令列の命令コードの順に図8 (b)の
構成の動作を説明する。「LD GRn,メモリ1」に
よりメモリ1(データ領域113参照)からデータをリ
ードし,GRnにセットする。
The operation of the configuration of FIG. 8B will be described in the order of the instruction code of the instruction sequence in the figure. Data is read from the memory 1 (see the data area 113) by the "LD GRn, memory 1" and set in GRn.

【0016】「ADD GRn,GRm」によりGRn
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
GRn by "ADD GRn, GRm"
And the data of GRm are added and set to GRn. GRn is written in the memory 2 by "ST memory 2, GRn".

【0017】「FLD FRn,メモリ3」によりメモ
リ3からデータをリードし,そのデータをEFRnにセ
ットする。「FADD FRn,FRm」により,EF
RnとEFRmの加算を指示するエミュレート割り込み
をOS112’に指示する()。OS112’はFP
Uエミュレート割込制御プログラム120を起動する
()。FPUエミュレート割込制御プログラム120
はFST命令を実行する。
Data is read from the memory 3 by the "FLD FRn, memory 3" and the data is set to EFRn. EF by "FADD FRn, FRm"
The OS 112 'is instructed to perform an emulation interrupt instructing addition of Rn and EFRm (). OS112 'is FP
The U emulation interrupt control program 120 is started (). FPU emulation interrupt control program 120
Executes the FST instruction.

【0018】「FST メモリ4,FRn」によりEF
Rnのデータをメモリ4にライトする。
EF by "FST memory 4, FRn"
The data of Rn is written in the memory 4.

【0019】[0019]

【発明が解決しようとする課題】従来のFPU制御のみ
の装置構成でFPU制御装置が故障した場合には,浮動
小数点演算を行なうことが不可能になる。また,ソフト
エミュレート制御のみによる装置構成では,動作速度が
遅く性能的に十分なものではなかった。また,FPU制
御方式とソフトエミュレート方式の混在する方法もある
が,従来の装置ではFPUの取り付け,取り外しに初期
設定を必要としたり,システムの再立ち上げを必要とす
る等の煩わしい操作が必要とされた。
If the FPU controller fails in the conventional FPU control only device configuration, it becomes impossible to perform floating point arithmetic. In addition, the operation speed was slow and performance was not sufficient with a device configuration using only soft emulation control. There is also a method in which the FPU control method and the soft emulation method coexist, but in the conventional device, complicated operations such as initial setting required for FPU attachment / detachment and system restart required. Was taken.

【0020】本発明は,FPU制御方式とソフトエミュ
レート方式を混在させ,システムが稼動中にFPUが故
障した場合や,FPUの診断を行う場合にシステムの再
立ち上げや対象プログラムの変更を行うことなくソフト
エミュレート方式に切り替えることのできる浮動小数点
演算装置を提供することを目的とする。
The present invention mixes the FPU control method and the soft emulation method, and restarts the system or changes the target program when the FPU fails while the system is operating or when the FPU is diagnosed. It is an object of the present invention to provide a floating-point arithmetic unit that can switch to a soft emulation method without any need.

【0021】[0021]

【課題を解決するための手段】本発明は,FPU制御装
置の未接続もしくは故障の検出部を設け,FPU制御装
置の未接続もしくは故障を検出した場合にはフラグをセ
ットし,フラグのセットの有無でFPU制御とソフトエ
ミュレート制御を自動的に切り替えるようにした。
According to the present invention, there is provided an unconnected or failure detecting unit for an FPU controller, and a flag is set when the unconnected or failure of the FPU controller is detected. The FPU control and the soft emulation control are automatically switched depending on the presence or absence.

【0022】図1は本発明の基本構成を示す。図におい
て,1は中央演算処理装置(CPU)であって,演算処
理およびシステムの制御を行うものである。2は浮動小
数点処理装置(FPU)であって,浮動小数点演算を処
理するファームウェアとレジスタ等により構成され浮動
小数点演算を行うものである。2は浮動小数点処理装置
(FPU)のエミュレータであって,メモリ上に浮動小
数点演算を行うための仮想レジスタを持ち,浮動小数点
処理装置2と同じ機能を持つようにしたものである。4
は未接続/故障検出部であって,浮動小数点処理装置2
の未接続もしくは故障を検出するものである。5はフラ
グ保持部であって,浮動小数点処理装置(FPU)2の
未接続もしくは故障の有無に応じたフラグを保持するも
のである(フラグは,例えば,主記憶装置2もしくはC
PU1の汎用レジスタ等に保持する)。6はフラグ認識
処理部であってフラグ保持部5のフラグの有無を認識す
るものである。7は外部入力手段であって,キーボード
等の外部装置からフラグセットを行うものである。
FIG. 1 shows the basic configuration of the present invention. In the figure, reference numeral 1 is a central processing unit (CPU), which performs arithmetic processing and system control. A floating-point processing unit (FPU) 2 is composed of firmware for processing floating-point arithmetic, registers, etc., and performs floating-point arithmetic. Reference numeral 2 is an emulator of a floating point processing unit (FPU), which has a virtual register for performing a floating point operation on a memory and has the same function as the floating point processing unit 2. Four
Is an unconnected / fault detection unit, and is a floating point processing unit 2
This is to detect unconnection or failure of the. A flag holding unit 5 holds a flag according to whether the floating point unit (FPU) 2 is not connected or has a failure (the flag is, for example, the main memory 2 or C).
It is held in a general-purpose register of PU1). A flag recognition processing unit 6 recognizes the presence or absence of a flag in the flag holding unit 5. An external input unit 7 sets a flag from an external device such as a keyboard.

【0023】[0023]

【作用】図1の基本構成の動作を説明する。 (1) 浮動小数点処理装置(2) が未接続もしくは故障の
場合の動作。
The operation of the basic configuration of FIG. 1 will be described. (1) Operation when the floating point processor (2) is not connected or has a failure.

【0024】未接続/故障検出部4は浮動小数点処理装
置(FPU)2の未接続もしくは故障を検出するとフラ
グ保持部5にフラグをセットする。中央演算処理装置1
は,浮動小数点演算においてフラグ認識処理部6はフラ
グがセットされていないことを認識した場合には,浮動
小数点処理装置(FPU)2 において浮動小数点演算処
理を行う。また,フラグがセットされていることを認識
したは場合には中央演算処理装置(CPU)1はOSの
割り込み制御によりソフトエミュレータ3を起動し,浮
動小数点のロード/ストア/条件分岐等の処理は仮想レ
ジスタを用いて行うようにして,ソフトエミュレータ3
により浮動小数点演算処理を行うようにする。
The unconnected / fault detection section 4 sets a flag in the flag holding section 5 when detecting the unconnected state or the failure of the floating point processing unit (FPU) 2. Central processing unit 1
In the floating point operation, when the flag recognition processing unit 6 recognizes that the flag is not set, the floating point operation unit (FPU) 2 performs the floating point operation processing. When it is recognized that the flag is set, the central processing unit (CPU) 1 activates the software emulator 3 by the interrupt control of the OS, and the floating point load / store / conditional branch processing is not performed. Software emulator 3
To perform floating point arithmetic processing.

【0025】(2) ソフトエミュレータの検証およびFP
Uの診断の場合。 外部入力手段7よりフラグ保持部5にフラグをセッ
トする。 FADD命令(浮動小数点データの加算命令を実行
する。この時,加算結果はソフトエミュレータの仮想レ
ジスタに格納されるだけでなく,FPUの浮動小数点の
格納レジスタにも格納される。
(2) Verification of software emulator and FP
For U diagnosis. The flag is set in the flag holding unit 5 from the external input means 7. FADD instruction (Executes an addition instruction of floating point data. At this time, the addition result is stored not only in the virtual register of the software emulator but also in the floating point storage register of the FPU.

【0026】 FST命令(浮動小数点データのスト
ア命令)を実行し,結果をメモリに格納する。 次にフラグをオフとする。
The FST instruction (floating point data store instruction) is executed and the result is stored in the memory. Next, the flag is turned off.

【0027】 FST命令を実行する。その結果,
でFPUの浮動小数点データの演算結果がメモリに格納
される。 でメモリに格納した結果とでメモリに格納され
た内容を比較し,検証する。
Execute the FST instruction. as a result,
Then, the calculation result of the floating point data of the FPU is stored in the memory. The contents stored in the memory are compared and verified with the result stored in the memory in.

【0028】[0028]

【実施例】図2は本発明の装置構成実施例を示す。図に
おいて,10はCPU0,11はCPU1である。12
は主記憶装置である。13はFPU0であって,浮動小
数点処理装置である。14は未接続/故障検出部であっ
て,FPU0(13)の未接続もしくは故障を検出するもの
である。
FIG. 2 shows an embodiment of the apparatus configuration of the present invention. In the figure, 10 is a CPU 0 and 11 is a CPU 1. 12
Is the main memory. FPU0 13 is a floating point processing unit. Reference numeral 14 denotes an unconnected / fault detection unit, which detects whether the FPU0 (13) is not connected or has a fault.

【0029】CPU0(10)において,20はCPU制御
プログラムである。21はCPU10の汎用レジスタで
ある。22はCPU制御プログラム20におけるフラグ
認識部である。
In the CPU 0 (10), 20 is a CPU control program. Reference numeral 21 is a general-purpose register of the CPU 10. 22 is a flag recognition unit in the CPU control program 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は出力装置であって,ディスプレ
イ,プリンタ等である。
In FPU0 (13), 25 is an FPU control program. Reference numeral 26 is a floating point data storage register. In the main memory 12, 28 is an OS, 2
Reference numeral 8'denotes an interface area, which is an area for storing operation types, register numbers, etc., required for floating point operations. 29 is an instruction sequence, and 30 is a software emulator. , 31 are FPU emulation interrupt control programs. 32 is a virtual register for CPU0,
This is a virtual register for storing floating-point data used in 0 (10) floating-point arithmetic. 33 is a virtual register for CPU1. Reference numeral 34 is a data area for storing operation data. A flag holding unit 35 stores a flag indicating connection / non-connection of the FPU 0 (13). Reference numeral 40 is a flag setting processing unit, 41 is an input / output control unit, and 42 is an input device, which is a disk device and a keyboard. An output device 43 is a display, a printer, or the like.

【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制御を伴う命令である。
The operation of the embodiment of the apparatus shown in FIG. 2 will be described with reference to FIG. In FIG. 3, 12 is a main memory, and 13 is F
PU0 and 14 are unconnected / fault detection units, 28 is OS and 2
8'is an interface area, 29 is an instruction sequence, 30 is a software emulator, 31 is an FPU emulation interrupt control program, 32 is a virtual register for CPU0, and virtual registers (EFRm and EFR) for storing floating point data.
FRn is included). A data area 34 includes memories 1 to 4. Reference numeral 35 is a flag holding unit, and 40 is a flag setting processing unit. A is a normal command, B
Is an instruction accompanied by FPU control.

【0032】図において,図2と共通番号は共通部分を
表す。また,図3においては,図2における汎用レジス
タ21,浮動小数点データ格納用レジスタ26,CPU
1(11),CPU1用仮想レジスタ33,入出力制御
部41,入力装置42,出力装置43は省略されてい
る。
In the figure, common numbers with FIG. 2 represent common parts. Further, in FIG. 3, the general-purpose register 21, the floating point data storage register 26, and the CPU in FIG.
1 (11), the virtual register 33 for CPU1, the input / output control unit 41, the input device 42, and the output device 43 are omitted.

【0033】図示の命令コードに従って,動作を説明す
る。「LD GRn,メモリ1」によりメモリ1(デー
タ領域113)からデータをリードし,GRnにセット
する。
The operation will be described in accordance with the illustrated instruction code. Data is read from the memory 1 (data area 113) by "LD GRn, memory 1" and set in GRn.

【0034】「ADD GRn,GRm」によりGRn
のデータとGRmのデータを加算し,GRnにセットす
る。「ST メモリ2,GRn」によりGRnをメモリ
2にライトする。
GRn by "ADD GRn, GRm"
And the data of GRm are added and set to GRn. GRn is written in the memory 2 by "ST memory 2, GRn".

【0035】「FLD FRn,メモリ3」によりメモ
リ3からデータをリードし,そのデータをFRnにセッ
ト指示する。さらに,そのデータをEFRnにもセット
する。
Data is read from the memory 3 by "FLD FRn, memory 3", and the data is instructed to be set in FRn. Further, the data is also set in EFRn.

【0036】「FADD FRn,FRm」により,F
RnとFRmの加算を指示する。フラグを判定し,フラ
グがセットされていれば,同じ動作を指示するOS28
へのFPUエミュレート割り込みを行い,インタフェー
ス領域28’に浮動小数点演算に必要とする演算種別,
レジスタ番号等を格納する。OS28はFPUエミュ
レート割込制御プログラム31を起動し,演算種別,レ
ジスタ番号等を通知する。
By "FADD FRn, FRm", F
Instruct to add Rn and FRm. The OS 28 which judges the flag and instructs the same operation if the flag is set
FPU emulation interrupt to the interface area 28 'and the operation type required for floating point operation,
Stores register numbers, etc. The OS 28 activates the FPU emulation interrupt control program 31 and notifies the operation type, the register number and the like.

【0037】「FST メモリ4,FRn」によりFR
nのリードを指示し,リードしたFRnのデータをメモ
リ4にライトする。また,この時フラグを認識し,フラ
グがセットされていれば,FPUエミュレート割込制御
プログラム31に従って,FRnもしくはEFRnの値
をメモリ4にライトする。
FR by "FST memory 4, FRn"
Instructing to read n, the read data of FRn is written in the memory 4. At this time, the flag is recognized, and if the flag is set, the value of FRn or EFRn is written to the memory 4 according to the FPU emulation interrupt control program 31.

【0038】図4は,本発明の各種命令の実行処理のフ
ロー(1) を示す図である。各フローにおいて,FRm,
FRnはFPUの浮動小数点格納用レジスタである。E
FRm,EFRnはソフトエミュレータの仮想レジスタ
である。
FIG. 4 is a diagram showing a flow (1) of execution processing of various instructions of the present invention. In each flow, FRm,
FRn is a floating point storage register of the FPU. E
FRm and EFRn are virtual registers of the software emulator.

【0039】(a)はFLD命令(メモリ(または汎用レ
ジスタ)からFPUのレジスタにロードする命令)の実
行のフローを示す。FLDSR命令(メモリ(または汎
用レジスタ)からFPUのステータスレジスタにロード
する命令)も同様である。
(A) shows a flow of execution of an FLD instruction (an instruction to load a memory (or a general-purpose register) from a FPU register). The FLDSR instruction (an instruction to load from the memory (or general-purpose register) to the status register of the FPU) is also the same.

【0040】 メモリから浮動小数点データをFRn
にロードする。 メモリから浮動小数点データをEFRnにロードす
る。 次の実行をする。
Floating-point data from memory in FRn
To load. Floating point data is loaded from memory into EFRn. Do the following:

【0041】(b)はFADD命令(FPUのレジスタ間
で加算を行いレジスタに格納する命令)の実行のフロー
を示す。減算,掛算,単精度を倍精度に変換する等の命
令も同様である。
(B) shows a flow of execution of the FADD instruction (an instruction for performing addition between registers of the FPU and storing it in the register). The same applies to instructions such as subtraction, multiplication, and conversion of single precision to double precision.

【0042】 FPUを制御してFRnにFRmを加
算して格納する(FRmとFRnの加算の場合)。 eflag(フラグ)がオンかオフかを判断する。
オフ(No)であればに進み,オン(Yes)であれ
ばに進む。
The FPU is controlled to add FRm to FRn and store it (in the case of adding FRm and FRn). It is determined whether the eflag (flag) is on or off.
If it is off (No), proceed to and if it is on (Yes), proceed to.

【0043】 次の命令を実行する。 演算種別,レジスタ番号をインタフェース領域(主
記憶装置のエミュレータの領域に備えられている)に格
納する。
The next instruction is executed. The operation type and register number are stored in the interface area (provided in the emulator area of the main memory).

【0044】 FPUエミュレート割り込み通知を行
う。 図5 (c)は本発明の各種命令の実行処理のフロー(2) を
示す図である。(c)はFADD命令の実行のフローであ
って,FPUの未接続もしくは故障を判定する処理を含
む場合である。
FPU emulation interrupt notification is performed. FIG. 5C is a diagram showing a flow (2) of the execution processing of various instructions of the present invention. (c) is a flow of executing the FADD instruction, which includes a process of determining whether the FPU is not connected or has a failure.

【0045】 FPUが未接続または故障か判定す
る。未接続でも故障でもなければに進み,未接続もし
くは故障であればに進む。 FPUを制御してFRnにFRmを格納する(FR
nとFRmを加算する場合)。
It is determined whether the FPU is unconnected or has a failure. If there is no connection or failure, proceed to step. If not connected or failure, proceed to step. Control FPU and store FRm in FRn (FR
When adding n and FRm).

【0046】 eFlagがオンかオフか判定する。
オフ(No)であればに進み,オン(Yes)であれ
ばに進む。 次の命令を実行する。
It is determined whether the eFlag is on or off.
If it is off (No), proceed to and if it is on (Yes), proceed to. Execute the next instruction.

【0047】 演算種別,レジスタ番号をインタフェ
ース領域に格納する。 FPUエミュレート割り込みを通知する。 (d) FADD命令の実行において,FPUの未接続も
しくは故障の場合はFPU割り込み通知のみを行う場合
を示す。
The operation type and register number are stored in the interface area. Signals an FPU emulated interrupt. (d) In the execution of the FADD instruction, only the FPU interrupt notification is given when the FPU is not connected or has a failure.

【0048】 FPUが未接続又は故障の判定を行
う。未接続でも故障でもなければ(Noであれば)に
進む。未接続もしくは故障であればに進む。 FPUを制御してFRnにFRmを加算する。
The FPU makes a determination as to whether or not it is connected. If neither unconnected nor broken (No), proceed to. If not connected or broken, proceed to. The FPU is controlled to add FRm to FRn.

【0049】 次の命令の実行を行う。 演算種別,レジスタ番号をインタフェース領域に格
納する。 FPUエミュレート割り込み通知を行う。
The next instruction is executed. Store the operation type and register number in the interface area. FPU emulate interrupt notification.

【0050】図5 (c), (d)において,減算,掛算,単
精度と倍精度の間の変換等の他の演算命令も同様であ
る。図6は本発明の各種命令の実行処理のフロー(3) を
示す。
5 (c) and 5 (d), the same applies to other arithmetic instructions such as subtraction, multiplication, and conversion between single precision and double precision. FIG. 6 shows a flow (3) of execution processing of various instructions of the present invention.

【0051】図はFST命令(FPUのレジスタからメ
モリ(または汎用レジスタ)にストアする命令)の実行
処理のフローを示す。FSTSR命令(FPUのステー
タスレジスタからメモリ(または汎用レジスタ)にスト
アする命令)も同様である。
The figure shows the flow of the execution process of the FST instruction (the instruction to store from the FPU register to the memory (or general-purpose register)). The same applies to the FSTSR instruction (an instruction to store from the status register of the FPU to the memory (or general-purpose register)).

【0052】 eflagがオンかオフか判定する。
オフ(No)であればに進み,オン(yes)であれ
ばに進む。 FRnに格納されている浮動小数点データをメモリ
に格納する。
It is determined whether eflag is on or off.
If it is off (No), proceed to and if it is on (yes), proceed to. The floating point data stored in FRn is stored in the memory.

【0053】 次の命令を実行する。 EFRnに格納されている浮動小数点データをメモ
リに格納する。 図7は本発明の各種命令の実行処理のフロー(4) を示
す。
The next instruction is executed. The floating point data stored in EFRn is stored in the memory. FIG. 7 shows a flow (4) of execution processing of various instructions of the present invention.

【0054】FBCC命令(FPUの状態に応じて分岐
する条件分岐命令)の実行の処理のフローを示す。他の
条件分岐命令も同様である。 eflagがオフ(No)かオン(Yes)である
か判定する。オフ(No)であればに進み,オン(Y
es)であればに進む。
A flow of processing for executing an FBCC instruction (a conditional branch instruction that branches depending on the state of the FPU) is shown. The same applies to other conditional branch instructions. It is determined whether the eflag is off (No) or on (Yes). If it is off (No), proceed to and turn it on (Y
If it is es), proceed to.

【0055】 FPUを制御してFSRn(フローテ
ィングステータスの値)の指示されたビット(コンディ
ションコードのビット)を調べる。 EFRn(仮想レジスタ上のフローティングレジス
タ)の指示されたビット(コンディションコード)を調
べる。
The FPU is controlled to check the designated bit (condition code bit) of FSRn (floating status value). Examine the designated bit (condition code) of EFRn (floating register on virtual register).

【0056】 調べたビットがオンでなければ(No
であれば)に進み,オン(Yes)であればに進
む。 次の命令を実行する。
If the checked bit is not on (No
If yes, go to, and if on (Yes), go to. Execute the next instruction.

【0057】 指示されたアドレスへ分岐する。Branch to the designated address.

【0058】[0058]

【発明の効果】本発明は,システムが稼動中にFPUが
故障した場合,FPUの診断を行う場合,ソフトエミュ
レート方式の計算結果を検証する場合に,システムの再
立ち上げや対象プログラムの変更を行うことなくFPU
制御とエミュレート制御の切り替えを行うことができ
る。
According to the present invention, when the FPU fails while the system is operating, when the FPU is diagnosed, or when the calculation result of the soft emulation method is verified, the system is restarted or the target program is changed. FPU without doing
It is possible to switch between control and emulation control.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の基本構成を示す図である。FIG. 1 is a diagram showing a basic configuration of the present invention.

【図2】本発明の装置構成実施例を示す図である。FIG. 2 is a diagram showing a device configuration example of the present invention.

【図3】本発明の装置構成実施例の動作説明図である。FIG. 3 is an operation explanatory diagram of an apparatus configuration embodiment of the present invention.

【図4】本発明の各種命令の実行処理のフロー(1) を示
す図である。
FIG. 4 is a diagram showing a flow (1) of execution processing of various instructions of the present invention.

【図5】本発明の各種命令の実行処理のフロー(2) を示
す図である。
FIG. 5 is a diagram showing a flow (2) of execution processing of various instructions of the present invention.

【図6】本発明の各種命令の実行処理のフロー(3) を示
す図である。
FIG. 6 is a diagram showing a flow (3) of execution processing of various instructions of the present invention.

【図7】本発明の各種命令の実行処理のフロー(4) を示
す図である。
FIG. 7 is a diagram showing a flow (4) of execution processing of various instructions of the present invention.

【図8】従来の技術を示す図である。FIG. 8 is a diagram showing a conventional technique.

【図9】FPU制御による場合の浮動小数点演算処理を
示す図である。
FIG. 9 is a diagram showing a floating point arithmetic process in the case of FPU control.

【図10】ソフトエミュレート制御による場合の浮動小
数点演算処理を示す図である。
FIG. 10 is a diagram showing floating-point arithmetic processing in the case of soft emulation control.

【符号の説明】[Explanation of symbols]

1 :中央演算処理装置(CPU) 2 :浮動小数点処理装置(FPU) 3 :浮動小数点処理装置のソフトエミュレータ 4 :未接続/故障検出部 5 :フラグ保持部 6 :フラグ認識処理部 7 :外部入力手段 1: Central processing unit (CPU) 2: Floating point processing unit (FPU) 3: Soft emulator of floating point processing unit 4: Unconnected / fault detection unit 5: Flag holding unit 6: Flag recognition processing unit 7: External input means

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ハードウェアとマイクロプログラムによ
る浮動小数点処理装置(2) と,浮動小数点演算処理装置
(2) と同じ機能を有するソフトウァアにより構成された
ソフトエミュレータ(3) と,浮動小数点演算を浮動小数
点処理装置(2) で行うか,あるいはソフトエミュレータ
(3) で行うかを定めるフラグを保持するフラグ保持部
(5) と,フラグ保持部(5) のフラグを認識するフラグ認
識処理部(6) とを備え,フラグの有無に応じて,浮動小
数点処理装置(2) もしくはソフトエミュレータ(3) によ
り浮動小数点処理を行うことを特徴とする浮動小数点演
算装置。
1. A floating point processing device (2) comprising hardware and a microprogram, and a floating point arithmetic processing device.
A software emulator (3) composed of software having the same functions as (2) and either floating point arithmetic is performed by the floating point processor (2), or a software emulator
(3) Flag holding unit that holds the flag that determines whether to do it
(5) and a flag recognition processing unit (6) for recognizing the flag of the flag holding unit (5). Depending on the presence or absence of the flag, the floating point processing unit (2) or the software emulator (3) performs floating point processing. A floating point arithmetic unit characterized by performing processing.
【請求項2】 請求項1において,浮動小数点処理装置
(2) の未接続もしくは故障検出部(4) と外部入力手段
(7) を備え,該検出部(4) もしくは外部入力手段(7) に
よりフラグ保持部(5) にフラグセットすることを特徴と
する浮動小数点演算装置。
2. The floating point processing device according to claim 1.
Unconnected or failure detection part (4) of (2) and external input means
A floating point arithmetic unit comprising: (7), wherein a flag is set in a flag holding unit (5) by the detection unit (4) or external input means (7).
JP4234488A 1992-09-02 1992-09-02 Floating point arithmetic unit Withdrawn JPH0683636A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4234488A JPH0683636A (en) 1992-09-02 1992-09-02 Floating point arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4234488A JPH0683636A (en) 1992-09-02 1992-09-02 Floating point arithmetic unit

Publications (1)

Publication Number Publication Date
JPH0683636A true JPH0683636A (en) 1994-03-25

Family

ID=16971817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4234488A Withdrawn JPH0683636A (en) 1992-09-02 1992-09-02 Floating point arithmetic unit

Country Status (1)

Country Link
JP (1) JPH0683636A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317768B1 (en) * 1998-02-19 2001-12-22 포만 제프리 엘 IEEE compliant floating point unit
JP2010530996A (en) * 2007-03-30 2010-09-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer system, method, and computer-readable recording medium for converting program code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317768B1 (en) * 1998-02-19 2001-12-22 포만 제프리 엘 IEEE compliant floating point unit
JP2010530996A (en) * 2007-03-30 2010-09-16 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer system, method, and computer-readable recording medium for converting program code

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
JP4703718B2 (en) Selective subroutine return structure
JPH0533423B2 (en)
WO2000017750A1 (en) Use of other processors during bios boot sequence to minimize boot time
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH0193837A (en) Microprocessor for debug
US5680599A (en) Program counter save on reset system and method
US20100153786A1 (en) Processor, multiprocessor, and debugging method
JPH0689201A (en) Microprocessor having run/stop pin for accessing idle mode and operating method thereof
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
JPS6250934A (en) Interrupting control system of processor
JPH06332747A (en) Program debug method for multiprocessor system
JPH0683636A (en) Floating point arithmetic unit
JPH08272755A (en) Process switching device
JP3317361B2 (en) Battery backup control method for memory
KR19990053043A (en) Computer with Diagnostic Memory and Diagnostic Method
JPH08272770A (en) Microcontroller development system
JP2799646B2 (en) Diagnosis method of pipeline control computer
JPS61177551A (en) Start-up control system of processor
JPH0981275A (en) Arithmetic processing unit
JP2708647B2 (en) How coprocessors support auxiliary functions
JPS63271542A (en) Rom debugger
JPS62125437A (en) Control method for additional processor

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