ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

命令セットシミュレータ

索引 命令セットシミュレータ

命令セットシミュレータ (めいれい-、英: Instruction set simulator, ISS)とは、コンピュータ(プロセッサ)のシミュレータ(エミュレータ)のモデルのひとつで、命令セットレベルのシミュレーションを行うものである。ISS は通例高級言語でプログラムされており、シミュレートするアーキテクチャの命令を読み込み、プロセッサのレジスタを表現する内部変数の状態を維持して命令レベルでの模倣を行う。 命令のシミュレーション とは、以下のいずれかを目的として導入される方法論である。.

31 関係: 変数 (プログラミング)マイクロコントローラバッファオーバーランメモリ保護メモリマップドI/Oメタプログラミングモデル (自然科学)ランダムレジスタ (コンピュータ)プログラマプロセッサデバッガ命令セットエミュレータ (コンピュータ)コンピュータコード網羅率コアダンプシミュレーションシリアルポートスレッド (コンピュータ)ソフトウェア工学タイマー割り込み (コンピュータ)高水準言語GNUデバッガIBMSystem/360Verilog機械語最適化 (情報工学)性能解析

変数 (プログラミング)

プログラミングにおいて、変数(へんすう、variable)とは、プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 一人一人の人間が異なる名前によって区別されるように、一つ一つの変数も名前によって区別される。これにより、複数のデータを容易に識別することができる。変数名は一般に(字句的には)識別子である、ないし、変数の識別子のことを変数名という。一般に、変数が表しているデータをその変数の値(あたい)という。.

新しい!!: 命令セットシミュレータと変数 (プログラミング) · 続きを見る »

マイクロコントローラ

マイクロコントローラ(microcontroller)は、コンピュータシステムをひとつの集積回路に組み込んだものである。.

新しい!!: 命令セットシミュレータとマイクロコントローラ · 続きを見る »

バッファオーバーラン

バッファオーバーラン(buffer overrun)、バッファオーバーフロー(buffer overflow)とは、コンピュータのプログラムにおける、設計者が意図していないメモリ領域の破壊が起こされるバグのひとつ、またはそれにより引き起こされた現象を言う。 バッファオーバーランはコンピュータセキュリティ上の深刻なセキュリティホールとなりうるため、バッファオーバーランが起こる可能性のあるコンピュータプログラムはすぐに修正する必要がある。 バッファオーバーランは、現在もっとも重大なセキュリティホールのひとつと考えられている。あるプログラムでバッファオーバーランの脆弱性が発見されると、一般に高い優先度で修正作業が行われ、更新バージョンのプログラムや修正パッチの公開・配布などが行われる。.

新しい!!: 命令セットシミュレータとバッファオーバーラン · 続きを見る »

メモリ保護

メモリ保護(めもりほご)とは、コンピュータのメモリアクセス制御の方式であり、多くのオペレーティングシステム (OS) の一部となっている。主な目的は、プロセスが自身に割り当てられていないメモリにアクセスすることを防ぐことである。例えばプログラムにバグがあって暴走しても、他のプロセスやオペレーティングシステムのメモリの領域を破壊することが無いように保護することである。通常、ハードウェア(メモリ管理ユニット)とOSが協調して、多重仮想記憶などを用いて保護する。コンピュータセキュリティのためのメモリ保護としては、アドレス空間配置のランダム化や実行保護といった追加技法が含まれる。.

新しい!!: 命令セットシミュレータとメモリ保護 · 続きを見る »

メモリマップドI/O

メモリマップドI/O(Memory-mapped I/O)とは、コンピュータ内でCPUと入出力機器の間で入出力を行う手法の一種。他の入出力手法としては、ポートマップドI/O(Port-mapped I/O)と、メインフレームなどで独立した入出力プロセッサを使用するチャネル・コントローラ方式がある。本項目ではポートマップドI/Oについても併せて解説する。「メモリマップド」の表記も一般的だが、「メモリマップト」と「ト」に濁音を付けない表記も用いられている。後者の方が英語の原音(/mɛmrimæpt/)に近い。.

新しい!!: 命令セットシミュレータとメモリマップドI/O · 続きを見る »

メタプログラミング

メタプログラミング (metaprogramming) とはプログラミング技法の一種で、ロジックを直接コーディングするのではなく、あるパターンをもったロジックを生成する高位ロジックによってプログラミングを行う方法、またその高位ロジックを定義する方法のこと。主に対象言語に埋め込まれたマクロ言語によって行われる。.

新しい!!: 命令セットシミュレータとメタプログラミング · 続きを見る »

モデル (自然科学)

自然科学におけるモデルは、理論を説明するための簡単な具体的なもの。特に幾何学的な図形を用いた概念や物体。.

新しい!!: 命令セットシミュレータとモデル (自然科学) · 続きを見る »

ランダム

ランダム(random)とは、事象の発生に法則性(規則性)がなく、な状態である。ランダムネス(randomness)、無作為性(むさくいせい)ともいう。 事象・記号などのランダムな列には秩序がなく、理解可能なパターンや組み合わせに従わない。個々のランダムな事象は定義上予測不可能であるが、多くの場合、何度も試行した場合の結果の頻度は予測可能である。例えば、2つのサイコロを投げるとき、1回ごとの出目は予測できないが、合計が7になる頻度は4になる頻度の2倍になる。この見方では、ランダム性とは結果の不確実性の尺度であり、確率・情報エントロピーの概念に適用される。 数学、確率、統計の分野では、ランダム性の正式な定義が使用される。統計では、事象空間の起こり得る結果に数値を割り当てたものを確率変数(random variable)という。この関連付けは、事象の確率の識別および計算を容易にする。確率変数の列を(random sequence)という。ランダム過程(不規則過程、確率過程)は、結果が決定論的パターンに従わず、確率分布によって記述される進化に従う確率変数の列である。これらの構造と他の構造は、確率論や様々なランダム性の応用に非常に有用である。 ランダム性は、よく定義された統計的特性を示すために統計で最も頻繁に使用される。ランダムな入力(や擬似乱数発生器など)に依存するモンテカルロ法は、計算科学などの科学において重要な技術である。これに対し、では乱数列ではなく一様分布列を使用している。 無作為抽出(random selection)は、ある項目を選択する確率が母集団内におけるその項目の割合と一致している集団から項目を選択する方法である。例えば、赤い石10個と青い石90個を入れた袋に入れた場合、この袋から何らかのランダム選択メカニズムによって石を1個選択した時にそれが赤い石である確率は1/10である。しかし、ランダム選択メカニズムによって実際に10個の石を選択したときに、それが赤1個・青9個であるとは限らない。母集団が識別可能な項目で構成されている状況では、ランダム選択メカニズムは、選択される項目に等しい確率を必要とする。つまり、選択プロセスが、母集団の各メンバー(例えば、研究対象)が選択される確率が同じである場合、選択プロセスはランダムであると言うことができる。.

新しい!!: 命令セットシミュレータとランダム · 続きを見る »

レジスタ (コンピュータ)

レジスタ(register)はコンピュータのプロセッサなどが内蔵する記憶回路で、制御装置や演算装置や実行ユニットに直結した、操作に要する速度が最速の、比較的少量のものを指す。.

新しい!!: 命令セットシミュレータとレジスタ (コンピュータ) · 続きを見る »

プログラマ

プログラマ(Programmer)とは、コンピューターのプログラムを作成する人全般を指す。プログラマーとも表記される(#プログラマに対する呼称参照)。.

新しい!!: 命令セットシミュレータとプログラマ · 続きを見る »

プロセッサ

プロセッサ は、コンピュータシステムの中で、ソフトウェアプログラムに記述された命令セット(データの転送、計算、加工、制御、管理など)を実行する(=プロセス)ためのハードウェアであり、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成される。内蔵されるある程度の規模の記憶装置までを含めることもある。プロセッサー、プロセサ、プロセッシングユニット、処理装置(しょりそうち)ともいう。「プロセッサ」は処理装置の総称で、システムの中心的な処理を担うものを「CPU()」(この呼称はマイクロプロセッサより古くからある)、集積回路に実装したものをマイクロプロセッサ、またメーカーによっては(モトローラなど)「MPU()」と呼んでいる。 プロセッサの構成要素の分類として、比較的古い分類としては、演算装置と制御装置に分けることがある。また、理論的な議論では、厳密には記憶装置であるレジスタすなわち論理回路の用語で言うところの順序回路の部分を除いた、組み合わせ論理の部分のみを指すことがある(状態機械モデルと相性が悪い)。の分類としては、実行すべき命令を決め、全体を制御するユニットと、命令を実行する実行ユニットとに分けることがある。.

新しい!!: 命令セットシミュレータとプロセッサ · 続きを見る »

デバッガ

デバッガ(Debugger)とは、デバッグを支援するプログラムのこと。対話的に利用者がプログラムを動作させたり、プログラムが使っている変数等を表示させる機能がある。近年では統合開発環境に含まれていることが多い。また、ICEなどでは、ハードウェアと連携して動作する。 インタプリタには内蔵されていることもある。たとえばperlは起動時に -d オプションを指定することで、デバッガモードになる。.

新しい!!: 命令セットシミュレータとデバッガ · 続きを見る »

命令セット

命令セット(めいれいせっと、instruction set)は、コンピュータのハードウェアに対して命令を伝えるための言葉の語彙。.

新しい!!: 命令セットシミュレータと命令セット · 続きを見る »

エミュレータ (コンピュータ)

ンピューターを含む機械装置の動作・機能を模倣する事をエミュレート(動詞)又はエミュレーション(名詞)といい、エミュレート/エミュレーションする装置、あるいはソフトウェアの事をエミュレータ (Emulator)という。本項では、コンピュータに関連したエミュレータについて解説する。.

新しい!!: 命令セットシミュレータとエミュレータ (コンピュータ) · 続きを見る »

コンピュータ

ンピュータ(Computer)とは、自動計算機、とくに計算開始後は人手を介さずに計算終了まで動作する電子式汎用計算機。実際の対象は文字の置き換えなど数値計算に限らず、情報処理やコンピューティングと呼ばれる幅広い分野で応用される。現代ではプログラム内蔵方式のディジタルコンピュータを指す場合が多く、特にパーソナルコンピュータやメインフレーム、スーパーコンピュータなどを含めた汎用的なシステムを指すことが多いが、ディジタルコンピュータは特定の機能を実現するために機械や装置等に組み込まれる組み込みシステムとしても広く用いられる。電卓・機械式計算機・アナログ計算機については各項を参照。.

新しい!!: 命令セットシミュレータとコンピュータ · 続きを見る »

コード網羅率

ード網羅率(コードもうらりつ、Code coverage )コードカバレッジは、ソフトウェアテストで用いられる尺度の1つである。プログラムのソースコードがテストされた割合を意味する。この場合のテストはコードを見ながら行うもので、ホワイトボックステストに分類される。 コード網羅率は体系的なソフトウェアテストのための技法として最初に生み出されたものの1つである。1963年の Communications of the ACM にある Miller と Maloney の論文に言及されているのが最初である。 コード網羅率の測定にはいくつかの手法があり、主なものとしては以下のような手法がある。.

新しい!!: 命令セットシミュレータとコード網羅率 · 続きを見る »

コアダンプ

アダンプ(英語:core dump)は、ある時点の使用中のメモリの内容をそのまま記録したものであり、一般に異常終了したプログラムのデバッグに使われる。最近では、特定のプロセスのメモリイメージ(あるいはその一部)とレジスタの内容などの情報を格納したファイルを指すのが一般的である。しかし、本来は使用中メモリの内容を全てプリントアウトしたものを指した。 その名前は、かつて主記憶用に利用された磁気コアメモリの内容を、ダンプトラックが砂利や小麦などを大量にダンプ(どさっと落とす)するかのようにプリントアウトすることから来ている。 異常終了したプロセスがコアダンプを出力することを、俗に「コアを吐く」という。.

新しい!!: 命令セットシミュレータとコアダンプ · 続きを見る »

シミュレーション

ミュレーション()は、何らかのシステムの挙動を、それとほぼ同じ法則に支配される他のシステムやコンピュータなどによって模擬すること広辞苑第6版。simulationには「模擬実験」や「模擬訓練」という意味もある。なお「シミュレイション」と表記することもまれにある。.

新しい!!: 命令セットシミュレータとシミュレーション · 続きを見る »

シリアルポート

リアルポートとは、情報を(パラレルポートとは異なり)1度に1ビットずつ送受信するシリアル通信物理インタフェースである。パーソナルコンピュータの歴史の大半において、データはシリアルポートを通じてモデム、端末、その他様々な周辺装置のデバイスに伝送された。 イーサネット、FireWire、そしてUSBといったインタフェースも全てデータをシリアルストリームとして送信するが、「シリアルポート」という用語は通常、モデムやそれに類似した通信デバイスとの接続を目的としたRS-232規格と上位互換または下位互換なハードウェアと同一視される。 シリアルポートがない現代のコンピュータでは、RS-232シリアルデバイスとの互換を可能とするためにはシリアル-USB間のコンバータが必要となる。工業自動化システム、科学計器、POSシステムのようなアプリケーションや、一部の工業用および消費者製品では未だにシリアルポートを使用している。サーバコンピュータはシリアルポートを診断用制御コンソールとして使用することがある。(ルーターやスイッチといった)ネットワーク機器は設定用にシリアルコンソールを使用することが多い。シリアルポートは単純で安価であり、コンソール機能が高度に規格化され普及しているため、ネットワーク機器の分野では未だに使用されている。シリアルポートはホストシステムからのソフトウェアサポートをほとんど必要としない。.

新しい!!: 命令セットシミュレータとシリアルポート · 続きを見る »

スレッド (コンピュータ)

レッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが速くなる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。 プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。これをシングルスレッドで実現しようとするとシグナルやタイマーを駆使してコーディングすることになる。また、複数のプロセスに分割してプロセス間通信で協調動作させるという方法もある。しかし、いずれの場合もそれらの機能を使うための余分な、本来のアルゴリズムと関係ないコーディングが必要となる。スレッドを使用したプログラミングは本来のアルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。.

新しい!!: 命令セットシミュレータとスレッド (コンピュータ) · 続きを見る »

ソフトウェア工学

フトウェア工学(ソフトウェアこうがく、Software engineering)は、コンピュータのプログラム、およびその作成行為であるプログラミングを対象とした工学である。.

新しい!!: 命令セットシミュレータとソフトウェア工学 · 続きを見る »

タイマー

タイマー(timer)は、あらかじめ設定した時間までの残り時間を表示し(カウントダウン)、残り時間ゼロとなったときに、ブザーや発光で設定された時間が経過したことを知らせる装置のことを指す。その他にも計測開始時からの経過時間(カウントアップ)を行うストップウオッチや、定期的に電源をオンオフしたり、カウントダウンを意識せずにある時刻を設定しておいて知らせる(目覚まし時計)なども含めて、広い意味で時計(日本においてのクロック/ウォッチ)全般のことを指すこともある。計時機、計時器ともいう。タイマとも呼ばれる。 タイマーとしての単機能製品のほかに、通常の時計の一機能として時間経過を知らせる機能(正時ごとの時報音や、上記の目覚まし機能)、家電機器の動作予約機能、コンピュータ機器の動作上の内部機能として組み込まれている時間を計算する機能としてのタイマなどが上げられる。 コンピュータにおいては「クロック」とは時計機能そのものではなく、時刻の単位であり内部動作を同期する基準であり、そのクロックを数えることで一定時間の経過を知るタイマ機能が動作する。.

新しい!!: 命令セットシミュレータとタイマー · 続きを見る »

割り込み (コンピュータ)

割り込み(わりこみ)とは、コンピュータがその周辺機器などから受け取る要求の一種である。現在の多くのCPUは、割り込みを処理するための機能を備えている。.

新しい!!: 命令セットシミュレータと割り込み (コンピュータ) · 続きを見る »

高水準言語

水準言語(high-level programming language: こうすいじゅんげんご、高級言語とも)とは、記述の抽象度が高いプログラミング言語のことである。対義語は機械語やアセンブリ言語を指す「低水準言語」である。「高級言語」の対は「低級言語」である。.

新しい!!: 命令セットシミュレータと高水準言語 · 続きを見る »

GNUデバッガ

GNUデバッガ(単にGDBとも)は、GNUソフトウェア・システムで動く標準のデバッガである。 これは、多くのUnix系システムで動作可能な移植性の高いデバッガであり、Ada、C言語、C++、FORTRAN、FreeBASICといったプログラミング言語に対応している。.

新しい!!: 命令セットシミュレータとGNUデバッガ · 続きを見る »

IBM

IBM(アイビーエム、正式社名: International Business Machines Corporation)は、民間法人や公的機関を対象とするコンピュータ関連製品およびサービスを提供する企業である。本社はアメリカ合衆国ニューヨーク州アーモンクに所在する。世界170カ国以上で事業を展開している。.

新しい!!: 命令セットシミュレータとIBM · 続きを見る »

System/360

フォルクスワーゲンで使われているSystem/360 System/360(S/360、システム/360、システムさんろくまる)は、IBMが1964年4月7日(日本では翌4月8日)に発表したメインフレーム コンピュータのシリーズである。1965年から1977年まで出荷された。あらゆる用途をカバーするファミリを形成し、小型から大型まで、商用から科学技術計算まで使われた。コンピュータ・アーキテクチャの確立により、IBMは互換性のある設計で様々な価格のシステムをリリースすることができた。最上位機種以外は命令セットをマイクロプログラム方式で実装しており、8ビットのバイト単位のアドレス指定、十進数計算、浮動小数点数計算などを備えている。.

新しい!!: 命令セットシミュレータとSystem/360 · 続きを見る »

Verilog

Verilog(ヴェリログ)は、IEEE 1364として標準化されているハードウェア記述言語(Hardware Discription Language; HDL)である。最もよく使用されているのは、デジタル回路のレジスタ転送レベルの設計と検証である。また、アナログ回路やの検証や、の設計にも使用されている。 もともとVerilogは電子回路シミュレーションを行うシミュレータであり、それに使用する言語であった。文法は、プログラミング言語のC言語やPascalに似ている。 後継言語はSystemVerilogで、だいたいVerilogのスーパーセットである。System Verilogの規格と統合して、「IEEE/IEC 62530:2011 SystemVerilog - Unified Hardware Design, Specification, and Verification Language」と呼ばれる標準になっている。.

新しい!!: 命令セットシミュレータとVerilog · 続きを見る »

機械語

機械語(きかいご)またはマシン語(Machine code、machine language)とは、コンピュータのプロセッサが直接解釈実行可能な一連の命令群のデータそのもの(を、コンピュータ・プログラミング言語とみなしたもの)である。.

新しい!!: 命令セットシミュレータと機械語 · 続きを見る »

最適化 (情報工学)

ンピュータ関連において最適化(Optimization)という語は、最適化問題のそれを指すことも多いが、ここでは、コンパイラ最適化などに似た話題について説明する(「情報工学」と記事名には付いているが、全く information engineering の話題ではない)。コンピュータシステムは、主としてコストパフォーマンス上の理由から、効率的に(efficiently)動作することが望ましいことが多い。例えば、コンパイラ最適化は、高速化のためだったり、メモリの使用量を削減するためだったり、電力消費を抑えるためだったりする。最適化の対象となるシステムは、1つのプログラムの場合もあるし、複数のコンピュータの場合もあるし、インターネットのようなネットワーク全体の場合もある。 "optimization" という単語の語源は "optimal"(最適な、最善な)と同じだが、最適化によって真に最適なシステムとなることは稀である。最適化されたシステムは一般にある面でのみ最適となる。プログラムの実行時間を削減するためにメモリ使用量を増やしてでも実行時間を最適化したり、逆にメモリが少ないシステムで実行時間が長くなることを覚悟してメモリ使用量が少ないアルゴリズムを選んだりする。あらゆる場合に最適な方法や設計は存在しないので、技術者は最も重要と思われる観点での最適化のために妥協点を探る。さらに、ソフトウェアを完全に最適にする(それ以上どうやっても最適化できない状態にする)のに要する労力は、その最適化されたシステムを利用することで得られる利益よりも大きい。従って、最適化の工程は完全な最適解に到達する以前に終了させられるのが普通である。幸いなことに、効果の大きい改善は最適化工程の初期に現れることが多い。 最適化は様々なレベルで行われる。最も高いレベルの最適化は設計段階に行われる。設計が最適化されていれば、実装でも効率的なアルゴリズムを利用でき、品質のよいコードになるという利点がある。コンパイラ最適化を使えば、実行ファイルがさらに最適化される。最も低いレベルでは、コンパイラを使わずに人間がアセンブリ言語で最適なコードを書く。コンパイラ最適化の技術の進歩と最近のCPUの複雑さのため、コンパイラよりも最適なコードを人間が書くには大変な技能を要する。そのため、このような最適化を行うプロジェクトは滅多にない。最適化は例外的なケースを考慮しつつ、複雑な妥協点を探ることが多い。従って最適化されたプログラムはプログラマが理解できないほど難解になることも多い。可能であれば等価であることが保証されながらプログラムを変形させるなどの手法でバグの可能性をゼロにすべきだが、できない場合、できてないコードではバグを多く含む危険性がある。.

新しい!!: 命令セットシミュレータと最適化 (情報工学) · 続きを見る »

性能解析

フトウェア工学における性能解析または性能分析(Performance analysis)とは、動的プログラム解析の一種であり、プログラムの実行を通して情報を収集することでプログラムの性能を解析することを言う。逆にプログラムを実行せずに行う解析を静的コード解析と呼ぶ。性能解析の目的は、実行時間やメモリ使用量を最適化するためにプログラムのどの部分を改良すべきかを決定することである(ボトルネック、アムダールの法則参照)。.

新しい!!: 命令セットシミュレータと性能解析 · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »