命令セットシミュレータ wikipedia|無料辞書
命令セットシミュレータ (めいれい-、英:
Instruction set simulator, ISS)とは、
マイクロプロセッサやメインフレームなどの振る舞いを模倣する
シミュレーション モデルの一種である。ISS は通例
高級言語でプログラムされており、シミュレートするアーキテクチャの命令を読み込み、プロセッサの
レジスタを表現する内部変数の状態を維持して命令レベルでの模倣を行う。
命令のシミュレーション とは、以下のいずれかを目的として導入される方法論である。
・ のために、異なるハードウェアやコンピューターの
機械語をシミュレートする。通常
システムシミュレータは命令セットシミュレータを内包している。
・ デバッグ目的のために、機械語命令を(単なるデータとして扱って)同じハードウェア上でたとえば
メモリ保護機能 (意図的あるいは偶発的な
バッファオーバーランからシステムを保護する)と共に実行し、その振る舞いを監視する。
・ プロセッサコアを関連するシミュレーションで、プロセッサ自身が検証の対象でない場合のシミュレーション性能を向上させる。例:
Verilog のシミュレーションを"
PLI" を用いて検証する。
◆ 命令シミュレータの実装
基本的な命令のシミュレーション技術は、目的によらず同一である。まずモニタプログラムが対象のプログラムの名前を入力パラメータ共に受け取る。
対象のプログラムはメモリ上にロードされるが、コードに制御が渡されることはない。代わりに、ロードされたプログラムのエントリーポイントが計算され、擬似的なプログラムカウンタ()がその位置に設定される。擬似的なレジスタの内容は、対象のプログラムを直接実行する場合と同じように設定する。
ここで、ハードウェア構成やOSによっては、レジスタの一部が他の"制御ブロック"を示すように設定しておく必要がある。
その後、命令の実行は下記のように行われる。
#擬似的なPSWの位置(初期には、プログラムの最初の命令)にある命令の長さを決定する。この命令のプログラムにおけるオフセットが以前に設定された「中断」位置であれば、「中断」理由を設定し、7. へ進む
#命令を「読み取り」、モニタのメモリに展開する。「トレース」が利用でき、有効にされていれば、プログラムの名前、命令のオフセットと他の変数を格納する。
#命令の種類により、実行前のチェックを行ってから実行する。何らかの理由でこれ以上命令が進行できない場合(無効な命令、不正なモード等)、7. へ進む。命令がメモリを書き換える場合には、(現在
スレッドに対して)書き換え先が存在するか、また十分な大きさを持っているかを確認する。問題なければ、適切な擬似レジスタの値を実際のレジスタに読み込ませ、等価なメモリ変更の演算を実際のレジスタで実行させ、トレースが有効であれば変更された記憶領域のアドレスと長さを記録し、4. へ進む。命令がレジスタからレジスタへの操作であった場合には、擬似レジスタを実際のレジスタにロードし、処理を実行させ、対応する擬似レジスタに書き戻し、4. へ進む。命令が条件分岐の場合、条件が満たされるかを決定する。満たされなければ 4. へ進み、満たされる場合には分岐先のアドレスを計算し、有効なアドレスかを確認し、無効であれば、 ""のエラーをセットし7. へ進む。問題なければ、5. へ進む。命令がアプリケーションのシステムコールである場合には、制御をモニタプログラムに戻すためモニタプログラムでアドレスを偽装して実際のコールはモニタープログラムから行い、擬似レジスタの値にシステムコールの結果を反映させ、4. へ進む。
#命令の長さの分、擬似PSWを増加させる。
#PSWの次のアドレスを擬似 PSW に読み込む。
# 1. に進む。
# 実行を停止する。
テストやデバッグ目的のため、モニタプログラムはレジスタ、メモリ、プログラムの再開位置を取得/変更する機能、
コアダンプの取得、現在のデータの値に対するプログラムのシンボル名を表示する機能、などを提供することができる。条件によって実行を「中断」する機能や、不要な中断箇所を取り除く機能などを備えることもできる。
命令セットシミュレータは、実行の条件がエラーによって破壊されてしまうようなエラーを命令の実行前に検出する機会を提供することができる。
IBM System/360 での良い例として、命令シミュレータのモニタを使う以外にはデバッグが困難な命令列があった。
LM R1,R15,12(R13) r13 が誤って X"00" が連続した記憶域を指している
BR R14 PSW は X"0000002" を示し、"Operation Exception" を発生
・ 全レジスタはエラー時 0 になる.
◆利点・問題点
◇オーバーヘッド
上記のサイクル(フェッチ、実行、新しいアドレスの計算)という処理を行うために必要な命令数はハードウェアに依存するが、
IBM System/360/370/390/ES9000 クラスのマシンでは 12〜13命令で実現できる。正しいメモリ位置のチェックや、条件によってプログラムを中断する機能は、かなりのオーバーヘッドが必要であるが、最適化技法により許容できるレベルまでオーバーヘッドを削減することができる。、トレース、テスト用のエラールーチンへの意図的なジャンプ(エラーがない場合でも)などの
強力なデバッグ能力を提供できるので、テスト目的のためには十分許容できる。さらに、実行
コード網羅率を測定するために、命令の完全なトレースを利用することもできる。
◇その他の利点
対象プログラムの実行をモニタすることで、実環境はなくモニタ上で発生する
ランダムエラーを検出することに役立つ場合がある。
これは、シミュレーションの場合には同じアドレス空間にモニタプログラムが存在しているため、対象のプログラムが通常と異なる場所にロードされることで発生する場合がある。
対象のプログラムがメモリ上のランダムな位置の値を読み取った場合、たとえばヌル値(X"00") を読み取り、プログラムは正常に動作していたとする。モニタプログラムがプログラムをロードする番地をシフトさせると、それによりたとえばX"FF"を読み取るようになり、プログラムのロジックは比較の操作で異なる結果を返すかもしれない。あるいは、モニタプログラムそのものがロードされた番地が値を読み出す場所であった場合にも、同様の結果が生じうる。
再入性に関するバグ:静的変数を誤って"動的な"スレッド局所な記憶域の代わりに用いると、多くの場合再入性に関する問題が生じる。モニタプログラムを使用することでこうした問題を
storage protect keyを用いずに検出することができる。
無効な命令 オペレーティングシステム(あるいはハードウェア)は、アプリケーションプログラムがオペレーティングシステムの特定の機能を呼び出す際、正しい"モード"であることを要求する。命令セットシミュレータはこうした条件を実行前に検出することができる。
ホットスポットの解析・命令の使用状況の解析: シミュレーションの間に実行された命令を数えると(数は実際のプロセッサや、モニターを行わない実行の場合と一致するはずである)、シミュレータはアルゴリズムのバージョンによる性能の違いを計測したり、"ホットスポット"を検出してプログラマが
最適化を行ったりできる。通常の実行時にはこうした情報を取得することが容易でなく、また特に高水準言語のプログラムは、そもそも機械語命令を抽象化してしまうため、特にその傾向が強い。この使い方では、ISS は
性能解析の一形態として考えることができる。
◆トレース結果の例
テストやデバッグのためにモニタプログラムを使用して行ったシミュレーションのトレースの例である。
プログラム オフセット 命令 逆アセンブル レジスタ/ 記憶装置 (実行後)
TEST001 000000 X'05C0' BALR R12,0 R12=002CE00A
000002 X'47F0C00E' BC 15,X'00E'(R12)
・命令セットシミュレータ page1
■命令セットシミュレータを他のサイトで調べる
@[命令セットシミュレータ]暇つぶしマスター
A[命令セットシミュレータ]性病マスター
B[命令セットシミュレータ]ダイエットNAVI
C[命令セットシミュレータ]価格比較マスター
D[命令セットシミュレータ]肛門科マスター
E[命令セットシミュレータ]産婦人科科マスター
F[命令セットシミュレータ]結婚情報マスター
■動物関連検索
■動物Wikipedia情報
おすすめサイト
■ダイエット
美容・ダイエットならオマカセ!ダイエットNAVI
■性病
性病?お悩み・病院検索は性病マスター
■暇つぶし
いま、ヒマ?暇つぶしマスターで暇つぶし★
■価格比較
気になる商品の価格を比較!価格比較マスター
■懸賞
カンタン応募で豪華商品が当たる!アタックchance!
■バイト
駅チカバイトなら楽ラクバイト.com
■求人
地域を選んでバイト、仕事を探せる!!バリバリ仕事!.com
■アルバイト
バイトをこだわり条件で探す!こだわりキャリア.com
■求人情報
自分に合ったバイト探し★Myピッタリ仕事.com
■バイト
"資格"でバイト探し!天職さがそ!.com
■バイト
いいバイト、あるある!aruアルバイト.com
■懸賞
アタックchanceで懸賞チャレンジ!
■産婦人科
病院探し!病気相談なら産婦人科マスター
■出産
妊娠!出産!育児!赤ちゃんマスターでお悩み解決!
■外為
外為・為替レートをチェック!外為マスター
■結婚
結婚マスター!結納・両親・マリッジブルーノお悩みに…
■先物
先物・取引!詳しくなる!先物マスター
■資格
資格!キャリアアップ!資格GETマスター★
■小説
小説・書籍ならオマカセ!小説マスター
■スポーツ
スポーツ!健康!デトックス!スポーツマスターにオマカセ!
■葬儀
お葬式・葬祭のことなら・・・葬儀マスター
■痩身
ダイエット・デトックス・痩身!スリムGETマスター
■脱毛
パーフェクトBODY目指せ!脱毛マスター
■着うた
最新!人気!定番!うたマスターで着うたCHECK!
■デコメ
キラ系かわいいデコメCHECK!デコメマスター
■転職
履歴書・マナー・転職テク!就職情報なら転職マスター
■バイク
ハーレー!改造!バイクマスターにオマカセ!
■派遣
派遣!転職!キャリアアップ!転職マスター
■ペット
カワイイ犬・猫を飼いたい!ペットマスター
■豊胸
薄着の季節…お悩み解決!豊胸マスター
■包茎
包茎のお悩みなら…包茎マスター
■レシピ
今晩のおかず…料理・レシピならレシピマスター
■モバグラMIXの人気キーワード
モバグラMIXの人気キーワード一覧
■外為
外為情報をいち早く!外為LINK
■求人
転職・就活なら求人LINKにオマカセ!
■金融
金融業界の勉強するなら!金融LINK
■車
TOYOTA!HONDA!BMW!車のコトなら車LINK
■モバグラMIXの人気キーワード2
モバグラmixの人気キーワード2
■モバグラMXIの人気キーワード3
モバグラMIXの人気キーワード3
■モバグラMIXの人気キーワード4
モバグラMIXの人気キーワード4
■モバグラMIXの人気キーワード5
モバグラMIXの人気キーワード5
■モバグラMIXの人気キーワード6
モバグラMIXの人気キーワード6
■モバグラMIXの人気キーワード7
モバグラMIXの人気キーワード7
■モバグラMIXの人気キーワード8
モバグラMIXの人気キーワード8
■モバグラMIXの人気キーワード9
モバグラMIXの人気キーワード9
■モバグラMIXの人気キーワード10
モバグラMIXの人気キーワード10
■モバグラMIXの人気キーワード11
モバグラMIXの人気キーワード11
■モバグラMIXの人気キーワード12
モバグラMIXの人気キーワード12
■モバグラMIXの人気キーワード13
モバグラMIXの人気キーワード13
■モバグラMIXの人気キーワード14
モバグラMIXの人気キーワード14
■モバグラMIXの人気キーワード15
モバグラMIXの人気キーワード15
■モバグラMIXの人気キーワード16
モバグラMIXの人気キーワード16
■モバグラMIXの人気キーワード17
モバグラMIXの人気キーワード17
■車査定
車査定.com
■献立レシピ1
レシピが月額99円
■献立レシピ2
レシピが月額99円
~動物-master.com 【05/29update】 トップへ
(C)動物-master.com