図1に示すように、前記機械命令
このコマンドは、アクションのコンピュータを実行するためのコマンドです。
命令は、コンピュータでのマシン命令でセット。これは、コンピュータのハードウェアを決定する主要なパフォーマンスと基本的な機能を、ハードウェアとソフトウェアであるインターフェース、あるマシンのハードウェア設計の基礎とソフトウェア設計の基礎、直接コンピュータシステムの性能に影響を与えます。
機械命令は、次の情報が含まなければならない
● オペコード:この命令が完了される操作のタイプを指定します。
● ソースオペランドREFERENCE:ソースオペランドを取得する場所を示します。
● 結果オペランド参照:ここで、操作の結果を格納する指定。
● 次の命令の参照は:次の命令を示します。
オペランドは、位置を記憶することができる:
● メインメモリまたは仮想メモリをメインメモリまたは命令の仮想メモリ・アドレスを提供します。
● CPUレジスタ:命令レジスタ番号を提供しました。
● I / Oデバイス:周辺アドレス命令を提供します。
備えたコンピュータにマシン命令バイナリビットストリング表現、読みやすいとメモリのために、できニーモニックは示して:
ビット列表現を:10010110
ニーモニック:ADD R1、R2は、
上記2つの命令と等価である(RL) +(R2) - > R1
デザイン命令は、以下の情報を検討する必要があります。
● 営業リスト:コマンドシステムは、操作の数、種類および複雑さを提供しなければなりません。
● データタイプ:いくつかのデータを操作する必要がある命令。
● 命令フォーマット:コマンドの長さ、フィールド、フィールドの意味;
● レジスタ:レジスタがアクセス可能な命令とその機能;
● アドレッシング:オペランド、オペランド取得の有効なアドレスを形成する方法。
指令のシステム性能要件:
● 完全性:、命令豊かなフル機能を備えた、使いやすいです。
● 効果:効率的に実行するために書かれたプログラム、小さなフットプリント、高速な実行速度。
● 規則:対称性、均一チー、一貫性。
● 互換性:シリーズマシン上位互換、非互換のソフトウェアの互換性。
二方向命令セット:
● 複雑な命令セットコンピュータCISC:命令セット大、長い設計期間、実装の複雑さ、低いハードウェアの使用率。
● 縮小命令セットコンピュータRISC:縮小命令システム、シングルサイクル命令、命令フォーマットは、単純な、単純なアドレス指定です。
図2に示すように、データ・タイプおよび操作のタイプ
データはれる:通常、次の4つのカテゴリーに分け
● アドレス特定の操作によりメインメモリのオペランドの位置を決定するために、符号なし整数:
● 数値データ:固定小数点整数、小数点(補数)、フロート(IEEE-754) 、パック10進数(BCDコード)
● 文字データ:テキストまたはデータの列、ASCIIコード
● 論理的データ:バイナリビットの複数
:操作の種類は以下の通りである
。● データ送信:、レジスタ含む間のメモリセル間、レジスタとメモリユニットとの間のデータ転送
● データ処理:データの算術演算、論理演算、シフト演算、比較計算
● プログラム制御:制御シーケンスプログラムの実行、プログラムはテスト、分析、判断を行い、分岐命令、サブルーチンコール命令とリターン命令があります
● O:CPUレジスタにペリフェラルレジスタから読み出したデータを、またはペリフェラルレジスタとレジスタへのCPUからのデータ出力
図3に示すように、命令フォーマット
命令の基本フォーマット:オペコードアドレスコード+; オペコード完了しているものの動作を指定、アドレスコードの次の命令フェッチ結果はどこへ行くか、データがどこから来たことを示します、。
命令フォーマットは、に分かれています。
●オペコード構造
オペレーションコード命令のフィールドは、多くのコンピュータで許可されるビットの数を決定します。opcodeフィールドビットは、固定されているか、に分けることができます。
- 固定長のオペコード:
すべての命令オペコードの命令の長さを固定し、固定位置の命令のフォーカス分野では、。
桁のオペレーションコードは、機械の反映操作タイプと許可され、余分な命令の数を。
特長:簡素化、ハードウェア設計、縮小命令デコード時間は、長く広くコンピュータや中小ワード長のスーパーコンピュータで使用されます。 - 可変長オペコード:
命令のオペコードビットのフィールドは固定されておらず、且つに格納された命令語に分散されているさまざまな場所に。
拡張演算コードの方法:使用して固定長フィールドアドレスコードにオペコード拡張だけでなく、基本的なオペレーションコードを示す、または命令セクション必要アドレスコードフィールド。
たとえば、次の特徴4つのほぼオペコードフィールド、アドレスビットA1、A2、A3の三つの追加4ビット長のコード・フィールドを、16ビットのワード長のコンピュータ命令を仮定する。「拡張オペコード技術」設計手順61において、前記3アドレス命令15と、2つのアドレスの命令15、一つのアドレス命令15、命令16個のアドレスゼロを使用してください。
以下のための3アドレス命令 1110、好ましくは0000最初の4ビットのオペコード、アドレスコード12、15の全。2つのアドレス命令オペコード1111の最初の4ビット、4、好ましくは0000後1110、15 8つのアドレスコードの後:。以下のために単一のアドレス命令:最初の8ビットのオペコード4ビット、15のトータルのアドレスコードの後、次いで、4、好ましくは0000 1110、11111111です。ゼロアドレス命令〜1111111111111111 1111111111110000好ましく、16:。61の以上の命令の合計。
どのような拡張モードデザイン可変長命令オペコードは、作成しようとすると、高周波数動作コード命令のをしばしば指示短縮するために使用され、短い取る時間をデコードします。
●住所コードの構造
アドレスコードを示すためのソースオペランドアドレスを、そのアドレスと次の命令アドレス。アドレスであってもよいメインメモリアドレス、アドレスの登録およびI / Oデバイスのアドレスを。
命令長と符号長の動作では一定である、それはどのように多くのアドレスコードに影響する範囲に対処します。アドレスコードの数はに分けることができますどのくらいに応じて:
- フォーアドレス命令は、 2つのオペランド、結果アドレスと次の命令のアドレスを指定します。直感的なしかしのアドレス小さくアドレッシング範囲。
- 3アドレス命令:命令、後続のアドレスプログラムカウンタPCに提供。残りの3つは、範囲のアドレスに対処増加させることができます。
- 2つのアドレス命令:ソースオペランドアドレス結果を格納するためのアドレスとしてA1やA2。さらにアドレスの範囲を拡大するアドレッシング。
- 単一アドレス命令:オペランドに隠された方法アキュムレータACCに示します。アドレスのアドレス指定可能な範囲を展開します。
- 命令アドレスゼロ:のみオペレーションコードがアドレスではない、アドレスコードは、そのないことを示し、又は1/2暗黙の命令アドレス。
ソースオペランドとデスティネーションオペランドの記憶位置は、2つのアドレス命令は、次の3つのカテゴリに分けることができる:
● メモリ-メモリタイプ命令(SS型)
● レジスタ-型命令(RRタイプ)レジスタ
● メモリタイプの命令(RS -レジスタタイプ)
RRタイプ命令最速の実行速度。
●命令語長
オペレーションコードとアドレスコードはにマージされた命令。命令語長は中に含まれる指示を意味するバイナリコードに応じて、ビットオペレーションコード長とアドレスコードの数。
命令語長を分けることができる:
● 固定長命令語:命令長は、コマンド体系の全て、命令セットに最も長い線の長さに等しいです。
● 可変長命令語:異なる命令長の命令が異なる機能と、変化は、長い又は限り、必要に応じて、短い短いようであることができます。
4、アドレッシング
道への対応:各ストレージデバイスのモード番号のため。あります。
● ワードアドレッシング:ではメモリワード番号単位
● バイトアドレッシングを:で、バイト単位の番号
アドレッシング:次の命令の方法とオペランドのアドレスを見つけます。分けることができます:
●命令のアドレス指定
- シーケンシャルアドレッシング:プログラムの実行シーケンスの命令はアドレッシングモード時に。プログラムカウンタのインクリメント演算子は、メモリ内の次の命令のアドレスを記録します。
- ジャンプアドレス:プログラムの分岐実行モードに対処する際の指示を。プログラムカウンタながら内容は、エネルギー自給シーケンスによって変更されていない分岐命令が与えられています。
●データアドレッシング
アドレス形式:命令のアドレスコードフィールドアドレスを持つAは表しています。
実効アドレス:とオペランドの真のアドレスEA表します。
データは、アドレッシングに基づいてアドレスコードフィールドオペランドメモリデバイスの形で実アドレスモード。
データアドレッシングモード:
- 今アドレッシング:アドレスの形式は、オペランド自体に記載されています。
長所:・アクセス・メモリ、実行速度の必要はありません;短所:オペランドアドレスフィールドのサイズは、長さの制限によって制限されています。 - ダイレクトアドレッシング:アドレスによって指定された形式の実効アドレス、すなわちEA = Aを。
特徴:ジャスト・アクセス・メモリ、より高速な実行に一度、中央値Aの決定のアドレッシング範囲。 - 間接アドレッシング:アドレスの形式で与えられる間接実効アドレス、すなわちEA =(A) 。
特長:繰り返しアクセスメモリへの必要性、低速の実行速度は、アドレス指定の範囲を拡大。 - アドレッシングレジスタ:レジスタオペランド実効アドレスは、レジスタ番号、すなわちであるEA =のRiを(AのRiが=)。
機能:なしアクセスメモリ、実行速度、レジスタの数が限られ、命令語長を短くすることができます。 - アドレッシングレジスタ間接レジスタのオペランドのメモリアドレスのオペランド、即ち:EA =(のRI)を。
特長:命令実行段階の必要性アクセスメモリは、円形のプログラムの作成を容易にします。 - インプライド・アドレシング:オペランドアドレスの暗黙の内のレジスタやアキュムレータ内を。
特徴:少なくとも1つの命令ワードアドレスコードフィールド、命令語長を短くすることができます。 - アドレッシングオフセット:直接アドレッシングと間接アドレッシング結合、計算によって必要なオペランドのアドレス。:それはに分けることができます対処するオフセット
● 相対アドレッシング:実効アドレスEA =(PC)+ A。
● アドレッシングベース:実効アドレスEA =ベースアドレスがA +を登録します。拡張命令は、範囲を扱います。マルチチャンネルプログラミングと浮動プログラミングに非常に有用。
● アドレッシングインデックス付け:有効アドレスEA =インデックスレジスタA +。これは、問題の配列の取り扱いを容易にします。 - スタックは、アドレス指定:なしアドレスコードは、有効なアドレスはに格納されていないスタック。