web-dev-qa-db-ja.com

デュアルイシュープロセッサとは正確には何ですか?

デュアルイシュープロセッサの概念へのいくつかの言及に出くわしました(これが文の中でさえ意味があることを願っています)。正確に二重の問題が何であるかについての説明を見つけることができません。 Googleはマイクロコントローラーの仕様へのリンクを教えてくれますが、その概念はどこにも説明されていません。これがそのような 参照 の例です。私は間違った場所を見ていますか?それが何であるかについての短い段落は非常に役に立ちます。

30
Phonon

デュアルイシューとは、各クロックサイクルで、プロセッサが2つの命令をパイプラインの1つのステージから別のステージに移動できることを意味します。これが発生する場所は、プロセッサと会社の用語によって異なります。2つの命令がデコードキューから並べ替えキューに移動されることを意味する場合もあれば(Intelはこの問題と呼んでいます)、命令(またはマイクロオペレーションなど)をキューを実行ポートに並べ替える(afaik IBMはこの問題を呼び出しますが、Intelはそれをディスパッチと呼びます)

しかし、実際には大まかに言えば、通常、サイクルごとに2つの命令を実行し続けることができることを意味するはずです。

このARMにタグを付けたので、Intelの用語を使用していると思います。 Cortex-A8およびCortex-A9は、各サイクルで2つの命令をフェッチし(Thumb-2で詳しく説明します)、2つの命令をデコードし、2つの命令を「発行」できます。 Cortex-A8では、アウトオブオーダー実行はありませんが、発行するデコードキューがまだあるかどうかは思い出せません。そうでない場合は、命令のデコードから2つの実行パイプラインへの挿入に直接進みます。 Cortex-A9には発行キューがあるため、デコードされた命令がそこで発行されます。その後、命令は1サイクルあたり最大4つで実行パイプラインにディスパッチされます。

44
Exophase