3

私はCPUアーキテクチャについて学んでいますが、少し混乱しています。

古いマイクロプログラムされた CISC CPU が ISA 命令を一連の単純な (1 サイクル) マイクロ命令に変換するというのは正しい ですか? (そして、RISC の哲学により、ISA 命令は基本的にマイクロ命令と同じであり、1 サイクルかかります)

ウィキによると:

ただし、最新のx86 プロセッサは (通常) 命令をデコードし、内部的にバッファリングされたマイクロ操作の動的シーケンスに分割します...

旧モデルとの違いは?

ところで。マイクロ命令とマイクロ操作に違いはありますか、それとも同義語ですか?

4

3 に答える 3

2

古い CISC プロセッサは変換しませんでした。彼らは直接またはマイクロコードを介して ISA を実行しました。すべての CPU は何らかの命令デコードを実行します (一部の RISC アーキテクチャではかなり些細なことですが)。以前は、decode はマシン命令を 1 対 1 で内部マイクロオペレーションに変換していました。または、機械語命令がマイクロコード シーケンスの実行を開始し、すべてのステップを実行します。

現在、CISC ISA から優れたパフォーマンスを得るには、複数のことを行う命令 (メモリ参照と ALU 操作の組み合わせなど) を、それぞれがより単純な操作を実行する複数の内部マイクロ操作に「分割」する必要があります。これは、専用ハードウェアでパイプライン化され、マイクロ操作が独立して追跡され、他の命令とは順序が異なることを除いて、概念的にはマイクロコードを使用する場合と大きく異なります。また、このクラッキングは、より精巧な命令デコードと考えることができます。

于 2015-10-28T13:05:28.540 に答える
2

非常に古い日に。

水平マイクロコード

通常、かなり広いコントロール ストアに含まれています。各ワードが 108 ビット以上になることも珍しくありません。シーケンサー クロックの各ティックで、マイクロコード ワードが読み取られ、デコードされ、CPU を構成する機能要素を制御するために使用されます。

そのため、一部のアーキテクチャではそれが当てはまります。

新しいマイクロコードは通常、スーパースカラー プロセッサで使用されるため、マイクロ コードは発行幅を使用して、命令のアウト オブ オーダー発行を使用してより多くのコードを並行して実行します。順番に。古いマシンはすべてを順番に実行し、一部はパイプライン処理を少し行いました。

マイクロ命令はマイクロ操作を開始すると思います。

于 2015-10-25T01:14:00.003 に答える
0

Timothy が述べたように、今日の CISC マシンは依然として CISC 命令を micro-op に変換しますが、より積極的なアウトオブオーダー実行 (より高速なクロック速度など) を可能にするために、より効率的な方法で行われています。

さて、命令、マイクロオペレーション、マイクロ命令、マクロオペレーション、マクロ/マイクロフュージョンなどについての会話の中で一般的に投げかけられるすべての用語の違いは何ですか? まあ、それは誰が話しているかによって大きく異なります:

AMD の世界では、マクロ操作は Intel の世界でのマイクロ操作(またはuop ) に相当します。どちらも、X86 命令がブレークまたはデコードされるマイクロ操作の 1 つを指します。どちらも RISC に似た命令であり、ほとんどの場合固定長です。融合とは、2 つの操作 (通常は相互に依存する) が 1 つの操作に融合されることを指します (主にデコード幅を節約するため)。これが実際の x86 命令で行われる場合はマクロフュージョンと呼ばれ、マイクロオペレーションで行われる場合はマイクロフュージョンと呼ばれます。最後に、マイクロ命令だと思います 昔または最近では、マイクロ操作 (またはマクロ操作) を参照するために使用されない理由がわかりません。しかし、個人的にはあまり聞いたことがありません。通常、マイクロオペレーションまたはマクロオペレーションという用語をよく耳にします。

まあ、それが役立つことを願っています

于 2016-01-15T01:46:15.677 に答える