[go: up one dir, main page]

JPS60159948A - 命令例外処理方式 - Google Patents

命令例外処理方式

Info

Publication number
JPS60159948A
JPS60159948A JP1341284A JP1341284A JPS60159948A JP S60159948 A JPS60159948 A JP S60159948A JP 1341284 A JP1341284 A JP 1341284A JP 1341284 A JP1341284 A JP 1341284A JP S60159948 A JPS60159948 A JP S60159948A
Authority
JP
Japan
Prior art keywords
instruction
mode
exception handling
code
software
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.)
Pending
Application number
JP1341284A
Other languages
English (en)
Inventor
Toshiyuki Uda
右田 俊幸
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP1341284A priority Critical patent/JPS60159948A/ja
Publication of JPS60159948A publication Critical patent/JPS60159948A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔技術分野〕 本発明は情報処理装置における命令の例外処理方式に関
するものである。
〔従来技術〕
一般に情報処理装置において、記憶装置から読み出され
て実行される命令はその動作を規定するオペレーション
コードフィールドを含んでおシ。
ある確立したアーキテクチャを実現するためには各オペ
レーションコードに対応する命令の動作は厳密に規定さ
れていることが必要である。
一方、ある種の情報処理装置においては仮想計算機と呼
ばれる機能を有するものがあって、アーキテクチャの異
なる情報処理装置の動作をシミュレートしたシ、あるい
は実際には1台のマシンしか存在しないのに使用者から
見ると仮想的に複数のマシンや複数のオペレーティング
ソフトウェアが存在するかのごとく動作することが可能
となっている。このような仮想マシンにおいては、上述
Lfようなオペレーションコードによって規定される命
令動作を仮想マシンの条件に合わせて変更することが必
要となる。その理由は、異なるアーキテクチャのシミー
レートの場合は明らかであろうし、また複数の仮想マシ
ンを実現する場合でも実マシン上に物理的に1つしかな
いような装置や領域をアクセスしたシする入出力要求の
命令などは本来の規定動作だけでは所望の結果を得られ
ないからである。
上記のように、ある特定のオペレーションコードの命令
が、仮想マシンとして処理実行中の状態で検出されたと
きに1例外的な特殊処理をするだめの方法としては、従
来次のようなものがあった第一の方法は、仮想マシンの
ような特定のモード下で特殊命令が出現した場合には、
ただちに、これをプログラム例外として上位のオペレー
ティングソフトウェアに報告するというものである。オ
ペレーティングソフトウェアは報告されたプログラム例
外が、命令動作シミーレートを要求するものであるか否
かを判定し、そである場合はプログラム例外の原因とな
った命令を読み出してきて。
その内容に応じたシミーレートを行なう。
この方法の場合、ソフトウェアによるシミュレートの処
理は柔軟な対処が可能であるが、プログラム例外が起き
てソフトウェアがそれに対応するまでの動作上のオーバ
ヘッドがかなシ大きくなシ。
性能面の問題がある。
第二の方法は、第一の方法と違ってプログラム例外を起
こさないようにして、特定命令の仮想マシンモード下で
の動作をあらかじめ情報処理装置のハードウェアあるい
はマイクロプログラムに組み込んでおく方法である。こ
の方法によれば、性能上は無駄なソフトウェア動作がな
くなるだけ2条件が良くなる。ただし、逆に融通性を失
ってしまい2幅広い目的を持った仮想計算機を実現する
には有効でない。
〔発明の目的〕
本発明の目的は、情報処理装置において特定の特殊例外
処理条件の下では命令の通常動作のかわシに、自動的に
記憶装置上のあらかじめ設定された命令ルーチンへの分
岐を可能とし、しかもこの分岐先アドレスの決定には命
令のオペレーションコードの情報も関連させることによ
シ、ソフトウェアで命令の判定等の処理をすることなく
、仮想計算機の機能の実現やソフトウェアの評価を可能
とした命令例外処理方式を提供することにある。
〔発明の構成〕
本発明によれば、特殊例外処理不要モードと複数レベル
からなる特殊例外処理モードとのうちのいずれかを、動
作指定モードとして設定可能な動作指定モード部を有し
、動作を規定するオペレーションコードフィールドと、
該動作に必要なデータの指定をするオペランド指定フィ
ールドとを含む命令語を、記憶装置から順次読み出して
、動作指定モード部の動作指定モードに従って、実行す
モードが特殊例外処理不要モードである場合は。
前記記憶装置から読み出された命令語のオペレーション
コードによって規定される動作を実行し。
前記動作指定部の動作指定モードが特殊例外処理モード
である場合は、前記記憶装置から読み出されり命令語の
オペレーションコードをチェックし前記特殊例外処理モ
ードの各レベルに対応してあらかしめ定められた特殊例
外処理対象命令でなければそのオペレーションコードに
よって規定される動作を実行し、該特殊例外処理対象命
令である場合には、そのオペレーションコードの規定す
る動作の実行を抑止するとともに、あらかじめ定められ
た。ソフトウェアが必要とする情報を前記記憶装置に格
納し、オペレーションコ・−ドの情報と。
特殊例外処理モードのレベルと、あらかじめソフトウェ
アによって定められたベースアドレスとに基づいて決定
されるアドレスを生成し、前記記憶装置の前記生成アド
レスに格納されている命令への無条件分岐動作を実行し
、これによって命令の特殊例外処理をソフトウェアに通
知して処理させることを特徴とする命令例外処理方式が
得られる。
〔実施例〕
次に1本発明の実施例について1図面を参照しながら詳
細に説明する。
第1図を参照すると2本発明の一実施例による命令例外
処理方式における記憶装置上のデータの配置及び各種ポ
インタなどが概念的に示されている。第1図において、
記憶装置1から、命令Iインタ2によって指定され読み
出された命令語3は。
動作指定モード部4の動作指定モードに従って。
第2図のフローチャートに示すような手順で処理される
。この処理を実現するのは、結線論理で完全な・・−ド
ウエア制御でも可能であるし、あるいはマイクロプログ
ラム制御によっても可能であろうO ここではまず、実マシンの命令動作と一部異なった命令
レバートリーを有する仮想的なマシンをシミーレートす
る場合を考える。
記憶装置lのうち、仮想マシンを管理するだめのモニタ
用オペレーティングソフトウェア(VMMと呼ぶ)は第
1図に示すibの領域を専有しておシ、仮想マシン上の
オペレーティングソフトウェア(VMO8と呼ぶ)及び
その下で動くジョブグロダラムには残シの18の領域が
与えられているとする。VMMはまず実マシン上で、仮
想マシン起動のだめの資源の割当て、動作指定モード部
4への仮想マシンレベルの設定を行なう。本実施例では
動作指定モード部4の動作指定モードは3ビツトからな
シ、モード”ooo”は実マシン動作モード。
モー )’ ”001” 、 ”010” 、 ”01
1”、 ・、 ”110”、”111”はそれぞれ仮想
マシンの機能に応じたレベルを表わすこととする。すな
わち、”000”以外のモードは特殊例外処理モードに
対応し、また動作指定モード部4が” o o o ”
の実マシン動作モードとは、即ち特殊例外処理不要であ
るような唯一の状態を意味する。動作指定モード部4が
特殊例外処理モードの場合にはモードに対して、あらか
じめ定められたオ被し−ションコードをもつ一部の命令
が特殊例外処理の対象となる。どの命令を特殊例外処理
の対象とするかは、たとえば情報処理装置内の制御用回
路にあらかじめ組み込んでおくことも可能だし、その登
録をソフトウェアの命令によって変更する方法も考えら
れる。
さて第2図のフローチャートで示すように、ステップ1
で記憶装置1からの命令3の読み出しが行なわれる。こ
の記憶装置1から読み出された命令3は、ステップS2
及びステ、ゾS4でまずそのオペレーションコードで規
定される動作をそのまま許すかどうかがチェックされる
。命令語3は第3図に示すように、オペレーションコー
ド指定フィールド3aとオペランド指定フィールド3b
を含んでおシ、このうちオペレーションコード指定フィ
ールド3aの内容がステップ4においてチェックの対象
となる部分である。特殊例外処理モードでない、つま多
動作指定モード4がuooo”の場合は、オペレーショ
ンコード規定動作の実行が許可される(ステップS 3
 ’)。これは通常VMMが使用するモードである。動
作指定モード4が1000″′以外の場合は、オペレー
ションコード指定フィールド3aの内容が具体的にチェ
ックされ(ステップS4)、その結果に従ってステラf
S3tBるいはステラ76S5のいずれかに進む。ステ
ップS5に進ムのは、オ被し−ションコードに対する実
マシンの動作と仮想マシンの動作が異なる命令のときで
アシ、仮想マシンの期待するのと等価の動作を実マシン
1で実現するため■■側に準備されているシミュレーシ
ョンルーチンを実行する必要があるからである。まずス
テップS5ではオペレージコンコード3aで規定される
動作、即ち動作指定モード4が′000”の場合に行な
う動作を抑止し。
ステップS6ではVMMが必要とする情報を記憶装置に
格納する。ここで格納する情報の中には、現在実行しよ
うとしている命令の命令ポインタ2の内容や、動作指定
モード4の内容が含まれる。これらの情報は、 VMI
IIIで実マシン動作モードでのシミーレージロン動作
を完了後、再びVMO8の下のジョブプログラムへ復帰
して処理を続行するために利用される。ステップS7で
は第3図に示すような計算をすることによp 、 VM
M内シミュレーションルーチン5のどの番地の命令へ分
岐するかを決定する。本実施例ではオペレーションコー
ド指定フィールド3aが8ビツト、動作指定モード4カ
玉3ビツト、そしてシミュレーションル−チン5の開始
ペースアドレス6が16ビツトの幅を有シているとする
。第3図の例では、オペレーションコード指定フィール
ド3aの下位に4ビツトの0”。
動作指定モード4の下位に12ピツ)の0”を付加して
、これらをペースアドレス6に加算して特定モード下で
の特定オペレーションコードの命令のシミュレーション
ルーチン5aの入ロヲ求メる。■個では前もってこれに
対応するアドレス位置にシミュレーション実現のだめの
命令シーケンスを準備している。たとえば、オペレーシ
ョンコード3a、動作モード4.ペースアドレス6の内
容が16進表示で“FO”、′4″及び“00AO”で
あるとシミュレーションルーチン5aの入口アドレスは
、 ”FOO” 十”4000″’ + ”、00八〇
”の和つまシ“4FAO”番地となシ、ここから16語
分は特定オペレーションコードの命令のシミュレーショ
ン用命令シーケンス領域として使用できる。勿論、16
語以下でシミュレートできる命令もあってよいし、逆に
17語以上が必要な場合は、不足の命令語用領域を別に
準備してもよい。
このようにして、ステップS7でめたアドレスはステッ
プS8での無条件分岐の分岐先アドレスとなシ2分岐動
作が実行されるところまでは。
まったくソフトウェアの介入なしで自動的に行なわれる
。ソフトウェア(VMM )はシミュレーション用ルー
チンを準備しておくだけでよく、またこの仮想マシンの
動作はシミュレーション用ルーチンを手直しするだけで
容易に変更できるので、完全にハードウェア化された仮
想マシン方式よシ融通性に富み、またソフトウェアでわ
ざわざ命令のオペレーションコードや仮想マシンの動作
モードをテストすることも必要ないので、シミュレーシ
ョン時の無駄なオーバヘッドによる性能低下も少くでき
る。
上記実施例では主に仮想計算機システムを念頭において
説明をしたが、たとえば、仮想計算機として使用する場
合でなくても、ある特定の命令が出現したときだけ仮に
それをソフトウェアに通知したシ、または機能拡張の評
価をするために一時的に従来とは異なる動作をさせてみ
たいときなどにも有効に利用出来不方式である。
また上記実施例ではシミュレーションルーチン5aのア
ドレスをめる際にオペレーションコード3aを単純な加
算9人力として用いたが、これを適当にデコードして縮
退したコードにするならハ、シミーレーションルーチン
5の全体ノ容量ハさらに減らすこともできる。
〔発明の効果〕
本発明には2以上説明したように命令のオペレーション
コードに基づいた自動的な分岐動作を可能とすることに
よシ、とくに仮想計算機などの命令例外処理を効率良く
実現出来るという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例による命令例外処理方式にお
ける記憶装置上のデータの配置及び各種ポインタなどの
概念を示す図であシ、第2図は本発明の一実施例による
命令例外処理方式における処理手順の概略を示すフロー
チャートであシ、また第3図は本発明の一実施例による
命令例外処理方式におけるアドレス生成の方法を説明す
る図である。 1・・・記憶装置、2・・・命令ポインタ、3・・・命
令語。 4・・・動作指定モード部、5・・・シミュレーション
ル−チン格納領域、6・・・シミュレーションル−チン
ポインタ0 第1図 弗2図

Claims (1)

  1. 【特許請求の範囲】 作指定モードとして設定可能な動作指定モード部ヲ有し
    、動作を規定するオペレージロンコードフィールドと、
    該動作に必要なデータの指定をするオペランド指定フィ
    ールドとを含む命令語を、記憶装置から順次読み出して
    、動作指定モード部の動作指定モードに従って実行する
    情報処理装置を備え。 該情報処理装置は、前記動作指定部の動作指定モードが
    特殊例外処理不要モードである場合は。 前記記憶装置から読み出された命令語のオペレーション
    コードによって規定される動作を実行し。 前記動作指定部の動作指定モードが特殊例外処理モード
    である場合は、前記記憶装置から読み出された命令語の
    オペレーションコードをチェクし。 前記特殊例外処理モードの各レベルに対応してあらかじ
    め定められた特殊例外処理対象命令でなければそのオペ
    レーションコードによって規定される動作を実行し、該
    特殊例外処理対象命令である場合には、そのオペレージ
    ロンコードの規定する動作の実行を抑止するとともに、
    あらかじめ定められた。ソフトウェアが必要とする情報
    を前記記憶装置に格納し、オペレーションコードの情報
    と特殊例外処理モードのレベルと、あらかじめソフトウ
    ェアによって定められたペースアドレスとに基づいて決
    定されるアドレスを生成し、前記記憶装置の前記生成ア
    ドレスに格納されている命令への無条件分岐動作を実行
    し、これによって命令の特殊例外処理をソフトウェアに
    通知して処理させることを特徴とする命令例外処理方式
JP1341284A 1984-01-30 1984-01-30 命令例外処理方式 Pending JPS60159948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1341284A JPS60159948A (ja) 1984-01-30 1984-01-30 命令例外処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1341284A JPS60159948A (ja) 1984-01-30 1984-01-30 命令例外処理方式

Publications (1)

Publication Number Publication Date
JPS60159948A true JPS60159948A (ja) 1985-08-21

Family

ID=11832417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1341284A Pending JPS60159948A (ja) 1984-01-30 1984-01-30 命令例外処理方式

Country Status (1)

Country Link
JP (1) JPS60159948A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6334641A (ja) * 1986-07-29 1988-02-15 Nec Corp 情報処理装置
JPS6334642A (ja) * 1986-07-29 1988-02-15 Nec Corp 情報処理装置
JPS63147236A (ja) * 1986-12-10 1988-06-20 Nec Corp 情報処理装置
US4887202A (en) * 1985-07-31 1989-12-12 Hitachi, Ltd. Input-output control method in a virtual machine system
JPH01310442A (ja) * 1988-06-08 1989-12-14 Nec Corp マイクロコンピュータ
JPH0512005A (ja) * 1991-07-02 1993-01-22 Nec Corp 情報処理装置
JP2013535063A (ja) * 2010-06-24 2013-09-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 特定の命令がプロセッサによって実行されないようにブロックするためのコンピュータで実装される方法、コンピュータ・システム、およびコンピュータ・プログラム
US9851969B2 (en) 2010-06-24 2017-12-26 International Business Machines Corporation Function virtualization facility for function query of a processor

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887202A (en) * 1985-07-31 1989-12-12 Hitachi, Ltd. Input-output control method in a virtual machine system
JPS6334641A (ja) * 1986-07-29 1988-02-15 Nec Corp 情報処理装置
JPS6334642A (ja) * 1986-07-29 1988-02-15 Nec Corp 情報処理装置
JPS63147236A (ja) * 1986-12-10 1988-06-20 Nec Corp 情報処理装置
JPH01310442A (ja) * 1988-06-08 1989-12-14 Nec Corp マイクロコンピュータ
JPH0512005A (ja) * 1991-07-02 1993-01-22 Nec Corp 情報処理装置
JP2013535063A (ja) * 2010-06-24 2013-09-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 特定の命令がプロセッサによって実行されないようにブロックするためのコンピュータで実装される方法、コンピュータ・システム、およびコンピュータ・プログラム
US9851969B2 (en) 2010-06-24 2017-12-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US10521231B2 (en) 2010-06-24 2019-12-31 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
US10664269B2 (en) 2010-06-24 2020-05-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US11086624B2 (en) 2010-06-24 2021-08-10 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
US11188326B2 (en) 2010-06-24 2021-11-30 International Business Machines Corporation Function virtualization facility for function query of a processor
US11809870B2 (en) 2010-06-24 2023-11-07 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor

Similar Documents

Publication Publication Date Title
US20020129299A1 (en) System and method for monitoring execution of privileged instructions
JPS6258341A (ja) 入出力割込処理方式
JPS60136833A (ja) オペレ−テイングシステムの切替え方式
US7010671B2 (en) Computer system and method for executing interrupt instructions in two operating modes
JPS60159948A (ja) 命令例外処理方式
US6735774B1 (en) Method and apparatus for system call management
JPS6049352B2 (ja) デ−タ処理装置
Thomas JSYS traps: a TENEX mechanism for encapsulation of user processes
JPS63269237A (ja) マイクロコンピユ−タの開発装置
JPH0638238B2 (ja) 仮想計算機システム
JPH0754470B2 (ja) 仮想計算機システムの制御方法
JPS5856051A (ja) アクセス割込みによるアドレス・コンペア方式
JPS58200349A (ja) マイクロプログラム制御装置
JP2747164B2 (ja) ソフトウェア・シミュレータ
JP3140028B2 (ja) サブルーチンの引数の受け渡し方式
JPS607295B2 (ja) デ−タ処理装置
JP3470903B2 (ja) 利用者資格を付加する処理装置
JPS6238746B2 (ja)
JPH0677236B2 (ja) I/o割込みをシミュレートする装置及び方法
JPS5842891B2 (ja) メイレイセイギヨホウシキ
JPS6118224B2 (ja)
JPH03127171A (ja) ベクトル処理装置
JPS62108335A (ja) 入出力動作制御方式
JPS62221034A (ja) 演算制御装置
JPH04167146A (ja) 情報処理装置のアドレストレース方式