JPH02231634A - ソフトウェア互換性維持方法 - Google Patents
ソフトウェア互換性維持方法Info
- Publication number
- JPH02231634A JPH02231634A JP5238489A JP5238489A JPH02231634A JP H02231634 A JPH02231634 A JP H02231634A JP 5238489 A JP5238489 A JP 5238489A JP 5238489 A JP5238489 A JP 5238489A JP H02231634 A JPH02231634 A JP H02231634A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- undefined
- illegal
- operating system
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 10
- 238000004088 simulation Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野ノ
本発明はコンピュータシステムに関し、特に中央処理装
置の命令セット変更によるソフトウェアの互換性喪失を
防ぐ方法に関する. 〔従来の技術J 中央処理装置(以下CPU)を設計する場合,ソフトウ
ェア上位互換性を考慮することは極めて大切である.な
ぜならば、あるCPUの論理設計をする場合、従来のC
PUの命令セットを無視して新たに命令セットを定義し
てしまうと,それまで流通していたソフトウェアが該C
PU上では一切動作しなくなり、該CPU上で動作する
ソフトウェアを新たに開発する必要がある.これは極め
て非現実的であるため.CPUの論理設計の際には,従
来のCPUの命令セットとの互換性を保つように設計す
るのが定石である. しかしながら、事情によりこのソフトウェアの互換性を
崩さざるを得ない場合がある.この場合、従来は,命令
セット変更の影響を受けるすべてのソフトウェアを新し
い命令セット内の命令を使ってリコーディングしていた
. 〔発明が解決しようとする課題〕 上述した従来のソフトウェア互換性維持方法は、命中セ
ット変更により影響を受けるすべてのソフトウェアを逐
一修正しなければならないので、その修正作業に多大の
工数が必要という欠点がある。
置の命令セット変更によるソフトウェアの互換性喪失を
防ぐ方法に関する. 〔従来の技術J 中央処理装置(以下CPU)を設計する場合,ソフトウ
ェア上位互換性を考慮することは極めて大切である.な
ぜならば、あるCPUの論理設計をする場合、従来のC
PUの命令セットを無視して新たに命令セットを定義し
てしまうと,それまで流通していたソフトウェアが該C
PU上では一切動作しなくなり、該CPU上で動作する
ソフトウェアを新たに開発する必要がある.これは極め
て非現実的であるため.CPUの論理設計の際には,従
来のCPUの命令セットとの互換性を保つように設計す
るのが定石である. しかしながら、事情によりこのソフトウェアの互換性を
崩さざるを得ない場合がある.この場合、従来は,命令
セット変更の影響を受けるすべてのソフトウェアを新し
い命令セット内の命令を使ってリコーディングしていた
. 〔発明が解決しようとする課題〕 上述した従来のソフトウェア互換性維持方法は、命中セ
ット変更により影響を受けるすべてのソフトウェアを逐
一修正しなければならないので、その修正作業に多大の
工数が必要という欠点がある。
未定義命令をオペレーティングシステムがシミュレーシ
ョンするので、ジョブプログラムを何ら修正することな
くソフトウェア互換性を保つことができる。
ョンするので、ジョブプログラムを何ら修正することな
くソフトウェア互換性を保つことができる。
〔実施例1
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は本発明の一実施例を示すソフトウェア互換性維
持方法の流れ図、第2図は主記憶装置10内を示す図で
ある. 主記憶装置10には、オペレーティングシステム1lと
ジョブプログラムl2がロードされており、ジョブプロ
グラムl2が実行中である.このジョブプログラム12
は未定義命令を含んでおり、この未定義命令が実行され
ると不正命令割込みが発生し、オペレーティングシステ
ムl1の中の不正命令割込み処理l3に制御が渡る.不
正命令割込み処理l3は、前記未定義命令の動作をシミ
ュレーションする. 次に、この制御手順を第1図に基づき説明する.今、C
PU−0とCPU−Nがあり、CPU一Nの命令セット
はCPU−0の命令セットに比べて1命令(以後、IN
ST−A)少ないと仮定する。さらに、ジョブプログラ
ムI2は前記命令INST−Aを含むと仮定する. 上記仮定のもとに、ジョブプログラムI2をCPU−N
上で動作させる(ステップ1).ジョブプログラム12
がCPU−0上で動作する場合には,CP[J−0の命
令セットはジョブプログラムl2が動作するに必要な命
令をすべて含んでいるから正常に終了する.しかし、ジ
ョブプログラムl2がCPU−N上で動作する場合には
、C P. U − Nの命令セットは前記命令INS
T−Aを含んでいないため、不正命令を実行した旨の割
込みが発生する(ステップ2).不正命令割込みが発生
すると、オペレーティングシステム11は、該不正命令
割込みが発生した時点のCPU−Nの内部状態を退避す
る(ステップ3).オペレーティングシステム11は,
前記不正命令割込みを引起こした命令を解読するために
、該不正割込みアドレスと主記憶装置lOに格納されて
いるジョブプログラムl2とを基に該不正割込みが発生
した時点で実行されていた命令を求める(ステップ4)
.該命令がTNST−Aか否かチェックする(ステップ
5)6もし、I NST−Aでなければ、才ベレーテイ
ングシステム11は標準的な不正割込み処理を実行する
(ステップ6).もし、I NST−Aであれば、ステ
ップ4で求めた命令語を解読し、ステップ3で退避した
C P U − Nの内部状態情報を使ってI NST
−Aをシミュレーションする(ステップ7).INST
−Aのシミュレーションが終了すると,オペレーティン
グシステム11は該I NST一Aの次に位置している
命令に制御を渡す(ステップ8).制御を受けとったジ
ョブプログラムl2は以降の処理を継続する(ステップ
9).以降の処理で、再びI NST−Aが実行された
ならば、ステップ2での処理が再起動され、以後ステッ
プ9までの処理が繰返される. 〔発明の効果1 以上説明したように本発明は.本来、中央処理装置が実
行すべき命令を才ベレーテイングシステムがシミュレー
ションすることにより、たとえ中央処理装置の命令セッ
トに変化があっても、ジョブプログラムを何等修正する
ことなく、ソフトウェア互換性を保つことができろ効果
がある。
持方法の流れ図、第2図は主記憶装置10内を示す図で
ある. 主記憶装置10には、オペレーティングシステム1lと
ジョブプログラムl2がロードされており、ジョブプロ
グラムl2が実行中である.このジョブプログラム12
は未定義命令を含んでおり、この未定義命令が実行され
ると不正命令割込みが発生し、オペレーティングシステ
ムl1の中の不正命令割込み処理l3に制御が渡る.不
正命令割込み処理l3は、前記未定義命令の動作をシミ
ュレーションする. 次に、この制御手順を第1図に基づき説明する.今、C
PU−0とCPU−Nがあり、CPU一Nの命令セット
はCPU−0の命令セットに比べて1命令(以後、IN
ST−A)少ないと仮定する。さらに、ジョブプログラ
ムI2は前記命令INST−Aを含むと仮定する. 上記仮定のもとに、ジョブプログラムI2をCPU−N
上で動作させる(ステップ1).ジョブプログラム12
がCPU−0上で動作する場合には,CP[J−0の命
令セットはジョブプログラムl2が動作するに必要な命
令をすべて含んでいるから正常に終了する.しかし、ジ
ョブプログラムl2がCPU−N上で動作する場合には
、C P. U − Nの命令セットは前記命令INS
T−Aを含んでいないため、不正命令を実行した旨の割
込みが発生する(ステップ2).不正命令割込みが発生
すると、オペレーティングシステム11は、該不正命令
割込みが発生した時点のCPU−Nの内部状態を退避す
る(ステップ3).オペレーティングシステム11は,
前記不正命令割込みを引起こした命令を解読するために
、該不正割込みアドレスと主記憶装置lOに格納されて
いるジョブプログラムl2とを基に該不正割込みが発生
した時点で実行されていた命令を求める(ステップ4)
.該命令がTNST−Aか否かチェックする(ステップ
5)6もし、I NST−Aでなければ、才ベレーテイ
ングシステム11は標準的な不正割込み処理を実行する
(ステップ6).もし、I NST−Aであれば、ステ
ップ4で求めた命令語を解読し、ステップ3で退避した
C P U − Nの内部状態情報を使ってI NST
−Aをシミュレーションする(ステップ7).INST
−Aのシミュレーションが終了すると,オペレーティン
グシステム11は該I NST一Aの次に位置している
命令に制御を渡す(ステップ8).制御を受けとったジ
ョブプログラムl2は以降の処理を継続する(ステップ
9).以降の処理で、再びI NST−Aが実行された
ならば、ステップ2での処理が再起動され、以後ステッ
プ9までの処理が繰返される. 〔発明の効果1 以上説明したように本発明は.本来、中央処理装置が実
行すべき命令を才ベレーテイングシステムがシミュレー
ションすることにより、たとえ中央処理装置の命令セッ
トに変化があっても、ジョブプログラムを何等修正する
ことなく、ソフトウェア互換性を保つことができろ効果
がある。
第1図は本発明の一実施例を示すソフトウェア互換性維
持方法の流れ図、第2図は主記憶装置10内の構成を示
す図である. 1〜9・・・ステップ 10・・・主記憶装置 11・・・オペレーティングシステム 12・・・ジョブプログラム l3・・・不正命令割込み処理
持方法の流れ図、第2図は主記憶装置10内の構成を示
す図である. 1〜9・・・ステップ 10・・・主記憶装置 11・・・オペレーティングシステム 12・・・ジョブプログラム l3・・・不正命令割込み処理
Claims (1)
- 1、自分が動作する中央処理装置の命令セットとして定
義されていない未定義命令を含むジョブプログラムが実
行中に不正命令割込みが発生すると、オペレーティング
システムは、不正命令割込み発生時点の中央処理装置の
状態を退避し、不正命令割込みを引起した命令を抽出し
、該命令が前記未定義命令であれば、退避した中央処理
装置の状態情報を使って前記未定義命令をシミュレーシ
ョンし、シミュレーションが終了すると、オペレーティ
ングシステムは前記未定義命令の次の命令へ制御を渡す
、ソフトウェア互換性維持方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5238489A JPH02231634A (ja) | 1989-03-03 | 1989-03-03 | ソフトウェア互換性維持方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5238489A JPH02231634A (ja) | 1989-03-03 | 1989-03-03 | ソフトウェア互換性維持方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02231634A true JPH02231634A (ja) | 1990-09-13 |
Family
ID=12913314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5238489A Pending JPH02231634A (ja) | 1989-03-03 | 1989-03-03 | ソフトウェア互換性維持方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02231634A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003046715A1 (fr) * | 2001-11-29 | 2003-06-05 | Fujitsu Limited | Dispositif central de traitement et programme de fonctionnement |
JP2013191089A (ja) * | 2012-03-14 | 2013-09-26 | Fujitsu Ltd | 例外処理方法、プログラム及び装置 |
-
1989
- 1989-03-03 JP JP5238489A patent/JPH02231634A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003046715A1 (fr) * | 2001-11-29 | 2003-06-05 | Fujitsu Limited | Dispositif central de traitement et programme de fonctionnement |
JP2013191089A (ja) * | 2012-03-14 | 2013-09-26 | Fujitsu Ltd | 例外処理方法、プログラム及び装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10139876B2 (en) | Efficient reboot of an operating system executed in a virtual machine | |
US6895460B2 (en) | Synchronization of asynchronous emulated interrupts | |
JP7377812B2 (ja) | トランザクションにおける例外ハンドリング | |
JP2002268914A (ja) | 特権命令の実行を監視する方法 | |
CN106897090B (zh) | 一种嵌入式设备程序升级方法及*** | |
US6173248B1 (en) | Method and apparatus for handling masked exceptions in an instruction interpreter | |
US10586048B2 (en) | Efficient reboot of an operating system | |
US5828890A (en) | System for interrupting program operation when an out-of-range value is encountered to correct a data value | |
KR920003044B1 (ko) | 가상 머신 시스템용의 게스트 머신 실행 제어 시스템 | |
AU2017438670B2 (en) | Simulation device, simulation method, and simulation program | |
JPH02231634A (ja) | ソフトウェア互換性維持方法 | |
JP2828590B2 (ja) | マイクロプログラム検証方法 | |
JPH08161185A (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JPS5835648A (ja) | プログラム実行制御方式 | |
TW554288B (en) | Method of single CPU simulator kernel frame technique and its device thereof | |
JP2001166966A (ja) | デバッガにおける被テストプログラムの実行環境管理方法 | |
JPH04324525A (ja) | プログラム移植支援装置 | |
JPH0677236B2 (ja) | I/o割込みをシミュレートする装置及び方法 | |
JP2001147830A (ja) | リアルタイムosの状態変更方法 | |
JPS6143347A (ja) | ベクトル命令シミユレ−シヨン方法 | |
JPS6267638A (ja) | エミユレ−シヨン方式 | |
JPH07134665A (ja) | 情報処理装置 | |
JP2000276376A (ja) | パイプライン型プロセッサのソフトウエアシミュレータ | |
JPS6398034A (ja) | シヤド−メモリ方式 | |
JPH01290038A (ja) | シミュレーション方式 |