JPH0728640A - 命令オペレーション・コードの検査装置及び方法 - Google Patents
命令オペレーション・コードの検査装置及び方法Info
- Publication number
- JPH0728640A JPH0728640A JP6097299A JP9729994A JPH0728640A JP H0728640 A JPH0728640 A JP H0728640A JP 6097299 A JP6097299 A JP 6097299A JP 9729994 A JP9729994 A JP 9729994A JP H0728640 A JPH0728640 A JP H0728640A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- code
- executing
- operation code
- program
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
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)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】プログラムが、その実行中にまだ実行されてい
ない命令の有効性を判断できるようにする。 【構成】目的の命令の実行の前に、その命令の有効性を
事前に検査するテスト・オペレーション・コード(TS
TOP)を備える。事前の検査機能はCPUの実行ユニ
ットのマイクロコードに含まれており、以下の4つの状
態の内の1つを示すリターン値をプログラム状態ワード
内にセットする。1)目的の命令が存在し動作可能であ
る、2)目的の命令がコンピュータ・システム内に存在
するがこのCPUでは利用できない(例えば非対称性の
場合)、3)目的の命令がこのコンピュータ・システム
内にない、4)TSTOPのOPコードは認識された
が、目的の命令の存在が判断できない。TSTOP命令
を出して目的の命令を出すべきか否かを判断するプログ
ラムは、このリターン値を検査することができる。
ない命令の有効性を判断できるようにする。 【構成】目的の命令の実行の前に、その命令の有効性を
事前に検査するテスト・オペレーション・コード(TS
TOP)を備える。事前の検査機能はCPUの実行ユニ
ットのマイクロコードに含まれており、以下の4つの状
態の内の1つを示すリターン値をプログラム状態ワード
内にセットする。1)目的の命令が存在し動作可能であ
る、2)目的の命令がコンピュータ・システム内に存在
するがこのCPUでは利用できない(例えば非対称性の
場合)、3)目的の命令がこのコンピュータ・システム
内にない、4)TSTOPのOPコードは認識された
が、目的の命令の存在が判断できない。TSTOP命令
を出して目的の命令を出すべきか否かを判断するプログ
ラムは、このリターン値を検査することができる。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータ・システ
ムの分野に関する。特に、コンピュータ・システム内の
中央演算処理装置(以降、プロセッサと称する)による
命令の処理に関する。
ムの分野に関する。特に、コンピュータ・システム内の
中央演算処理装置(以降、プロセッサと称する)による
命令の処理に関する。
【0002】
【従来の技術】コンピュータ・システムのアーキテクチ
ャに含まれる命令セットは、しばしば新しい命令により
拡張される。追加された新しい命令により、必要とされ
る機能又は従来のものを凌駕する性能を得ることができ
る。これらの新しい命令が開発されると、多くの場合、
構築された命令セットをサポートする最新モデルのコン
ピュータに対してのみ付加され、従来からの既存のモデ
ルに対しては付加されない。このことは、既存のコンピ
ュータ上で実行するためのソフトウェア・プログラムを
開発するこれらのコンピュータのユーザにとっては問題
である。これらのソフトウェア開発者は、彼らのプログ
ラムが最高の機能を与え、あるいは最速で動作するよう
に最新の命令を利用することを要望する。多くの場合、
これらの開発者は、彼らのプログラムがコンピュータ・
ハードウェアの多くの(又は全ての)モデル上で実行で
きることを要望する。しかしながら、もし新しい命令が
プログラム中でコード化されてこの命令をサポートしな
い旧モデルのコンピュータ上で実行されようとした場
合、プロセッサがその命令のオペレーション・コード
(operation code:OPコード)を認識しないためエラ
ー例外(error exception)が生じることになる。無効
なOPコードを検出する方法は公知の技術であり、例え
ば、米国特許第4167778号「INVALID INSTRUCTIO
N CODE DETECTOR」がある。この特許には、命令のデコ
ード時に無効な(未定義の)OPコードを検出し、その
後エラー例外信号を出すことが記載されている。コンピ
ュータ・ハードウェア・システム、例えばIBM ES
A/390は、通常、エラー例外の場合に制御を獲得す
る例外処理プログラムのための機構を備えている(例え
ば、IBM ESA/390のアーキテクチャでは、割
込みカテゴリのためのプログラム状態ワード(Program
Status Word:PSW)及び適切な割込みハンドラの
(PSW中の)アドレスを介して実現される)。これら
のプロセッサにおいて実行されている多くのオペレーテ
ィング・システムもまた、プロセッサの例外処理能力に
基づく回復メカニズムを備えている。例えばIBMのM
VS/ESAオペレーティング・システムでは、例外処
理能力は、エラー例外が生じた場合に回復ルーチン(プ
ログラム)の実行を開始するよう指定するためにプログ
ラムに存在する。回復ルーチン(プログラム)によりエ
ラーから回復し、実行を続けることができる。あるいは
エラー例外によりプログラムの実行を終了させることも
可能である。このことは、新しい命令が全てのモデル上
で利用できない場合にソフトウェア開発者にとって問題
となる。すなわち、このプログラムはそれを実行するコ
ンピュータのモデルによっては利用できないことがある
からである。通常、この問題は以下の三つの方法のいず
れかにより処理される。
ャに含まれる命令セットは、しばしば新しい命令により
拡張される。追加された新しい命令により、必要とされ
る機能又は従来のものを凌駕する性能を得ることができ
る。これらの新しい命令が開発されると、多くの場合、
構築された命令セットをサポートする最新モデルのコン
ピュータに対してのみ付加され、従来からの既存のモデ
ルに対しては付加されない。このことは、既存のコンピ
ュータ上で実行するためのソフトウェア・プログラムを
開発するこれらのコンピュータのユーザにとっては問題
である。これらのソフトウェア開発者は、彼らのプログ
ラムが最高の機能を与え、あるいは最速で動作するよう
に最新の命令を利用することを要望する。多くの場合、
これらの開発者は、彼らのプログラムがコンピュータ・
ハードウェアの多くの(又は全ての)モデル上で実行で
きることを要望する。しかしながら、もし新しい命令が
プログラム中でコード化されてこの命令をサポートしな
い旧モデルのコンピュータ上で実行されようとした場
合、プロセッサがその命令のオペレーション・コード
(operation code:OPコード)を認識しないためエラ
ー例外(error exception)が生じることになる。無効
なOPコードを検出する方法は公知の技術であり、例え
ば、米国特許第4167778号「INVALID INSTRUCTIO
N CODE DETECTOR」がある。この特許には、命令のデコ
ード時に無効な(未定義の)OPコードを検出し、その
後エラー例外信号を出すことが記載されている。コンピ
ュータ・ハードウェア・システム、例えばIBM ES
A/390は、通常、エラー例外の場合に制御を獲得す
る例外処理プログラムのための機構を備えている(例え
ば、IBM ESA/390のアーキテクチャでは、割
込みカテゴリのためのプログラム状態ワード(Program
Status Word:PSW)及び適切な割込みハンドラの
(PSW中の)アドレスを介して実現される)。これら
のプロセッサにおいて実行されている多くのオペレーテ
ィング・システムもまた、プロセッサの例外処理能力に
基づく回復メカニズムを備えている。例えばIBMのM
VS/ESAオペレーティング・システムでは、例外処
理能力は、エラー例外が生じた場合に回復ルーチン(プ
ログラム)の実行を開始するよう指定するためにプログ
ラムに存在する。回復ルーチン(プログラム)によりエ
ラーから回復し、実行を続けることができる。あるいは
エラー例外によりプログラムの実行を終了させることも
可能である。このことは、新しい命令が全てのモデル上
で利用できない場合にソフトウェア開発者にとって問題
となる。すなわち、このプログラムはそれを実行するコ
ンピュータのモデルによっては利用できないことがある
からである。通常、この問題は以下の三つの方法のいず
れかにより処理される。
【0003】1)プログラムは、未定義かもしれない命
令を実行しようとするとき、制御を受取る回復ルーチン
(プログラム)を確立するように作成される。制御を受
取ると回復ルーチンはその未定義の命令の実行をシミュ
レートし、プログラムはこのプログラム割込みの後、次
の順次命令(next sequential instruction:NSI)
を続ける。 2)別々のバージョンのプログラムを作成する。新命令
を含むバージョンは、新命令をサポートするコンピュー
タ・モデル用である。新命令を含まないバージョンは、
新命令をサポートしないコンピュータ・モデル用であ
る。 3)新命令を用いないでプログラムを作成する。従って
全てのコンピュータのモデル上での実行が保証される
が、新命令をサポートするモデルにおいてはその新命令
の利点を享受できない。
令を実行しようとするとき、制御を受取る回復ルーチン
(プログラム)を確立するように作成される。制御を受
取ると回復ルーチンはその未定義の命令の実行をシミュ
レートし、プログラムはこのプログラム割込みの後、次
の順次命令(next sequential instruction:NSI)
を続ける。 2)別々のバージョンのプログラムを作成する。新命令
を含むバージョンは、新命令をサポートするコンピュー
タ・モデル用である。新命令を含まないバージョンは、
新命令をサポートしないコンピュータ・モデル用であ
る。 3)新命令を用いないでプログラムを作成する。従って
全てのコンピュータのモデル上での実行が保証される
が、新命令をサポートするモデルにおいてはその新命令
の利点を享受できない。
【0004】しかし、以上のいずれを選択したとしても
十分ではない。1)については、新命令をサポートしな
いプロセッサ上でも、サポートするプロセッサ上でも機
能する。しかしながらこの方法は、新命令をサポートし
ない旧型のプロセッサ上で実行される場合著しく性能を
低下させることになる。通常これらの新命令は性能向上
のために実行されるものであるが、そのシミュレーショ
ンのために既に性能に影響されやすい部分に対して例外
ハンドラ及び回復プログラムによるオーバヘッドを引き
起す。この方法を旧プロセッサ上で実行する場合、状況
は一層悪化することになり、従って、2)及び3)の方
法によることになる。方法2)は、複数のバージョンが
あるためプログラムの開発や保守に余分なコストがかか
る。また、間違ったバージョンのプログラムが実行され
るとプログラムが異常終了したり、拡張機能を使えない
という混乱が生じる可能性がある。3)の方法では、新
命令の有益性が利用できず、新しいモデルのコンピュー
タのユーザであっても新命令の利点を享受できない。一
方方法1)は、状況を改善できるように見えるが、それ
を実行することによって、そのシミュレーションが必要
であることを判断する前にコンピュータ・システムの例
外処理機構及びオペレーティング・システムの回復処理
のオーバヘッドを引き起してしまう。なぜなら、そのた
めには未定義の命令の実行を試みることが必要だからで
ある。
十分ではない。1)については、新命令をサポートしな
いプロセッサ上でも、サポートするプロセッサ上でも機
能する。しかしながらこの方法は、新命令をサポートし
ない旧型のプロセッサ上で実行される場合著しく性能を
低下させることになる。通常これらの新命令は性能向上
のために実行されるものであるが、そのシミュレーショ
ンのために既に性能に影響されやすい部分に対して例外
ハンドラ及び回復プログラムによるオーバヘッドを引き
起す。この方法を旧プロセッサ上で実行する場合、状況
は一層悪化することになり、従って、2)及び3)の方
法によることになる。方法2)は、複数のバージョンが
あるためプログラムの開発や保守に余分なコストがかか
る。また、間違ったバージョンのプログラムが実行され
るとプログラムが異常終了したり、拡張機能を使えない
という混乱が生じる可能性がある。3)の方法では、新
命令の有益性が利用できず、新しいモデルのコンピュー
タのユーザであっても新命令の利点を享受できない。一
方方法1)は、状況を改善できるように見えるが、それ
を実行することによって、そのシミュレーションが必要
であることを判断する前にコンピュータ・システムの例
外処理機構及びオペレーティング・システムの回復処理
のオーバヘッドを引き起してしまう。なぜなら、そのた
めには未定義の命令の実行を試みることが必要だからで
ある。
【0005】従来技術の例として特定の機能の実行を試
みる前にコンピュータ・システムのエレメントがその機
能をサポートしているか否かを判断するためにそのエレ
メントに問合せをするものがある。例えば、IBM Techni
cal Disclosure Bulletin, dated December 1991, Vol.
34, No. 7A, pp. 122-131「NEW I/O SUBSYSTEM COMMAN
D: READ COMMAND SET」には、I/Oサブシステムによ
りサポートされる全てのコマンドをフィードバックする
ことをそのI/Oサブシステムに対して要求する新コマ
ンドが記載されている。それにより実在しない機能を実
行しようとすることが避けられる。サポートされる全て
の機能に対応するこの技術は、プロセッサ通信に対する
プログラムで使用するにはあまり適さない。プロセッサ
上で命令を実行する一方、非常に高速の問合せ及び応答
を行う必要があるので、高性能の特定問合せが必要とさ
れる。I/Oサブシステムの分野では、初期化時にI/
Oドライバ・ソフトウェアが、接続されるサブシステム
についての全体的な情報を必要とするのが普通である。
しかし、プログラム実行中は、余分なプロセッササイク
ルはいずれもマイナス要素となる。さらに、上記IBM Te
chnical DisclosureBulletinに記載の例のように特定さ
れない応答は、ほとんどのプログラムの実動化において
利用できないのが普通である。なぜなら、サポートされ
る命令のリストを保持しかつその中に無いかも知れない
命令を探してそのリストをサーチするために、各プログ
ラムに対して膨大な量のロジックを追加することになる
からである。
みる前にコンピュータ・システムのエレメントがその機
能をサポートしているか否かを判断するためにそのエレ
メントに問合せをするものがある。例えば、IBM Techni
cal Disclosure Bulletin, dated December 1991, Vol.
34, No. 7A, pp. 122-131「NEW I/O SUBSYSTEM COMMAN
D: READ COMMAND SET」には、I/Oサブシステムによ
りサポートされる全てのコマンドをフィードバックする
ことをそのI/Oサブシステムに対して要求する新コマ
ンドが記載されている。それにより実在しない機能を実
行しようとすることが避けられる。サポートされる全て
の機能に対応するこの技術は、プロセッサ通信に対する
プログラムで使用するにはあまり適さない。プロセッサ
上で命令を実行する一方、非常に高速の問合せ及び応答
を行う必要があるので、高性能の特定問合せが必要とさ
れる。I/Oサブシステムの分野では、初期化時にI/
Oドライバ・ソフトウェアが、接続されるサブシステム
についての全体的な情報を必要とするのが普通である。
しかし、プログラム実行中は、余分なプロセッササイク
ルはいずれもマイナス要素となる。さらに、上記IBM Te
chnical DisclosureBulletinに記載の例のように特定さ
れない応答は、ほとんどのプログラムの実動化において
利用できないのが普通である。なぜなら、サポートされ
る命令のリストを保持しかつその中に無いかも知れない
命令を探してそのリストをサーチするために、各プログ
ラムに対して膨大な量のロジックを追加することになる
からである。
【0006】さらに、命令の実行に先立って命令の「プ
リフェッチ(pre-fetching:先取り)」及び問合せを行
う多くの従来例がある。IBM Technical Disclosure Bul
letin, dated November 1980, pp. 2600-2604「INSTRUC
TION SCAN FOR EARLY RESOLUTION OF A BRANCH INSTRUC
TION」には、特定の「ブランチ(branch)」OPコード
をサーチするために命令を「プリフェッチ」して問合せ
ることにより、そのブランチ命令の後に実行される命令
ストリームを決定できる手段が記載されている。この手
段は、「キャッシュされる」プロセッサの性能を向上さ
せるために用いられる。同様に、米国特許第47108
66号「METHOD AND APPARATUS FOR VALIDATING PREFET
CHED INSTRUCTION」には、完全な命令が取出されたこと
を保証するためにパイプライン方式のプロセッサにおけ
る命令の「プリフェッチ」とその命令の問合せを行うこ
とが記載されている。この特許に記載の動作では、「プ
リフェッチ」する際に未定義の命令を識別しているが、
本発明とは異なり、その未定義命令を実行することを避
けるためにその識別結果を実行中のプログラムに知らせ
るための動作が全く行われない。その代りに、その未定
義命令を実行されるままにし、前記割込み(例外)プロ
セッサにより処理させる。従って、実行オーバヘッドを
避けようとする本発明の目的には及ばないものである。
リフェッチ(pre-fetching:先取り)」及び問合せを行
う多くの従来例がある。IBM Technical Disclosure Bul
letin, dated November 1980, pp. 2600-2604「INSTRUC
TION SCAN FOR EARLY RESOLUTION OF A BRANCH INSTRUC
TION」には、特定の「ブランチ(branch)」OPコード
をサーチするために命令を「プリフェッチ」して問合せ
ることにより、そのブランチ命令の後に実行される命令
ストリームを決定できる手段が記載されている。この手
段は、「キャッシュされる」プロセッサの性能を向上さ
せるために用いられる。同様に、米国特許第47108
66号「METHOD AND APPARATUS FOR VALIDATING PREFET
CHED INSTRUCTION」には、完全な命令が取出されたこと
を保証するためにパイプライン方式のプロセッサにおけ
る命令の「プリフェッチ」とその命令の問合せを行うこ
とが記載されている。この特許に記載の動作では、「プ
リフェッチ」する際に未定義の命令を識別しているが、
本発明とは異なり、その未定義命令を実行することを避
けるためにその識別結果を実行中のプログラムに知らせ
るための動作が全く行われない。その代りに、その未定
義命令を実行されるままにし、前記割込み(例外)プロ
セッサにより処理させる。従って、実行オーバヘッドを
避けようとする本発明の目的には及ばないものである。
【0007】
【発明が解決しようとする課題】本発明の目的は、プロ
グラムが、その実行中にまだ実行されていない命令の有
効性を判断できるようにすることである。さらに本発明
の目的は、命令の有効性を判断するためにコンピュータ
・システムの例外処理又は回復処理が開始されることを
避けることである。さらに本発明の目的は、実行中のプ
ロセッサの命令セットに含まれるある命令の存在をその
命令を実行することなく検査するためにプログラムが用
いる(プログラム命令を介した)機構を備えることであ
る。さらに本発明の目的は、検査を開始したプログラム
に対してその検査結果を示すリターン値(return valu
e)を与えることである。さらに本発明の目的は、目的
の命令が実行中のプロセッサ上では利用できないが、コ
ンピュータ・システム内の少なくとも1つのプロセッサ
上では利用できることを示すリターン値を与えることで
ある。さらに本発明の目的は、目的の命令の有効性が判
断できないことを示すリターン値を与えることである。
グラムが、その実行中にまだ実行されていない命令の有
効性を判断できるようにすることである。さらに本発明
の目的は、命令の有効性を判断するためにコンピュータ
・システムの例外処理又は回復処理が開始されることを
避けることである。さらに本発明の目的は、実行中のプ
ロセッサの命令セットに含まれるある命令の存在をその
命令を実行することなく検査するためにプログラムが用
いる(プログラム命令を介した)機構を備えることであ
る。さらに本発明の目的は、検査を開始したプログラム
に対してその検査結果を示すリターン値(return valu
e)を与えることである。さらに本発明の目的は、目的
の命令が実行中のプロセッサ上では利用できないが、コ
ンピュータ・システム内の少なくとも1つのプロセッサ
上では利用できることを示すリターン値を与えることで
ある。さらに本発明の目的は、目的の命令の有効性が判
断できないことを示すリターン値を与えることである。
【0008】
【課題を解決するための手段】1つの命令(テスト・オ
ペレーション(Test Operation)又はTSTOP)が、実
行中のプロセッサ内に目的とする命令があるか否かを検
査する。目的の命令は、TSTOPによっては実行され
ないが、その目的の命令の有無を示す(プログラムによ
り検査可能な)値を返す。このリターン値を検査するプ
ログラムは、必要であればその目的の命令をシミュレー
トしてもよいが、いずれの場合でもその目的の命令を実
行することにより引き起されるプログラム例外を避ける
ことができる。これによってプログラムが、新命令をサ
ポートしているプロセッサ上でその新命令を利用するこ
とができる一方、新命令をサポートしていないプロセッ
サ上での例外処理及び回復処理のオーバヘッドを避ける
ことができる。
ペレーション(Test Operation)又はTSTOP)が、実
行中のプロセッサ内に目的とする命令があるか否かを検
査する。目的の命令は、TSTOPによっては実行され
ないが、その目的の命令の有無を示す(プログラムによ
り検査可能な)値を返す。このリターン値を検査するプ
ログラムは、必要であればその目的の命令をシミュレー
トしてもよいが、いずれの場合でもその目的の命令を実
行することにより引き起されるプログラム例外を避ける
ことができる。これによってプログラムが、新命令をサ
ポートしているプロセッサ上でその新命令を利用するこ
とができる一方、新命令をサポートしていないプロセッ
サ上での例外処理及び回復処理のオーバヘッドを避ける
ことができる。
【0009】
【実施例】本発明の好適例を添付図面及び以下の記載に
より説明する。本発明は、プログラムミングされた命令
を実行できかつ当該命令から検査可能な値を実行中のプ
ログラムに対して返すことができるいずれのコンピュー
タ・システムにおいても動作可能である。本発明の説明
において、IBMのESA/390を例として用いるが
本発明はESA/390に限定されるものではなくいず
れのコンピュータ・アーキテクチャについても機能する
ものである。
より説明する。本発明は、プログラムミングされた命令
を実行できかつ当該命令から検査可能な値を実行中のプ
ログラムに対して返すことができるいずれのコンピュー
タ・システムにおいても動作可能である。本発明の説明
において、IBMのESA/390を例として用いるが
本発明はESA/390に限定されるものではなくいず
れのコンピュータ・アーキテクチャについても機能する
ものである。
【0010】図1は、本発明が機能するコンピュータ・
システムの図である。このコンピュータ・システムに要
求される主要なエレメントは、プログラムに含まれる命
令を実行できるプロセッサ100、命令を含むプログラ
ムを記憶できる主記憶装置105である。106で示す
主記憶装置の一部はこのようなプログラム及びそのプロ
グラム内の命令の一部を表している。図1のブロック1
07、108及び109は、プログラム内に順に書かれ
た実行可能な個々の命令を表している。簡単に記すため
に、INST1、INST2等のラベルが付されてい
る。ブロック108は、TSTOP命令を示すことを注
記する。一方、ブロック109は、TSTOPからのリ
ターン値により分岐するブランチ命令(ESA/390
ではBZ)である。動作において、TSTOP命令のO
Pコード及びオペランドのための16進値は、他の各命
令のOPコード及びオペランドの16進値と同様に主記
憶装置内にある。主記憶装置105は、プログラム状態
ワード(PSW)130も含んでいる。このPSWに含
まれる「条件コード(condition code)」(CC)13
1は、命令の実行によるリターン値を記憶するためにプ
ロセッサ100により利用されるものであり、また「命
令アドレス」(IA)132は、命令ストリームを順次
実行するためにプロセッサ100により利用される次に
実行される命令のアドレスである。PSW130は、E
SA/390のシステムにおける例である。別の実施例
では、リターン値がCC131以外の場所にあってもよ
い。例えば、リターン値がTSTOP命令のオペランド
により指定される記憶場所に置かれてもよく、あるいは
TSTOP命令により指定される汎用目的レジスタ内に
置かれてもよい。本発明は、実行中の命令から値が返さ
れるいずれの方法を用いても動作可能である。主記憶装
置105とプロセッサ100との接続は汎用的な手段に
より行っている。本発明は、キャッシュ記憶装置をもつ
コンピュータ・システム上で動作でき、このシステムで
は、命令に対するプロセッサ100によるアクセスは、
主記憶装置105へ直接行うのではなくキャッシュ記憶
装置に対して行う。プロセッサ100内には、命令実行
ユニット110がある。命令実行ユニットは、一般的に
は主記憶装置から命令とオペランド112、113を取
出すためのフェッチ機能116、命令をデコードするデ
コード機能114、及び命令を実行する実行機能115
を備えている。基本テーブル200及び拡張テーブル2
20を含むOPコード・テーブルは、命令のデコード及
び実行の際に用いられる。さらにプロセッサ100内に
は、命令実行ユニット110からの例外ケースを処理す
るプログラム例外機能120がある。これらの例外とし
ては、例えば、未定義のOPコード、オペランド又はデ
ータの無効なアドレス、オペランド又はデータにより生
じる記憶保護エラーがある。これらは、多く種類の例外
の中の例であり、命令実行ユニット110から発生する
可能性のあるものである。本発明については、未定義の
OPコードから生じる例外にのみ関係する。好適例では
このプログラム例外処理をプロセッサ100内に含まれ
る独立したエレメントとして示しているが、別の例では
本発明の主旨の範囲内で、このプログラム例外処理を異
なる態様で実施してもよい。プロセッサ100に含まれ
るものとしては、コンピュータ・システムのアーキテク
チャによりサポートされる命令のマイクロコード・ロジ
ックを記憶する読取り専用記憶装置(ROM)がある。
この例では、ESA/390の命令のニーモニック表現
のいくつかを、それらの各命令のロジックを表わすため
に示す。本発明により作成された命令TSTOPのため
のロジックは、ブロック126に示されておりその詳細
については後述する。命令実行ユニット110の実行部
115は、個々の命令を実行するためにこのROM12
5を用いる。別の実施例では、命令のロジックがROM
内のマイクロコード以外の場所にあってもよい。例え
ば、TSTOP命令により指定される汎用目的レジスタ
内の回路で命令を実行することもできる。本発明は、実
行中の命令から値を返すいずれの方法を用いても機能す
る。
システムの図である。このコンピュータ・システムに要
求される主要なエレメントは、プログラムに含まれる命
令を実行できるプロセッサ100、命令を含むプログラ
ムを記憶できる主記憶装置105である。106で示す
主記憶装置の一部はこのようなプログラム及びそのプロ
グラム内の命令の一部を表している。図1のブロック1
07、108及び109は、プログラム内に順に書かれ
た実行可能な個々の命令を表している。簡単に記すため
に、INST1、INST2等のラベルが付されてい
る。ブロック108は、TSTOP命令を示すことを注
記する。一方、ブロック109は、TSTOPからのリ
ターン値により分岐するブランチ命令(ESA/390
ではBZ)である。動作において、TSTOP命令のO
Pコード及びオペランドのための16進値は、他の各命
令のOPコード及びオペランドの16進値と同様に主記
憶装置内にある。主記憶装置105は、プログラム状態
ワード(PSW)130も含んでいる。このPSWに含
まれる「条件コード(condition code)」(CC)13
1は、命令の実行によるリターン値を記憶するためにプ
ロセッサ100により利用されるものであり、また「命
令アドレス」(IA)132は、命令ストリームを順次
実行するためにプロセッサ100により利用される次に
実行される命令のアドレスである。PSW130は、E
SA/390のシステムにおける例である。別の実施例
では、リターン値がCC131以外の場所にあってもよ
い。例えば、リターン値がTSTOP命令のオペランド
により指定される記憶場所に置かれてもよく、あるいは
TSTOP命令により指定される汎用目的レジスタ内に
置かれてもよい。本発明は、実行中の命令から値が返さ
れるいずれの方法を用いても動作可能である。主記憶装
置105とプロセッサ100との接続は汎用的な手段に
より行っている。本発明は、キャッシュ記憶装置をもつ
コンピュータ・システム上で動作でき、このシステムで
は、命令に対するプロセッサ100によるアクセスは、
主記憶装置105へ直接行うのではなくキャッシュ記憶
装置に対して行う。プロセッサ100内には、命令実行
ユニット110がある。命令実行ユニットは、一般的に
は主記憶装置から命令とオペランド112、113を取
出すためのフェッチ機能116、命令をデコードするデ
コード機能114、及び命令を実行する実行機能115
を備えている。基本テーブル200及び拡張テーブル2
20を含むOPコード・テーブルは、命令のデコード及
び実行の際に用いられる。さらにプロセッサ100内に
は、命令実行ユニット110からの例外ケースを処理す
るプログラム例外機能120がある。これらの例外とし
ては、例えば、未定義のOPコード、オペランド又はデ
ータの無効なアドレス、オペランド又はデータにより生
じる記憶保護エラーがある。これらは、多く種類の例外
の中の例であり、命令実行ユニット110から発生する
可能性のあるものである。本発明については、未定義の
OPコードから生じる例外にのみ関係する。好適例では
このプログラム例外処理をプロセッサ100内に含まれ
る独立したエレメントとして示しているが、別の例では
本発明の主旨の範囲内で、このプログラム例外処理を異
なる態様で実施してもよい。プロセッサ100に含まれ
るものとしては、コンピュータ・システムのアーキテク
チャによりサポートされる命令のマイクロコード・ロジ
ックを記憶する読取り専用記憶装置(ROM)がある。
この例では、ESA/390の命令のニーモニック表現
のいくつかを、それらの各命令のロジックを表わすため
に示す。本発明により作成された命令TSTOPのため
のロジックは、ブロック126に示されておりその詳細
については後述する。命令実行ユニット110の実行部
115は、個々の命令を実行するためにこのROM12
5を用いる。別の実施例では、命令のロジックがROM
内のマイクロコード以外の場所にあってもよい。例え
ば、TSTOP命令により指定される汎用目的レジスタ
内の回路で命令を実行することもできる。本発明は、実
行中の命令から値を返すいずれの方法を用いても機能す
る。
【0011】図1に記載のエレメントは、本発明を実施
するために共に機能する。主記憶装置105に常駐する
命令106は、プロセッサ100の命令実行ユニット1
10へ入力される。命令実行ユニット110は、要求さ
れた命令及びオペランド112、113を取出した後、
それらをデコードし(114)実行する(115)。例
外条件(例えば、未定義のOPコード)にあたった場
合、プログラム例外処理が起動する。命令実行ユニット
110の実行部115は、プログラムの命令を実行する
ためにROM125内のマイクロコード・ロジックを用
いる。実行されると、実行中のプログラム106の次の
命令を検査するためにPSW130のCC部分131内
にリターン値をセットできる。示されたコンピュータ・
システムは、既存のコンピュータ・システムの典型的な
ものである。本発明は、本明細書中に記載の機能を備え
るいずれのコンピュータ・システムにおいても実施でき
る。
するために共に機能する。主記憶装置105に常駐する
命令106は、プロセッサ100の命令実行ユニット1
10へ入力される。命令実行ユニット110は、要求さ
れた命令及びオペランド112、113を取出した後、
それらをデコードし(114)実行する(115)。例
外条件(例えば、未定義のOPコード)にあたった場
合、プログラム例外処理が起動する。命令実行ユニット
110の実行部115は、プログラムの命令を実行する
ためにROM125内のマイクロコード・ロジックを用
いる。実行されると、実行中のプログラム106の次の
命令を検査するためにPSW130のCC部分131内
にリターン値をセットできる。示されたコンピュータ・
システムは、既存のコンピュータ・システムの典型的な
ものである。本発明は、本明細書中に記載の機能を備え
るいずれのコンピュータ・システムにおいても実施でき
る。
【0012】図2及び図3は、本発明で用いられるテー
ブル構成を示しており、本発明についての新規のもので
ある。図2のOPコード・テーブル1は、1バイト長
(16進数の「00」から「FF」まで)の全てのOP
コードについての情報を含んでおり、256個のエント
リがある。2バイト長の各OPコードについては、その
OPコードの第1の1バイトについてはOPコード・テ
ーブル1内にエントリがあり、第2の1バイトについて
はその情報を含むOPコード拡張テーブルへのポインタ
がある。従って、この例では2バイト長のOPコードの
第1の1バイトと同じ値をもつ1バイトのOPコードは
存在しない。1バイト及び2バイトのOPコードを別の
方法で表すことも可能であり、その場合においても本発
明は機能する。図3はOPコード拡張テーブルを示す。
2バイトの各OPコードに対して、256個のエントリ
をもつOPコード拡張テーブルの中に固有のエントリが
ある。OPコード・テーブル1(200)の各エントリ
は以下のフィールドを有する。
ブル構成を示しており、本発明についての新規のもので
ある。図2のOPコード・テーブル1は、1バイト長
(16進数の「00」から「FF」まで)の全てのOP
コードについての情報を含んでおり、256個のエント
リがある。2バイト長の各OPコードについては、その
OPコードの第1の1バイトについてはOPコード・テ
ーブル1内にエントリがあり、第2の1バイトについて
はその情報を含むOPコード拡張テーブルへのポインタ
がある。従って、この例では2バイト長のOPコードの
第1の1バイトと同じ値をもつ1バイトのOPコードは
存在しない。1バイト及び2バイトのOPコードを別の
方法で表すことも可能であり、その場合においても本発
明は機能する。図3はOPコード拡張テーブルを示す。
2バイトの各OPコードに対して、256個のエントリ
をもつOPコード拡張テーブルの中に固有のエントリが
ある。OPコード・テーブル1(200)の各エントリ
は以下のフィールドを有する。
【0013】−OPコード・フィールド(205)−1
6進数「00」から「FF」までのOPコード1バイト
の16進表現。 −フラグ・フィールド(207)−以下の3つのフラグ
標識がある。 −2バイト・フラグ(211)−「YES」にセットさ
れた場合、このOPコードは2バイトのOPコードの第
1の1バイトであり、ルーチン215は、そのOPコー
ドの第2の1バイトについてのOPコード拡張テーブル
へのポインタである。「NO」にセットされた場合、こ
のOPコードは1バイトである。 −有効フラグ(210)−「YES」にセットされた場
合、このOPコードがこのプロセッサ上に存在しかつ動
作可能である。「NO」にセットされた場合、このOP
コードはこのプロセッサ上に存在せず、例外条件を生じ
る。このビットは、2バイト・フラグ211が「YE
S」の場合は意味をもたない。 −非対称フラグ(212)−「YES」にセットされた
場合、このOPコードは非対称であり(マルチプロセッ
サのコンピュータ・システムの場合、その全てのプロセ
ッサ上で動作させることはできない)、「NO」にセッ
トされた場合、この命令は非対称ではない(コンピュー
タ・システム内の全てのプロセッサ上で同じように動作
できる)。このビットは、2バイト・フラグ211が
「YES」の場合は意味をもたない。 −ルーチン・フィールド(215)−2バイト・フラグ
211が「NO」の場合、この命令を動作させるための
マイクロコードのアドレスが含まれる。2バイト・フラ
グが「YES」の場合、このOPコードの第2の1バイ
トについてのOPコード拡張テーブルのアドレスであ
る。
6進数「00」から「FF」までのOPコード1バイト
の16進表現。 −フラグ・フィールド(207)−以下の3つのフラグ
標識がある。 −2バイト・フラグ(211)−「YES」にセットさ
れた場合、このOPコードは2バイトのOPコードの第
1の1バイトであり、ルーチン215は、そのOPコー
ドの第2の1バイトについてのOPコード拡張テーブル
へのポインタである。「NO」にセットされた場合、こ
のOPコードは1バイトである。 −有効フラグ(210)−「YES」にセットされた場
合、このOPコードがこのプロセッサ上に存在しかつ動
作可能である。「NO」にセットされた場合、このOP
コードはこのプロセッサ上に存在せず、例外条件を生じ
る。このビットは、2バイト・フラグ211が「YE
S」の場合は意味をもたない。 −非対称フラグ(212)−「YES」にセットされた
場合、このOPコードは非対称であり(マルチプロセッ
サのコンピュータ・システムの場合、その全てのプロセ
ッサ上で動作させることはできない)、「NO」にセッ
トされた場合、この命令は非対称ではない(コンピュー
タ・システム内の全てのプロセッサ上で同じように動作
できる)。このビットは、2バイト・フラグ211が
「YES」の場合は意味をもたない。 −ルーチン・フィールド(215)−2バイト・フラグ
211が「NO」の場合、この命令を動作させるための
マイクロコードのアドレスが含まれる。2バイト・フラ
グが「YES」の場合、このOPコードの第2の1バイ
トについてのOPコード拡張テーブルのアドレスであ
る。
【0014】OPコード・テーブル1(200)は、可
能性のある1バイト長OPコードのそれぞれと、2バイ
ト長OPコードについてのOPコード拡張テーブルへの
ポインタを有する。OPコード拡張テーブル220の各
エントリは、以下のフィールドを有する。 −OPコード・フィールド(225)−2バイト長OP
コードの第2の1バイトの16進表現(16進数「0
0」から「FF」までの値)。 −フラグ・フィールド227−以下の2つのフラグ標識
がある。 −有効フラグ(230)−「YES」にセットされた場
合、このOPコードがこのプロセッサ上に存在しかつ動
作可能である。「NO」にセットされた場合、このOP
コードはこのプロセッサ上に存在せず、例外条件を生じ
る。 −非対称フラグ(235)−「YES」にセットされた
場合、このOPコードは非対称であり(マルチプロセッ
サのコンピュータ・システムの場合、その全てのプロセ
ッサ上で動作させることはできない)、「NO」にセッ
トされた場合、この命令は非対称ではない(コンピュー
タ・システム内の全てのプロセッサ上で同じように動作
できる)。 −ルーチン・フィールド(240)−この命令を実行す
るためのマイクロコードのアドレスが含まれる。
能性のある1バイト長OPコードのそれぞれと、2バイ
ト長OPコードについてのOPコード拡張テーブルへの
ポインタを有する。OPコード拡張テーブル220の各
エントリは、以下のフィールドを有する。 −OPコード・フィールド(225)−2バイト長OP
コードの第2の1バイトの16進表現(16進数「0
0」から「FF」までの値)。 −フラグ・フィールド227−以下の2つのフラグ標識
がある。 −有効フラグ(230)−「YES」にセットされた場
合、このOPコードがこのプロセッサ上に存在しかつ動
作可能である。「NO」にセットされた場合、このOP
コードはこのプロセッサ上に存在せず、例外条件を生じ
る。 −非対称フラグ(235)−「YES」にセットされた
場合、このOPコードは非対称であり(マルチプロセッ
サのコンピュータ・システムの場合、その全てのプロセ
ッサ上で動作させることはできない)、「NO」にセッ
トされた場合、この命令は非対称ではない(コンピュー
タ・システム内の全てのプロセッサ上で同じように動作
できる)。 −ルーチン・フィールド(240)−この命令を実行す
るためのマイクロコードのアドレスが含まれる。
【0015】OPコード拡張テーブル220は、可能性
のある各2バイト長OPコードの第2の1バイトに対し
て1つのエントリを有する。本発明では、2バイト長O
Pコードの第1の1バイトはOPコード・テーブル1に
あり、第2の1バイトはOPコード拡張テーブルにあ
る。好適例では、1バイト長又は2バイト長のOPコー
ドについての実施例を示しているが、そのコンピュータ
・システムによりサポートされるならばいずれの長さの
OPコードであっても本発明が適用可能である。
のある各2バイト長OPコードの第2の1バイトに対し
て1つのエントリを有する。本発明では、2バイト長O
Pコードの第1の1バイトはOPコード・テーブル1に
あり、第2の1バイトはOPコード拡張テーブルにあ
る。好適例では、1バイト長又は2バイト長のOPコー
ドについての実施例を示しているが、そのコンピュータ
・システムによりサポートされるならばいずれの長さの
OPコードであっても本発明が適用可能である。
【0016】TSTOPのロジックは、図4に示されて
いる。TSTOP命令の実行の結果として以下の5つの
可能性があることを注記する。 1)TSTOP命令が実行中のプロセッサ上にない(未
定義である)場合の例外条件(例えば、ESA/390
のプロセッサでは、オペレーションタイプのプログラム
例外となる)。 2)目的の命令が存在し動作可能であることを示す、条
件コード=0(ESA/390における実施例)。 3)目的の命令がそのコンピュータ・システム内に存在
するが、このプロセッサでは動作できない(例えば、非
対称性である)ことを示す、条件コード=1(ESA/
390における実施例) 4)目的の命令がこのコンピュータ・システム内にない
ことを示す、条件コード=2(ESA/390における
実施例) 5)TSTOPのOPコードは認識されたが、目的の命
令の存在と動作可能性が判断できないことを示す、条件
コード=3(ESA/390における実施例)
いる。TSTOP命令の実行の結果として以下の5つの
可能性があることを注記する。 1)TSTOP命令が実行中のプロセッサ上にない(未
定義である)場合の例外条件(例えば、ESA/390
のプロセッサでは、オペレーションタイプのプログラム
例外となる)。 2)目的の命令が存在し動作可能であることを示す、条
件コード=0(ESA/390における実施例)。 3)目的の命令がそのコンピュータ・システム内に存在
するが、このプロセッサでは動作できない(例えば、非
対称性である)ことを示す、条件コード=1(ESA/
390における実施例) 4)目的の命令がこのコンピュータ・システム内にない
ことを示す、条件コード=2(ESA/390における
実施例) 5)TSTOPのOPコードは認識されたが、目的の命
令の存在と動作可能性が判断できないことを示す、条件
コード=3(ESA/390における実施例)
【0017】TSTOPのルーチン・マイクロコードに
対するエントリにより(図4の300)、TSTOPの
ルーチン・マイクロコードがそのマシン若しくはレベル
に従って部分的にであれ完全にであれTSTOP機能を
実行することになる。そのマシンが部分的にTSTOP
を実行する場合、PSW130の条件コード131は
「3」にセットされ(図4の305)、TSTOP命令
が認識されたが目的の命令の存在が判断できないことを
示してTSTOP処理が完了する。(注意:この機能
は、既存のマシン上でのTSTOPの完全な実行が不可
能である場合に特に有用である。部分的な実行でもコン
ピュータ・システムの例外処理によるオーバヘッドなし
にTSTOP機能を利用し易くすることができる。)マ
シンがTSTOPを完全に実行する場合、OPコード・
テーブル200に対応するエントリを有する。TSTO
Pのオペランドにより指示された目的の命令の第1のバ
イトが検索される(図4の310)。この第1のバイト
がOPコード・テーブル1(図4の311)への索引と
して用いられ、そのエントリを検索する。検索されたエ
ントリの2バイト・フラグ211が「YES」であれば
(図4の315)、目的の命令のOPコードは2バイト
長である。その後、命令の第2のバイトが、OPコード
・テーブル1(図2)のエントリのルーチン・フィール
ド215により指示されるOPコード拡張テーブル(図
3)への索引として用いられる(図4の322)。2バ
イト・フラグ211が「NO」の場合、目的の命令の第
1のバイトをOPコード・テーブル1(図2の200)
への索引とすることによりこのテーブルを用いる(図4
の320)。この目的の命令のOPコードに対するOP
コード・テーブル(図2及び図3)のエントリは、上記
のように目的の命令のOPコード索引を用いることによ
り検索される(図4の325)。有効フラグ210又は
230が「YES」にセットされている場合は目的の命
令がこのプロセッサ上にあることを意味するので(図4
の330)、PSW130の条件コード131が0にセ
ットされ(図4の335)、TSTOPの処理は完了す
る。有効フラグ210又は230が「NO」にセットさ
れている場合は、非対称フラグ212又は235が検査
される(図4の340)。非対称フラグ212又は23
5が「YES」にセットされている場合は目的の命令が
コンピュータ・システム内の他のいずれかのプロセッサ
上にあることを示すので(図4の340)、PSW13
0の条件コード131が1にセットされ(図4の34
5)、TSTOPの処理は完了する。非対称フラグ21
2又は235が「NO」にセットされている場合は、目
的の命令の存在がコンピュータ・システム内の全てのプ
ロセッサについて同等であることを示すのでPSW13
0の条件コード131が2にセットされ(図4の35
0)、TSTOPの処理は完了する。
対するエントリにより(図4の300)、TSTOPの
ルーチン・マイクロコードがそのマシン若しくはレベル
に従って部分的にであれ完全にであれTSTOP機能を
実行することになる。そのマシンが部分的にTSTOP
を実行する場合、PSW130の条件コード131は
「3」にセットされ(図4の305)、TSTOP命令
が認識されたが目的の命令の存在が判断できないことを
示してTSTOP処理が完了する。(注意:この機能
は、既存のマシン上でのTSTOPの完全な実行が不可
能である場合に特に有用である。部分的な実行でもコン
ピュータ・システムの例外処理によるオーバヘッドなし
にTSTOP機能を利用し易くすることができる。)マ
シンがTSTOPを完全に実行する場合、OPコード・
テーブル200に対応するエントリを有する。TSTO
Pのオペランドにより指示された目的の命令の第1のバ
イトが検索される(図4の310)。この第1のバイト
がOPコード・テーブル1(図4の311)への索引と
して用いられ、そのエントリを検索する。検索されたエ
ントリの2バイト・フラグ211が「YES」であれば
(図4の315)、目的の命令のOPコードは2バイト
長である。その後、命令の第2のバイトが、OPコード
・テーブル1(図2)のエントリのルーチン・フィール
ド215により指示されるOPコード拡張テーブル(図
3)への索引として用いられる(図4の322)。2バ
イト・フラグ211が「NO」の場合、目的の命令の第
1のバイトをOPコード・テーブル1(図2の200)
への索引とすることによりこのテーブルを用いる(図4
の320)。この目的の命令のOPコードに対するOP
コード・テーブル(図2及び図3)のエントリは、上記
のように目的の命令のOPコード索引を用いることによ
り検索される(図4の325)。有効フラグ210又は
230が「YES」にセットされている場合は目的の命
令がこのプロセッサ上にあることを意味するので(図4
の330)、PSW130の条件コード131が0にセ
ットされ(図4の335)、TSTOPの処理は完了す
る。有効フラグ210又は230が「NO」にセットさ
れている場合は、非対称フラグ212又は235が検査
される(図4の340)。非対称フラグ212又は23
5が「YES」にセットされている場合は目的の命令が
コンピュータ・システム内の他のいずれかのプロセッサ
上にあることを示すので(図4の340)、PSW13
0の条件コード131が1にセットされ(図4の34
5)、TSTOPの処理は完了する。非対称フラグ21
2又は235が「NO」にセットされている場合は、目
的の命令の存在がコンピュータ・システム内の全てのプ
ロセッサについて同等であることを示すのでPSW13
0の条件コード131が2にセットされ(図4の35
0)、TSTOPの処理は完了する。
【0018】TSTOPから派生するプロセスが行う処
理は、その実行環境に依存するとともに返される条件コ
ードに依存することになる。非優先的にタスクを割振る
環境(すなわち、割込みが禁止されているシステム)に
おいては、TSTOPによりその存在と動作可能性を判
断される命令は、命令の有効性の決定があれば、すなわ
ち有効性が判断されたプロセッサ上においてその命令が
実行されると認知したならば、即座に実行されることが
できる。命令がそのコンピュータ・システム内に存在す
るがこのプロセッサでは利用できないことを条件コード
が示した場合は、(非優先的タスク割振りをする環境に
おいては)TSTOPを実行するプロセスがその命令を
シミュレートするか、又は(優先的にタスク割振りをす
る環境においては)状態を保存し、その命令が存在しか
つ動作可能なプロセッサに対する「親和性」により再割
振りすることを選んでもよい。(親和性によりタスクを
再割振りする技術は公知であり、例えば米国特許第48
09157号「Dynamic Assignment of Affinity for V
ector Tasks」を参照されたい。)
理は、その実行環境に依存するとともに返される条件コ
ードに依存することになる。非優先的にタスクを割振る
環境(すなわち、割込みが禁止されているシステム)に
おいては、TSTOPによりその存在と動作可能性を判
断される命令は、命令の有効性の決定があれば、すなわ
ち有効性が判断されたプロセッサ上においてその命令が
実行されると認知したならば、即座に実行されることが
できる。命令がそのコンピュータ・システム内に存在す
るがこのプロセッサでは利用できないことを条件コード
が示した場合は、(非優先的タスク割振りをする環境に
おいては)TSTOPを実行するプロセスがその命令を
シミュレートするか、又は(優先的にタスク割振りをす
る環境においては)状態を保存し、その命令が存在しか
つ動作可能なプロセッサに対する「親和性」により再割
振りすることを選んでもよい。(親和性によりタスクを
再割振りする技術は公知であり、例えば米国特許第48
09157号「Dynamic Assignment of Affinity for V
ector Tasks」を参照されたい。)
【0019】図5は、IBMのESA/390において
実施されたTSTOP命令の例であり、IBM刊行の
「Enterprise Systems Architecture/390 Principles o
f Operation, SA22-7201-00」に記載されている。図5
の400は、コード化される命令を示す。TSTOP4
01は命令のニーモニック表現であり、偏位(ベース)
フォーマットのオペランド402は、問合せされる目的
の命令のアドレスを構成する。図5の410は、TST
OP命令フォーマットが、その16進数の記憶常駐形式
ではどのように表されるかを示している。この命令は3
2ビット長である。前半の16ビットはOPコード41
2を構成し、この例では16進数「B2FF」である。
ビット16乃至19(413)は、オペランドのベース
・レジスタを構成し、ビット20乃至31(414)は
オペランドの偏位部分を構成する。オペランドは、TS
TOPにより問合せされる目的の命令の常駐するアドレ
スを構成する。この例ではESA/390におけるTS
TOP命令の形式を用いたが、実行するプロセッサのア
ーキテクチャに適した形式であればいずれも本発明を適
用できることを注記する。
実施されたTSTOP命令の例であり、IBM刊行の
「Enterprise Systems Architecture/390 Principles o
f Operation, SA22-7201-00」に記載されている。図5
の400は、コード化される命令を示す。TSTOP4
01は命令のニーモニック表現であり、偏位(ベース)
フォーマットのオペランド402は、問合せされる目的
の命令のアドレスを構成する。図5の410は、TST
OP命令フォーマットが、その16進数の記憶常駐形式
ではどのように表されるかを示している。この命令は3
2ビット長である。前半の16ビットはOPコード41
2を構成し、この例では16進数「B2FF」である。
ビット16乃至19(413)は、オペランドのベース
・レジスタを構成し、ビット20乃至31(414)は
オペランドの偏位部分を構成する。オペランドは、TS
TOPにより問合せされる目的の命令の常駐するアドレ
スを構成する。この例ではESA/390におけるTS
TOP命令の形式を用いたが、実行するプロセッサのア
ーキテクチャに適した形式であればいずれも本発明を適
用できることを注記する。
【0020】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0021】(1)主記憶装置と中央演算処理装置とを
有するコンピュータにおいて命令オペレーション・コー
ドを予め検査するための装置であって、前記中央演算処
理装置内に設けられた命令実行ユニットと、前記主記憶
装置内に設けられたリターン値フィールドとを有し、前
記命令実行ユニットが、前記主記憶装置から実行される
命令を取出すフェッチ手段と、前記実行される命令をデ
コードするデコード手段と、前記フェッチ手段により取
出された前記命令を実行するために指定されたアドレス
にある予め設定された論理ルーチンのセットを呼出すこ
とができる実行手段と、前記目的とする命令が「テスト
・オペレーション(TEST OPERATION)」命令である場
合、該目的の命令の有効性を検査しかつ前記リターン値
フィールド内に該目的の命令の状態を標示する例外標示
をセットする予め設定された「テスト・オペレーショ
ン」論理ルーチン手段とを含む命令オペレーション・コ
ードを予め検査するための装置。 (2)前記実行手段が、前記取出された命令をデコード
しかつ実行するためのデコード手段及び実行手段に対し
て情報を与えるオペレーション・コード・テーブル手段
をさらに有する上記(1)に記載の装置。 (3)前記情報が、オペレーション・コードの有効性情
報と前記予め設定された論理ルーチンのセットの特定の
1つをアドレス指定するアドレス指定情報とを有する上
記(2)に記載の装置。 (4)前記オペレーション・コード・テーブル手段が、
1バイトのオペレーション・コードのための主テーブル
域と2バイトのオペレーション・コードのための拡張テ
ーブル域とを有する上記(3)に記載の装置。 (5)前記コンピュータが少なくとも2つの中央演算処
理装置を有する多重処理コンピュータであり、前記状態
が、前記テスト・オペレーション命令を実行している中
央演算処理装置ではないもう一方の前記中央演算処理装
置上に前記目的の命令の論理手段が存在することを示す
上記(1)に記載の装置。 (6)前記状態が、前記目的の命令の論理手段が前記コ
ンピュータ上に存在しないことを示す上記(1)に記載
の装置。 (7)前記状態が、前記目的の命令の論理手段が前記コ
ンピュータ上に存在しかつ利用可能であることを示す上
記(1)に記載の装置。 (8)前記状態が、前記目的の命令の論理手段が存在し
かつ利用可能であることを判断できないことを示す上記
(1)に記載の装置。 (9)前記リターン値フィールドがプログラム状態ワー
ド(Program Status Word)に含まれる上記(1)に記
載の装置。 (10)主記憶装置と中央演算処理装置とを有するコン
ピュータにおいて命令オペレーション・コードを予め検
査するための方法であって、記憶されたプログラムが、
目的の命令が検査されるべきオペレーション・コードを
有することをオペランドにより示すテスト・オペレーシ
ョン命令を出すステップと、前記中央演算処理装置が、
自身の中に前記目的の命令を実行できる該目的の命令の
論理手段が動作可能な状態で存在することを検査するこ
とにより該テスト・オペレーション命令を実行するステ
ップと、前記中央演算処理装置が、前記検査に応答して
リターン値フィールドに例外標示をセットするステップ
とを有する、命令オペレーション・コードを予め検査す
る方法。 (11)前記目的の命令の論理手段が動作可能な状態で
存在することを検査するステップが、オペレーション・
コード・テーブル内のエントリを前記オペレーション・
コードを用いて識別するステップと、前記エントリから
前記手段が動作可能な状態で存在するという標示を得る
ステップとを有する上記(10)に記載の方法。 (12)前記標示が有効フィールドを含む上記(11)
に記載の方法。 (13)前記標示が非対称フィールドをさらに含む上記
(12)に記載の方法。
有するコンピュータにおいて命令オペレーション・コー
ドを予め検査するための装置であって、前記中央演算処
理装置内に設けられた命令実行ユニットと、前記主記憶
装置内に設けられたリターン値フィールドとを有し、前
記命令実行ユニットが、前記主記憶装置から実行される
命令を取出すフェッチ手段と、前記実行される命令をデ
コードするデコード手段と、前記フェッチ手段により取
出された前記命令を実行するために指定されたアドレス
にある予め設定された論理ルーチンのセットを呼出すこ
とができる実行手段と、前記目的とする命令が「テスト
・オペレーション(TEST OPERATION)」命令である場
合、該目的の命令の有効性を検査しかつ前記リターン値
フィールド内に該目的の命令の状態を標示する例外標示
をセットする予め設定された「テスト・オペレーショ
ン」論理ルーチン手段とを含む命令オペレーション・コ
ードを予め検査するための装置。 (2)前記実行手段が、前記取出された命令をデコード
しかつ実行するためのデコード手段及び実行手段に対し
て情報を与えるオペレーション・コード・テーブル手段
をさらに有する上記(1)に記載の装置。 (3)前記情報が、オペレーション・コードの有効性情
報と前記予め設定された論理ルーチンのセットの特定の
1つをアドレス指定するアドレス指定情報とを有する上
記(2)に記載の装置。 (4)前記オペレーション・コード・テーブル手段が、
1バイトのオペレーション・コードのための主テーブル
域と2バイトのオペレーション・コードのための拡張テ
ーブル域とを有する上記(3)に記載の装置。 (5)前記コンピュータが少なくとも2つの中央演算処
理装置を有する多重処理コンピュータであり、前記状態
が、前記テスト・オペレーション命令を実行している中
央演算処理装置ではないもう一方の前記中央演算処理装
置上に前記目的の命令の論理手段が存在することを示す
上記(1)に記載の装置。 (6)前記状態が、前記目的の命令の論理手段が前記コ
ンピュータ上に存在しないことを示す上記(1)に記載
の装置。 (7)前記状態が、前記目的の命令の論理手段が前記コ
ンピュータ上に存在しかつ利用可能であることを示す上
記(1)に記載の装置。 (8)前記状態が、前記目的の命令の論理手段が存在し
かつ利用可能であることを判断できないことを示す上記
(1)に記載の装置。 (9)前記リターン値フィールドがプログラム状態ワー
ド(Program Status Word)に含まれる上記(1)に記
載の装置。 (10)主記憶装置と中央演算処理装置とを有するコン
ピュータにおいて命令オペレーション・コードを予め検
査するための方法であって、記憶されたプログラムが、
目的の命令が検査されるべきオペレーション・コードを
有することをオペランドにより示すテスト・オペレーシ
ョン命令を出すステップと、前記中央演算処理装置が、
自身の中に前記目的の命令を実行できる該目的の命令の
論理手段が動作可能な状態で存在することを検査するこ
とにより該テスト・オペレーション命令を実行するステ
ップと、前記中央演算処理装置が、前記検査に応答して
リターン値フィールドに例外標示をセットするステップ
とを有する、命令オペレーション・コードを予め検査す
る方法。 (11)前記目的の命令の論理手段が動作可能な状態で
存在することを検査するステップが、オペレーション・
コード・テーブル内のエントリを前記オペレーション・
コードを用いて識別するステップと、前記エントリから
前記手段が動作可能な状態で存在するという標示を得る
ステップとを有する上記(10)に記載の方法。 (12)前記標示が有効フィールドを含む上記(11)
に記載の方法。 (13)前記標示が非対称フィールドをさらに含む上記
(12)に記載の方法。
【0022】
【発明の効果】本発明により、プログラムがその実行中
にまだ実行されていない命令の有効性を判断することが
可能であり、かつ例外処理又は回復処理によるオーバヘ
ッドを避けることができる。
にまだ実行されていない命令の有効性を判断することが
可能であり、かつ例外処理又は回復処理によるオーバヘ
ッドを避けることができる。
【図1】本発明の主要なエレメントを示したシステム図
である。
である。
【図2】本発明において用いるOPコード・テーブル1
の図である。
の図である。
【図3】本発明において用いるOPコード拡張テーブル
の図である。
の図である。
【図4】TSTOP命令のロジックの流れ図である。
【図5】TSTOP命令のフォーマットを示す図であ
る。
る。
100 プロセッサ 105 主記憶装置 106 プログラム 107 命令 108 TSTOP命令 109 ブランチ命令 110 命令実行ユニット 112 OPコード 113 オペランド 114 デコード 115 実行 116 フェッチ 120 プログラム例外 125 ROM 130 PSW(プログラム状態ワード) 200 OPコード・テーブル1(基本テーブル) 220 OPコード拡張テーブル(拡張テーブル)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・ジェラルド・モール アメリカ合衆国95037 カリフォルニア州、 モーガン・ヒル、ラクロッセ・ドライブ 53
Claims (13)
- 【請求項1】主記憶装置と中央演算処理装置とを有する
コンピュータにおいて命令オペレーション・コードを予
め検査する装置であって、 前記中央演算処理装置内に設けられた命令実行ユニット
と、 前記主記憶装置内に設けられたリターン値フィールドと
を有し、 前記命令実行ユニットが、 前記主記憶装置から実行される命令を取出すフェッチ手
段と、 前記実行される命令をデコードするデコード手段と、 前記フェッチ手段により取出された前記命令を実行する
ために指定されたアドレスにある予め設定された論理ル
ーチンのセットを呼出すことができる実行手段と、 目的とする命令が「テスト・オペレーション」命令であ
る場合、該目的の命令の有効性を検査しかつ前記リター
ン値フィールド内に該目的の命令の状態を標示する例外
標示をセットする予め設定された「テスト・オペレーシ
ョン」論理ルーチン手段とを含む命令オペレーション・
コードを予め検査する装置。 - 【請求項2】前記実行手段が、前記取出された命令をデ
コードしかつ実行するためのデコード手段及び実行手段
に対して情報を与えるオペレーション・コード・テーブ
ル手段をさらに有する請求項1に記載の装置。 - 【請求項3】前記情報が、オペレーション・コードの有
効性情報と前記予め設定された論理ルーチンのセットの
特定の1つをアドレス指定するアドレス指定情報とを有
する請求項2に記載の装置。 - 【請求項4】前記オペレーション・コード・テーブル手
段が、1バイトのオペレーション・コードのための主テ
ーブル域と2バイトのオペレーション・コードのための
拡張テーブル域とを有する請求項3に記載の装置。 - 【請求項5】前記コンピュータが少なくとも2つの中央
演算処理装置を有する多重処理コンピュータであり、前
記状態が、前記テスト・オペレーション命令を実行して
いる中央演算処理装置ではないもう一方の前記中央演算
処理装置上に前記目的の命令の論理手段が存在すること
を示す請求項1に記載の装置。 - 【請求項6】前記状態が、前記目的の命令の論理手段が
前記コンピュータ上に存在しないことを示す請求項1に
記載の装置。 - 【請求項7】前記状態が、前記目的の命令の論理手段が
前記コンピュータ上に存在しかつ利用可能であることを
示す請求項1に記載の装置。 - 【請求項8】前記状態が、前記目的の命令の論理手段が
存在しかつ利用可能であることを判断できないことを示
す請求項1に記載の装置。 - 【請求項9】前記リターン値フィールドがプログラム状
態ワードに含まれる請求項1に記載の装置。 - 【請求項10】主記憶装置と中央演算処理装置とを有す
るコンピュータにおいて命令オペレーション・コードを
予め検査する方法であって、 記憶されたプログラムが、目的の命令が検査されるべき
オペレーション・コードを有することをオペランドによ
り示すテスト・オペレーション命令を出すステップと、 前記中央演算処理装置が、自身の中に前記目的の命令を
実行できる該目的の命令の論理手段が動作可能な状態で
存在することを検査することにより該テスト・オペレー
ション命令を実行するステップと、 前記中央演算処理装置が、前記検査に応答してリターン
値フィールドに例外標示をセットするステップとを有す
る、 命令オペレーション・コードを予め検査する方法。 - 【請求項11】前記目的の命令の論理手段が動作可能な
状態で存在することを検査するステップが、 オペレーション・コード・テーブル内のエントリを前記
オペレーション・コードを用いて識別するステップと、 前記エントリから前記手段が動作可能な状態で存在する
という標示を得るステップとを有する、 請求項10に記載の方法。 - 【請求項12】前記標示が有効フィールドを含む請求項
11に記載の方法。 - 【請求項13】前記標示が非対称フィールドをさらに含
む請求項12に記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US082338 | 1987-08-06 | ||
| US82338 | 1987-08-06 | ||
| US08/082,338 US5925125A (en) | 1993-06-24 | 1993-06-24 | Apparatus and method for pre-verifying a computer instruction set to prevent the initiation of the execution of undefined instructions |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0728640A true JPH0728640A (ja) | 1995-01-31 |
| JP2610104B2 JP2610104B2 (ja) | 1997-05-14 |
Family
ID=22170589
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6097299A Expired - Lifetime JP2610104B2 (ja) | 1993-06-24 | 1994-05-11 | 命令オペレーション・コードの検査装置及び方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US5925125A (ja) |
| JP (1) | JP2610104B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013535063A (ja) * | 2010-06-24 | 2013-09-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 特定の命令がプロセッサによって実行されないようにブロックするためのコンピュータで実装される方法、コンピュータ・システム、およびコンピュータ・プログラム |
| KR102176320B1 (ko) * | 2020-03-02 | 2020-11-10 | 주식회사 이글루시큐리티 | 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법 |
| KR102176336B1 (ko) * | 2020-03-25 | 2020-11-10 | 주식회사 이글루시큐리티 | 보안취약점 진단오류 분류방법 및 그 시스템 |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5748964A (en) * | 1994-12-20 | 1998-05-05 | Sun Microsystems, Inc. | Bytecode program interpreter apparatus and method with pre-verification of data type restrictions |
| US6463521B1 (en) * | 1999-06-23 | 2002-10-08 | Sun Microsystems, Inc. | Opcode numbering for meta-data encoding |
| US7080242B2 (en) * | 2002-12-19 | 2006-07-18 | Hewlett-Packard Development Company, L.P. | Instruction set reconciliation for heterogeneous symmetric-multiprocessor systems |
| US20060282821A1 (en) * | 2005-06-10 | 2006-12-14 | Renno Erik K | Efficient subprogram return in microprocessors |
| US8352952B2 (en) * | 2008-12-01 | 2013-01-08 | Citrix Systems, Inc. | Systems and methods for facilitating virtualization of a heterogeneous processor pool |
| US9851969B2 (en) | 2010-06-24 | 2017-12-26 | International Business Machines Corporation | Function virtualization facility for function query of a processor |
| US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
| US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
| US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
| US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
| US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
| US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
| US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
| US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
| US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
| US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
| US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
| US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
| US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
| US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
| US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
| US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
| US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
| US20160011875A1 (en) * | 2014-07-08 | 2016-01-14 | Apple Inc. | Undefined instruction recoding |
| CN109918292B (zh) * | 2019-01-28 | 2020-09-11 | 中国科学院信息工程研究所 | 一种处理器指令集测试方法和装置 |
| US11099853B2 (en) * | 2019-02-15 | 2021-08-24 | International Business Machines Corporation | Digit validation check control in instruction execution |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS56101250A (en) * | 1980-01-14 | 1981-08-13 | Toshiba Corp | Data processor |
| JPS61220030A (ja) * | 1985-03-26 | 1986-09-30 | Toshiba Corp | ソフトウエア識別方式 |
| JPS6433629A (en) * | 1987-07-30 | 1989-02-03 | Mitsubishi Electric Corp | Program type deciding device |
| JPH04137138A (ja) * | 1990-09-28 | 1992-05-12 | Nec Corp | 情報処理装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3771138A (en) * | 1971-08-31 | 1973-11-06 | Ibm | Apparatus and method for serializing instructions from two independent instruction streams |
| US4441153A (en) * | 1981-04-03 | 1984-04-03 | International Business Machines Corp. | Instruction register content modification using plural input gates and a data flow register |
| US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
| US4520440A (en) * | 1982-12-15 | 1985-05-28 | International Business Machines Corporation | Test verification of processor architecture having a partial instruction set |
| US4710866A (en) * | 1983-09-12 | 1987-12-01 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
| JPS62204345A (ja) * | 1986-03-05 | 1987-09-09 | Oki Electric Ind Co Ltd | マイクロコンピユ−タ |
| GB2200483B (en) * | 1987-01-22 | 1991-10-16 | Nat Semiconductor Corp | Memory referencing in a high performance microprocessor |
| US4853040A (en) * | 1987-03-30 | 1989-08-01 | A. L. Sandpiper Corporation | Processes for decontaminating polluted substrates |
| JP2722523B2 (ja) * | 1988-09-21 | 1998-03-04 | 日本電気株式会社 | 命令先取り装置 |
| US5269017A (en) * | 1991-08-29 | 1993-12-07 | International Business Machines Corporation | Type 1, 2 and 3 retry and checkpointing |
| US5408674A (en) * | 1992-12-23 | 1995-04-18 | Amdahl Corporation | System for checking the validity of two byte operation code by mapping two byte operation codes into control memory in order to reduce memory size |
-
1993
- 1993-06-24 US US08/082,338 patent/US5925125A/en not_active Expired - Fee Related
-
1994
- 1994-05-11 JP JP6097299A patent/JP2610104B2/ja not_active Expired - Lifetime
-
1995
- 1995-06-07 US US08/487,670 patent/US5640503A/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS56101250A (en) * | 1980-01-14 | 1981-08-13 | Toshiba Corp | Data processor |
| JPS61220030A (ja) * | 1985-03-26 | 1986-09-30 | Toshiba Corp | ソフトウエア識別方式 |
| JPS6433629A (en) * | 1987-07-30 | 1989-02-03 | Mitsubishi Electric Corp | Program type deciding device |
| JPH04137138A (ja) * | 1990-09-28 | 1992-05-12 | Nec Corp | 情報処理装置 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013535063A (ja) * | 2010-06-24 | 2013-09-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 特定の命令がプロセッサによって実行されないようにブロックするためのコンピュータで実装される方法、コンピュータ・システム、およびコンピュータ・プログラム |
| 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 |
| KR102176320B1 (ko) * | 2020-03-02 | 2020-11-10 | 주식회사 이글루시큐리티 | 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법 |
| KR102176336B1 (ko) * | 2020-03-25 | 2020-11-10 | 주식회사 이글루시큐리티 | 보안취약점 진단오류 분류방법 및 그 시스템 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5640503A (en) | 1997-06-17 |
| US5925125A (en) | 1999-07-20 |
| JP2610104B2 (ja) | 1997-05-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2610104B2 (ja) | 命令オペレーション・コードの検査装置及び方法 | |
| US5794066A (en) | Apparatus and method for identifying the features and the origin of a computer microprocessor | |
| US6009261A (en) | Preprocessing of stored target routines for emulating incompatible instructions on a target processor | |
| JP4216182B2 (ja) | 複数の命令セットを用いるデータ処理 | |
| US5944841A (en) | Microprocessor with built-in instruction tracing capability | |
| EP2018609B1 (en) | Pre-decoding variable length instructions | |
| US6542985B1 (en) | Event counter | |
| CN102792265B (zh) | 基于机器状态的指令破解 | |
| EP2628074B1 (en) | Decoding instructions from multiple instruction sets | |
| US7089539B2 (en) | Program instruction interpretation | |
| US20240012649A1 (en) | Instruction conversion method, instruction conversion system, and processor | |
| CN116724291A (zh) | 加载区块指令和存储区块指令 | |
| JP3732198B2 (ja) | 複数命令セットシステムにおける非処理操作処理 | |
| JP3486690B2 (ja) | パイプライン方式プロセッサ | |
| US6907515B2 (en) | Configuration control within data processing systems | |
| CN111566628A (zh) | 控制存储器访问中的守护标签检查 | |
| JPH0668724B2 (ja) | シミユレーシヨン方法 | |
| KR20040058228A (ko) | 낮은 오버헤드의 예외 체킹 | |
| JPH03105644A (ja) | 命令処理装置 | |
| JPH0752402B2 (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050414 |
|
| RD04 | Notification of resignation of power of attorney |
Effective date: 20050606 Free format text: JAPANESE INTERMEDIATE CODE: A7424 |