JPH07120286B2 - 浮動小数点関数擬似命令処理方法 - Google Patents

浮動小数点関数擬似命令処理方法

Info

Publication number
JPH07120286B2
JPH07120286B2 JP62079653A JP7965387A JPH07120286B2 JP H07120286 B2 JPH07120286 B2 JP H07120286B2 JP 62079653 A JP62079653 A JP 62079653A JP 7965387 A JP7965387 A JP 7965387A JP H07120286 B2 JPH07120286 B2 JP H07120286B2
Authority
JP
Japan
Prior art keywords
processing
instruction
function
floating
pseudo
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.)
Expired - Lifetime
Application number
JP62079653A
Other languages
English (en)
Other versions
JPS63247834A (ja
Inventor
周一 石川
慶治郎 林
智明 中村
秀樹 佐藤
博 小林
隆行 森岡
義弘 宮崎
総一 高木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62079653A priority Critical patent/JPH07120286B2/ja
Publication of JPS63247834A publication Critical patent/JPS63247834A/ja
Publication of JPH07120286B2 publication Critical patent/JPH07120286B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は電子計算機システムにおいて浮動小数点関数の
処理をハードウエアの擬似命令としてソフトウエアプロ
グラムにより実現するための浮動小数点関数擬似命令処
理方法に関する。
〔従来の技術〕
浮動小数点演算機構(FAU)を持たない電子計算機シス
テムにおいては、例えば、モトローラ社の「セミコンダ
クタニユース」(No.14第4頁)に示されるようにFラ
イン・トラツプによるエミユレーシヨンの処理により浮
動小数点の演算を実現している。ここで、エミユレーシ
ヨンとはハードウエア命令をソフトウエア(プログラ
ム)にて行うこと。即ちソフトウエアプログラムにより
同一処理として実行することである。
従来、浮動小数点関数の処理方法についても同一な処理
方法が用いられていた。
〔発明が解決しようとする問題点〕
上記従来例では、擬似命令の関数演算ルーチンがソフト
ウエアプログラムによつて作成されているため関数演算
結果を設定する浮動小数点レジスタを固定的に割り当て
ておく必要があり、ハードウエアの擬似命令として使用
する場合、結果の設定が行なえる浮動小数点レジスタが
固定されてしまいユーザが指定したレジスタに結果を設
定するためにはソフトウエアプログラムにて命令コード
を解析する必要があつた。
本発明は、ソフトウエアプログラムの命令コードの解析
を不要とすると共に、ハードウエアの擬似命令として実
行し、オプシヨンにてFAUを装着時にプログラム修正な
しに同一命令コードにして実行させることを目的とす
る。
〔問題点を解決するための手段〕
上記目的は、ハードウエアの擬似命令処理において関数
演算前にあらかじめ演算結果を設定する浮動小数点演算
レジスタ番号をハードウエア専用領域に設定しておき、
関数演算終了後、擬似命令の処理においてこのレジスタ
番号に従い該当する浮動小数点レジスタに再度、結果を
設定することにより達成される。
〔作用〕
浮動小数点関数演算をハードウエアの擬似命令としてソ
フトウエアプログラムによりエミユレーシヨンを実行す
る時、その結果を格納するように指定された浮動小数点
演算レジスタ番号が、擬似命令処理内において実行する
関数演算の結果が設定される浮動小数点レジスタ番号と
異なつていても、関数演算処理の前に擬似命令実行時に
設定する浮動小数点レジスタ番号をハードウエア専用領
域に設定したことにより、結果を設定すべき浮動小数点
レジスタ番号が分かり、指定された浮動小数点レジスタ
に結果を設定できる。
〔実施例〕
第3図に電子計算機システムの構成例を示す。電子計算
機システムは、基本演算機構(BPU)13,浮動小数点関数
演算機構(FAU)14,主メモリ(MS)15,メモリ管理ユニ
ツト(MMU)16,キヤツシユメモリ(CACHE)17,ポート
(PORT)18,システムバス19及びI/O20により構成され、
浮動小数点関数演算機構14はオプシヨンにて接続される
ものとし、未だ未接続であるとする。また、第2図にお
けるハードウエア専用エリア12は主メモリ15に存在す
る。
以下、本発明の一実施例を第1図により説明する。
第1図は浮動小数点関数のハードウエア擬似命令の処理
フローを示す。ここで擬似命令とは、本来、浮動小数点
専用プロセツサ(ハードウエア)で浮動小数点演算を行
わせることに対比した用語である。ソフトウエアにより
あたかもハードウエアによる処理の如き機能を果たすこ
とから命名する。擬似命令のフオーマツト例を第4図に
示す。この図で、オペコードの「FSIN」は三角関数の正
弦処理命令であることを意味する。この他に、FCOS,FTA
N等の種々の関数が指定できる。ハードウエア擬似命令
は使用レジスタ退避処理4,オペランドデータ取出し処理
5,関数演算処理6,結果退避処理7,使用レジスタ回復処理
8、及び関数処理10,11,12,……はソフトウエアプログ
ラムにより作成されているものとする。各関数処理10,1
1,12,……は関数処理11に詳細に示すような同一処理を
行う。しかし、関数演算処理6は、各関数処理によつて
その処理内容が異なる。関数処理10では、関数F1の処
理、関数処理11では関数F2の処理、関数処理12では関数
F3の処理を行う。その他の処理4,5,7,8は全く同一の処
理とする。
また、オペランドデータ設定処理1,レジスタ番号退避処
理2,各関数ルーチンへの分岐処理3、及び結果再設定処
理9はいずれもBPU13に内蔵されたマイクロプログラム
にて作成されているものとする。他の処理4〜8はMS15
内にプログラムとして設定されている。
今、ユーザプログラムにて第4図に示す如き浮動小数点
関数命令を実行しようとするとBPU13において命令の種
類がFSINとして判定され、浮動小数点関数命令の場合、
三角関数の正弦処理を実行しようとする。この時、浮動
小数点関数演算機構14が未接続である故に、ハードウエ
アの擬似命令処理として第1図に示すオペランドデータ
設定処理1に制御を移す。オペランドデータ設定処理1
ではハードウエア命令として記述された第4図のオペラ
ンド情報を取り込む。この時、入力したデータは浮動小
数点データであり、これを第2図のハード専用エリア12
のワークエリアに設定する。次に第4図に示す浮動小数
点関数の処理結果を格納する浮動小数点レジスタ番号を
取り込み、これも第2図のハードウエア専用エリア12の
演算結果設定浮動小数点レジスタ退避エリア1に設定
し、さらにユーザプログラムの実行状態表示フラグ(S
R)及びプログラムカウンタ(PC)をハードウエア専用
エリア12のSRセーブエリア,PCセーブエリアにそれぞれ
退避する。但し、この退避ステツプは第1図では省略し
た。このSR及びPCは、擬似命令処理終了時に再度、ユー
ザプログラムの実行を行うために必要な情報であるが、
浮動小数点演算とは直接関係しない。又、ハードウエア
擬似命令は一般の命令と同時に実行させるため、システ
ムの実行状態をユーザモードからスーパーバイザモード
に切り換えかつ割込禁止状態とする。この処理ステツプ
も第1図では省略した。
次に、各関数ルーチンへの分岐処理3で、指定された擬
似命令のオペコードFSINにより処理すべきルーチンの分
岐先を判定する。オペコードを入力してハードウエア専
用エリア12の関数先頭アドレス情報より処理ルーチンへ
分岐する。第2図では、擬似命令の種類としてFACOSか
らFTANHまでを示している。この場合、分岐先はFSINで
示すアドレスとなる。各処理ルーチン第1図の4〜8は
ソフトウエアプログラムで作成されているため、まず使
用レジスタ退避処理4を行い、各ルーチン内で使用する
浮動小数点レジスタの退避を行つておく。次に、オペラ
ンドデータ取り出し処理5でハードウエア専用エリア12
のワークエリアに設定してあるオペランド情報を浮動小
数点演算レジスタに取り出し、関数演算処理6を実行す
る。関数演算処理6では演算結果を特定の浮動少数値レ
ジスタに設定して処理を終了する。関数の演算結果をユ
ーザが指定した浮動小数点レジスタに設定するために、
あらかじめ演算結果をハードウエア専用エリア12のワー
クエリアに設定する(処理7)。この時入力したデータ
の値は破壊され関数の演算結果に置き換える。関数の演
算結果をレジスタからワークエリアに退避するのは、次
の処理にて使用した浮動小数点レジスタの値をすべて回
復するために必要となる。関数の結果をワークエリアに
退避した後、使用レジスタ回復処理8を行い、先に退避
したレジスタの値を再び当該レジスタにラツチする。次
に制御をBPUのマイクロプログラムに移す。マイクロプ
ログラムでは結果再設定処理9にてハードウエア専用エ
リア12の演算結果設定浮動小数点レジスタ退避エリア1
に設定されている浮動小数点レジスタ番号に関数結果と
してワークエリアの値を設定し、SR及びPC情報を回復
し、割り込み禁止解除及びスーパーバイザモードからユ
ーザモードにシステムの状況を変更したのち、ユーザプ
ログラムに制御を戻す。これにてハードウエアの擬似命
令の一連の処理が終了し、ユーザが指定した浮動小数点
レジスタに関数結果が求まることになる。
これによりFAUが装着されていない系にあつても、FAUと
同様な処理が可能となる。
次に、上記実施例に、FAUを新たにオプシヨンによつて
装着することを考える。FAUでの処理は、第4図の命令
コードと同一命令コードによつて行われる。従つて、命
令形式を変更することなく、FAの機能の拡張が可能とな
る。
〔発明の効果〕
本発明によれば、浮動小数点関数演算機構を有しない電
子計算機システムにおいても浮動小数点関数をハードウ
エアの擬似命令として使用することが可能となり、FAU
をオプシヨンにて装着時にも、同一命令コード(オプジ
エクトコードの互換性)を堅持することができる。
【図面の簡単な説明】
第1図は本発明の一実施例のハードウエア擬似命令の処
理フロー図、第2図はハードウエア専用エリアの構成
図、第3図は電子計算機システムの構成図、第4図は命
令コード例図である。 1……オペランドデータ設定処理、2……レジスタ番号
退避処理、5……オペランドデータ取出し処理、6……
関数演算処理、7……結果退避処理、9……結果再設定
処理、12……ハードウエア専用エリア、14……浮動小数
点関数演算機構
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 秀樹 茨城県日立市大みか町5丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 小林 博 茨城県日立市大みか町5丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 森岡 隆行 茨城県日立市大みか町5丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 宮崎 義弘 茨城県日立市大みか町5丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 高木 総一 茨城県日立市大みか町5丁目2番1号 株 式会社日立製作所大みか工場内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】浮動小数点関数命令をハードウェア命令と
    してサポートしていない電子計算機システムの浮動小数
    点関数擬似命令処理方法において、ハードウェア命令の
    擬似命令としてソフトウェアプログラムによりエミュレ
    ーションを行う場合、関数演算処理前にユーザが指定し
    た演算結果設定用の浮動小数点レジスタの番号を予め主
    メモリ上のハードウェア専用領域へ設定してからエミュ
    レーション処理を行うソフトウェアプログラムに処理を
    移し、関数演算の演算結果が特定の浮動小数点レジスタ
    に設定されて前記エミュレーション処理が終了した後、
    前記ユーザの指定した前記番号の浮動小数点レジスタに
    前記演算結果を再設定することを特徴とする浮動小数点
    関数擬似命令処理方法。
JP62079653A 1987-04-02 1987-04-02 浮動小数点関数擬似命令処理方法 Expired - Lifetime JPH07120286B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62079653A JPH07120286B2 (ja) 1987-04-02 1987-04-02 浮動小数点関数擬似命令処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62079653A JPH07120286B2 (ja) 1987-04-02 1987-04-02 浮動小数点関数擬似命令処理方法

Publications (2)

Publication Number Publication Date
JPS63247834A JPS63247834A (ja) 1988-10-14
JPH07120286B2 true JPH07120286B2 (ja) 1995-12-20

Family

ID=13696091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62079653A Expired - Lifetime JPH07120286B2 (ja) 1987-04-02 1987-04-02 浮動小数点関数擬似命令処理方法

Country Status (1)

Country Link
JP (1) JPH07120286B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7669050B2 (en) * 2004-06-24 2010-02-23 International Business Machines Corporation Method to enable user mode process to operate in a privileged execution mode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS543334A (en) * 1977-06-10 1979-01-11 Marutama Sangiyou Kk Building material and making method thereof
JPS6232540A (ja) * 1985-08-06 1987-02-12 Nec Corp 情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS543334A (en) * 1977-06-10 1979-01-11 Marutama Sangiyou Kk Building material and making method thereof
JPS6232540A (ja) * 1985-08-06 1987-02-12 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JPS63247834A (ja) 1988-10-14

Similar Documents

Publication Publication Date Title
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
US6209079B1 (en) Processor for executing instruction codes of two different lengths and device for inputting the instruction codes
CA1297591C (en) Exception reporting mechanism for a vector processor
WO2010004243A2 (en) Interrupt processing
JPH0769783B2 (ja) 例外処理方式
JPH0795278B2 (ja) 処理装置の割込制御方式
JPH07120286B2 (ja) 浮動小数点関数擬似命令処理方法
JP2778717B2 (ja) データ処理ユニット
JPS61173358A (ja) データ処理装置
JPH056281A (ja) 情報処理装置
JPH08221257A (ja) データ処理装置用除算器
JPH1091432A (ja) プログラム実行方法およびプログラム実行装置
JPH07219766A (ja) 演算処理装置
JPH10240529A (ja) レジスタ・コンテキストをセーブする方法およびシステム
JP2557629B2 (ja) 割込方式
JP2708647B2 (ja) コプロセサによる補助機能のサポート方法
US6934728B2 (en) Euclidean distance instructions
JPH05165652A (ja) タスク切替え制御方法
JPS6230455B2 (ja)
JP2743685B2 (ja) 固定小数点プロセッサ
JP2000112754A (ja) データ処理装置
JP3116444B2 (ja) 半導体計算装置および電子機器
JPH1115660A (ja) マイクロプロセッサ
JPS63138432A (ja) 情報処理装置
JPH06274353A (ja) 信号処理プロセッサ