プロセッサの命令セット・アーキテクチャ

際立ったプロセッサ・アーキテクチャの命令セットのマイクロプロセッサ・アーキテクチャ

0前提知識

デジタルシステムは、3つの主要なコンポーネントが必要です。

  • 組み合わせ論理関数計算、ビット操作(ALU)
  • 格納されたビットのメモリ素子(レジスタ)
  • メモリ素子の更新の制御クロック信号

命令

命令プロセッサは、処理を終了します

命令は、命令フェッチ・デコードと命令を実行します

  • フェッチ(フェッチ)
    命令メモリ(CPU)にメモリから読み出したバイト値位相命令、プログラム・カウンタ(PC)値のアドレスです。
    これは、順次、次の命令のアドレス(PC値プラス除去された命令の長さ)に電流指令を算出します
  • 復号化(デコード)
    ALUはレジスタファイル(汎用レジスタセット)から2つのオペランドまでお読みください。(すなわち2つのレジスタの内容を読み取ります)
  • 実行(実行)
    命令の種類に応じて、実行段階において、異なる目的のために算術/論理ユニット(ALU)。他のコマンドは、それが加算増加として計算するか、スタックポインタを減少させる、または実効アドレスを計算する、または単に出力0、1つの入力を追加します。
    条件コードレジスタ(CC)は、3つの条件があるビット。条件コードの新しい値を計算する責任ALU。ジャンプ命令を実行する場合、分岐が計算され、信号は、ジャンプ条件コードタイプをCND。

クロック・サイクル
マシンサイクル
命令サイクル

プログラム

私たちが書くときのプログラムは、実際のプログラムコードは、2つの部分に分かれていることができ、
修正が完了した後に書かれたプログラムの一部は、もはやそれらを必要としない(論理コードセクションである)命令
プログラミングの別の部分が完了した後、その内容をプログラムし、(、変数の定義である)変更部分を実行します。データ
ハーバード構造とノイマン型は、この2部分コードを記憶するための差です。

注記

プロセッサアーキテクチャとプロセッサの命令セット間には特別な対応はありません

X86命令セットはMIPS命令セットは、微細構造のx86プロセッサ上で使用することができる、MIPSの微細構造と共に使用することができます。

プロセッサの命令セットアーキテクチャは決定しません

1つの命令セットアーキテクチャ(命令セットアーキテクチャ、ISA)

プロセッサがサポートするバイトレベルの命令およびコード化された命令は、命令セットアーキテクチャISAシステムと呼ばれます。プロセッサは、これらのアセンブリ命令を識別するだけでなく、上位層と対話する方法をどのように設定しています。

その同じバイナリ文字列が異なる命令セットに異なって解釈されたアドオンの代わりに、いくつかの命令セット、0000、。

CISC(複合命令セット)

(複雑な命令セットコンピュータ)】
インテルのx86的、

縮小命令セット(RISC)

縮小命令セットコンピュータ
ハイエンドサーバーCPU主にコンパックにRISC命令を使用して(コンパック、その新しいHP)、同社のアルファ、HPのPA-RISC、IBMのPowerPC、MIPSのMIPSおよびSUNのSPARC 。

違い

1.命令:RISCの設計者がそれらを簡単かつ効率的にしようと、それらの頻繁に使用される命令に集中します。一般的に使用される機能には、多くの場合、コマンドの組み合わせによって行わ。RISCベースのコンピュータ上の特別な機能を実装する場合したがって、それはあまり効率的な場合があります。しかし、それは改善され、パイプラインやスーパースカラ技術の使用を補うことができます。特定の機能を実行するための特別な指示が豊富CISC命令セットコンピュータ、しばらく。特殊な作業の効率ので、高いです。

2.メモリ動作:RISCメモリは動作制限が、制御を簡略化することができた、とメモリ操作命令複数CISCコンピュータ、直接操作。

3.プログラム:CISCアセンブリ言語プログラムは、一般的に、より多くのメモリを必要とする特殊な機能プログラムの設計が複雑で難しい実装、およびRISCアセンブリ言語は、比較的単純な、科学技術計算プログラムをプログラミングし、比較的簡単な複雑な操作を設計するために、高効率。

4.割り込み:命令の実行に応じて、適切な場所でのRISCコンピュータが中断することができるが、時間が短い実行のためのCISC命令と比較され、割り込みタイムリーな応答; CISCコンピュータが割り込み応答後に実行する命令である一方で。

5.CPU:少数の単位回路、ひいては小型、低消費電力のRISC CPU、CISCCPU回路ユニットが豊富に含まれ、非常に強力、大面積、高電力消費。

6.設計サイクル:RISCマイクロプロセッサ・アーキテクチャのシンプルかつコンパクトなレイアウト、短い設計サイクル、および最新の技術を使用して簡単に、複雑なCISCマイクロプロセッサのアーキテクチャ、設計サイクルの長さ。

7.ユーザー:;複雑なCISCマイクロプロセッサ・アーキテクチャ、強力な、特別な機能を実装するのは簡単RISCマイクロプロセッサ・アーキテクチャは、単純な、定期的な指示、パフォーマンス、容易な把握のために、使いやすいです。

8.アプリケーション:これにより、アプリケーションの特定のフィールドに関連付けられたCISC命令セットを決定するために、それは、CISCコンピュータ専用機に適している、RISCコンピュータは、汎用機に適しています。

2プロセッサアーキテクチャ(CPUアーキテクチャ)

CPUアーキテクチャ、プロセッサアーキテクチャ、中央プロセッサアーキテクチャ。何でも

ノイマン型

また、プリンストンアーキテクチャ(Princetionarchitecture)として知られています。それはあります私たちは、X86アーキテクチャについて話しています

構造的特徴

コアは次のとおりです。混在データや命令、統一アドレッシングプログラム命令と組み合わせたメモリ構造のデータメモリ。
命令フェッチとオペランドフェッチ時分割多重により、同じバス上にあります。トランスポートストリームは、データ処理の速度に影響を与えるコンピュータのパフォーマンスのボトルネックの制限するように、同じバス構造を共有します。図は、
ここに画像を挿入説明
プログラム命令記憶されたアドレスと格納されたデータは、同じ物理メモリ内の別の場所宛て、したがってため同じ幅のプログラム命令とデータ
ここに画像を挿入説明
ここに画像を挿入説明
実質的に以下の方法でコマンドとデータである区別する。

図1に示すように、命令レジスタとデータおよび命令サイクルを区別します。例えば:CSセグメント(codesegmentコードセグメント)及びセグメントDS(datasegmentデータセグメント)、前者はデータをそのCPUに格納されて格納されているCPU命令に考えられています。

図2に示すように、命令がフェッチされた段階で抽出された異なる期間にわたって命令およびデータを区別するために、実行ステージデータが抽出されます。

長所と短所

シンプルな構造、実装が容易、低コスト、低効率
ここに画像を挿入説明

例えば

インテルのX86マイクロプロセッサ

ノイマン型は主にバイヤーが、コンピュータの方法を使用して別のコンピュータに基づいています - 娯楽ユーザーの様々な、そのような専門能力開発など、ユーザーの様々な種類、およびソフトウェアの広い範囲のインストール、アップグレードは頻繁にソフトウェアが同時に実行されている各種の対処します優先順位が曖昧で、Intelのチップは、各プログラム徹底的にインテリジェント配布、割り当ての優先順位とパイプラインの機械のメカニズムと優先順位ラインを持っていますが、ユーザーの不便を作るのは簡単ではないん。

ARM7シリーズのCPUは、ARM7TDMIとして、CPU内部キャッシュの一部ではないある、たくさんのお金を持っている、ハーバードアーキテクチャ純粋ノイマン型であり、他の内部データキャッシュと命令キャッシュの別々のCPU使用。

ハーバードアーキテクチャ

構造的特徴

これは、独立した命令とデータ領域です。独立した同じアドレスは、データが同じでない場合でも、対処します。そう命令とデータは、異なるデータ幅を有することができます、プログラム命令、マイクロチップ社のPIC16チップは14ビット幅であるが、データが8ビット幅です。

ハーバードアーキテクチャ、命令ため介して、それぞれデータアクセスをフェッチ別の収納スペースと異なるバス、各命令ができるように、オーバーラップ実行それは、処理速度を向上させるために、ストリーミングデータのボトルネックを解消するようになっています。ハーバードアーキテクチャは、速度と通信し、プロセッサの全体的なシステム構成の柔軟性を強調しています。目的は、プログラムの実行時のメモリアクセスのボトルネックを軽減することです。
  プログラムとデータバスアクセスを介して、アクセス競合が発生する場合、フェッチパイプライン処理は、同様に、動作をフェッチしながら、畳み込み演算の最も一般的な例では、命令は、同時に2つのオペランドをフェッチ計算の大量のこのサイクルの効率は非常に不利です。ハーバードアーキテクチャは、基本的にフェッチし、競合の数を取ることを解決することができます。
ここに画像を挿入説明
ここに画像を挿入説明

長所と短所

錯体が、高い構造的効率、接続された周辺機器の高い処理要件は、周辺メモリは、拡張には適していません
ここに画像を挿入説明

例えば

現在、多くの中央プロセッサやマイクロコントローラハーバードアーキテクチャを使用することがあり、DSPとARMが表現さ。
高い性能が少ないハーバードプログラムにおける機関やパターンの種類を反映するマイクロコントローラ、DSPチッププラットフォーム上で実行すると、個々の電子エンターテイメント製品ので、ソフトウェアのアップグレードは、アプリケーションが、カーネル、パイプライン技術の最も効率的な使用、最大効率としてコンパイルすることができ、比較的小さいです。
チップのマイクロチップ社のPICの家族だけでなく、モトローラのMC68シリーズ、ザイログのZ8シリーズ、AtmelのAVRシリーズとARMのARM9、ARM10およびARM11に加えて。

変更されたハーバード

修飾されたハーバードアーキテクチャは、2個の異なるメモリを用いているが:プログラムメモリとデータメモリ、が、2つのマージされたメモリアドレスバス、データバスはまた、マージ、元ハーバードアーキテクチャは、4つの異なるバスを必要とし、すなわち、改善には2台のバスが必要です。
ここに画像を挿入説明

構造的特徴

、それぞれ、各メモリブロックの命令およびデータを格納する二つの別個のメモリモジュールは、並列処理を達成するために、命令およびデータを共存させていません。

アクセスに2つのメモリモジュール(メモリモジュールおよびプログラムデータ記憶モジュール)を共通のアドレスバスを使用して、別個のアドレスバスと別個のデータバスを有する、プログラムとCPUモジュールを格納する共通のデータバスまたはデータ記憶モジュールを完了するために使用しました。間のデータ伝送、
プログラムメモリとデータメモリによって2つの時間共有バス。

例えば

存在CACHEに頼る今日のプロセッサは、それらを統一することは非常に良いされています。今日のプロセッサは、外部バスノイマンアーキテクチャ、しかしため、内部キャッシュを見ているが、そう実際にビューの内部点は、修飾ハーバードの同様の構造を有しています。

プロセッサ3の微細構造(マイクロアーキテクチャ)

プロセッサは、これらの命令を認識した後、それが何であるこれらの命令を実行する方法の微細構造。また、2回の乗算+ ALU加算器を設計することができ、サイクル三個の加算命令を実行しながらたとえば、ALU 3つの加算器を設計することができ、加算器+ 1サイクルの内部には、同時に2つの乗算命令を実行します。

同社のアーキテクチャに基づい4

ARMアーキテクチャ

アーム会社

x86の

MIPS

PowerPCの

公開された452元の記事 ウォンの賞賛271 ビュー730 000 +

おすすめ

転載: blog.csdn.net/qq_35608277/article/details/104964290