7

これら 2 つの記事を理解していれば、Intel アーキテクチャは、最も低いレベルで、Intel で知られている従来の CISC 命令セットではなく、RISC 命令を使用するように移行しました。

http://www.hardwaresecrets.com/article/235/4

http://www.tomshardware.com/reviews/intel,264-6.html

その場合、x86/x64 チップはまだマイクロプログラムされているのでしょうか、それとも従来の RISC チップのようにハードワイヤード制御を使用しているのでしょうか? まだマイクロプログラムされていると思いますが、確認したかったのです。

4

5 に答える 5

4

それがあなたが言及しているものであれば、マイクロコードは長い間存在しています。したがって、Intel が現在 CISC プロセッサの上に RISC プロセッサを構築していない限り、HardwareSecrets の記事が何について書かれているかはわかりません。

HardwareSecrets の記事でさえ、それらを Micro-Instructions と呼んでいます。ポテト、ポテト。

http://en.wikipedia.org/wiki/マイクロコード

于 2010-03-01T04:06:12.343 に答える
3

最新の x86 プロセッサでは、ほとんどの命令はマイクロコード (*) なしで実行されますが、一部の複雑な命令や実行頻度の低い命令にはマイクロコードが使用されます。

(*) micro-ops と混同しないでください -- x86 アウトオブオーダー プロセッサでは、x86 命令は通常、1 つまたは複数の micro-ops にデコードされ、実行のためにキューに入れられます (マイクロコードなし!) -注文実行パイプライン。

最新の x86 プロセッサには、現場でエラッタを修正するためにマイクロコードにパッチを適用/更新する機能があることも興味深い点です。

于 2010-11-21T03:31:01.100 に答える
2

ちょうど答えを見つけました。Andrew Tanenbaum による「COMPUTER SYSTEMS ORGANIZATION」の 54 ページから 59 ページへの参照。Intel チップは CISC ベースであり、すべての CISC ベースのチップには、複雑な命令を小さなステップに分割するためのインタープリター (マイクロコード) があります。以前は、すべてのチップにマイクロプログラムが含まれていました。1980 年に David Patterson と Carlo Sequin によって RISC の概念が導入されるまで、CISC という用語はありませんでした。RISC は、reduced instruction set computer の略です。今日では、命令セットのサイズは重要ではありません。RISC 設計で重要なのは命令の単純さですが、「削減」という名前が行き詰まっています。RISC 設計とは、より単純な命令を迅速に発行することです。命令にかかる時間は、1 秒間に開始できる回数よりも重要ではありませんでした。また、低速のメイン メモリ CISC 設計に比べて高速の CPU ROM を使用する利点は、同等に高速なメイン メモリの出現によって失われています。RISC は明らかに CISC よりも優れています。では、なぜチップメーカーの Intel は RISC に移行しなかったのでしょうか? 理由は 2 つあります。まず第一に、下位互換性の問題と、企業がインテル回線用のソフトウェアに何十億ドルも投資してきたことです。第 2 に、Intel は自社の CISC チップで RISC のアイデアを使用することができました。486 以降の Intel CPU には、通常の CISC の方法でより複雑な命令を解釈しながら、単一のデータ パス サイクルで最も単純で最も一般的な命令を実行する RISC コアが含まれています。インテルは表面的には、技術の進歩に合わせて市場で顔/名声/善意を維持するためにハイブリッドアプローチに移行したと思います.

于 2011-02-11T17:40:06.037 に答える
1

x86 命令セットは一般的な RISC プロセッサに比べて非常に複雑であるため、現在の x86 CPU は依然としてマイクロコードを使用しています。これは、少なくともいくつかの命令に当てはまります。

内部的には、複雑な命令は単純な RISC に似た命令に分割され、洗練された RISC に似たコアによって処理されます。RISC に似た命令は、並べ替えられたり、並列に実行されることがあります。

于 2011-02-12T06:07:32.210 に答える
0

マイクロコード化された命令の典型的な例は除算と乗算であり、これは CISC と RISC の両方に当てはまります。除算が (比較的) めったに使用されないことを考えると、ハードウェアに除算を実装する価値はありません。乗算は実装がはるかに簡単ですが、もちろん同じ程度ではありませんが、マイクロコード化されています。このドキュメントによると、Instruction Latency and Throughput for ... x86 ProcessorsK10 プロセッサの mul および div のレイテンシは 5 および 77 または 15.4X です。intel SBR(?) の場合、対応する値は 4 と 92 または 23X です。それらの相対的な複雑さに関する追加の洞察は、それぞれのスループットです。K10 では、1 クロック サイクルおきに乗算を維持できますが (2.5 - 5/2 - 同時に動作中)、77 番目のクロック サイクルごとに 1 つの除算しか維持できません (除算レイテンシと同じ)。 .

他の例としては、sh?d (shift?double) および bs? があります。(ビットスキャン?)。

于 2011-03-09T02:22:40.003 に答える