スーパースカラー プロセッサ : アーキテクチャ、パイプライン、タイプとそのアプリケーション

問題を排除するために楽器を試してください





この世界では、誰もが自分のことや仕事を早く終わらせたいと思っています。ではない ?自動車から産業機械、家庭用機械まで、誰もがより速く動作することを望んでいます。これらの機械の内部に何があり、それらを機能させているか知っていますか?彼らです プロセッサ .機能に応じて、マイクロプロセッサまたはマクロプロセッサになる場合があります。一般に、基本プロセッサはクロック サイクルごとに 1 つの命令を実行します。処理速度を向上させる方法として、マシンが速度を向上させることができるようになったのは、 スーパースケーラ プロセッサ これには、クロック サイクルごとに 2 つの命令を実行できるようにするパイプライン アルゴリズムがあります。これは、1964 年に発明された Seymour Cray の CDC 6600 によって最初に発明され、その後 1970 年に Tjaden & Flynn によって強化されました。


最初の商用シングルチップ スーパースカラー マイクロプロセッサ MC88100 は、1988 年に Motorola によって開発されました。その後、Intel は 1989 年にそのバージョンの I960CA を、1990 年に AMD 29000 シリーズの 29050 を導入しました。 Nehalem マイクロアーキテクチャ。



とはいえ、スーパースカラーの実装は複雑さを増す方向に向かっています。これらのプロセッサの設計は、通常、コンピュータの CPU が単一の順次プログラムを実行している間、各サイクルで 1 命令を超えるスループットを達成できるようにする一連の方法を指します。この記事では、実行時間を短縮する SuperScalarprocessor アーキテクチャとそのアプリケーションについてさらに見ていきましょう。

スーパースカラー プロセッサとは

プロセッサ上の特別な実行ユニットにさまざまな命令を同時にディスパッチすることにより、CLK サイクル中に複数の命令を実行するために、命令レベルの並列処理として知られる一種の並列処理を単一のプロセッサに実装するために使用されるマイクロプロセッサの一種。あ スカラー プロセッサ クロック サイクルごとに 1 つの命令を実行します。スーパースカラー プロセッサは、クロック サイクル中に複数の命令を実行できます。



スーパースカラーの設計手法は、通常、並列レジスタの名前変更、並列命令デコード、アウトオブオーダー実行、および投機的実行で構成されます。したがって、これらの方法は通常、マイクロプロセッサの現在の設計内で、パイプライン、分岐予測、キャッシング、マルチコアなどの補完的な設計方法とともに使用されます。

  スーパースケーラ プロセッサ
スーパースケーラ プロセッサ

特徴

スーパースカラー プロセッサの機能には、次のようなものがあります。

  PCBウェイ
  • スーパースカラー アーキテクチャは、さまざまなプロセッサで利用される並列計算技術です。
  • スーパースカラー コンピューターでは、CPU が複数の命令パイプラインを管理して、クロック サイクル中に多数の命令を同時に実行します。
  • スーパースカラー アーキテクチャにはすべてが含まれます。 パイプライン ただし、同じパイプライン内で同時に実行される命令がいくつかあります。
  • スーパースカラー設計手法は、通常、並列レジスタの名前変更、並列命令デコード、投機的実行、および順不同実行で構成されます。そのため、これらの方法は通常、最近のマイクロプロセッサ設計におけるキャッシング、パイプライン処理、分岐予測、マルチコアなどの補完的な設計方法と共に使用されます。

スーパースカラー プロセッサ アーキテクチャ

処理速度は毎秒の CLK サイクルで単純に測定されるため、スーパースカラー プロセッサは、各 CLK サイクルで 1 つ以上の命令を実行する CPU であることがわかっています。スカラー プロセッサと比較して、このプロセッサは非常に高速です。

スーパースカラープロセッサアーキテクチャには、主に並列実行ユニットが含まれており、これらのユニットは命令を同時に実装できます。最初に、この並列アーキテクチャは、単純で短い命令を使用して計算を実行する RISC プロセッサ内に実装されました。スーパースケーラ能力により、通常は 危険 プロセッサは、同じメガヘルツで動作する CISC プロセッサと比較して、より優れたパフォーマンスを発揮します。しかし、ほとんどの CISC Intel Pentium のようなプロセッサは、いくつかの RISC アーキテクチャも備えているため、命令を並行して実行できます。

  スーパースカラー プロセッサ アーキテクチャ
スーパースカラー プロセッサ アーキテクチャ

スーパースカラープロセッサには、処理ステージごとにさまざまな命令を並列に処理するための複数の処理ユニットが装備されています。上記のアーキテクチャを使用することにより、多くの命令が同様のクロック サイクル内で実行を開始します。これらのプロセッサは、サイクルごとに上記の 1 つの命令の命令実行出力を取得できます。

上のアーキテクチャ図では、プロセッサは 2 つの実行ユニットで使用され、1 つは整数に使用され、もう 1 つは浮動小数点演算に使用されます。命令フェッチ ユニット (IFU) は、一度に命令を読み取り、命令キュー内に格納することができます。すべてのサイクルで、ディスパッチ ユニットはキュー フロントから最大 2 つの命令をフェッチしてデコードします。単一の整数、単一の浮動小数点命令があり、ハザードがない場合、両方の命令が同様のクロック サイクル内でディスパッチされます。

パイプライン

パイプライン処理は、タスクをサブステップに分割し、異なるプロセッサ パーツ内で実行する手順です。次のスーパースカラー パイプラインでは、一度に 2 つの命令をフェッチしてディスパッチし、サイクルごとに最大 2 つの命令を完了することができます。スカラ プロセッサとスーパースカラ プロセッサのパイプライン アーキテクチャを以下に示します。

スーパースカラー プロセッサの命令は、順次命令ストリームから発行されます。クロック サイクルごとに複数の命令を許可する必要があり、CPU は命令間のデータの依存関係を動的にチェックする必要があります。

以下のパイプライン アーキテクチャでは、F がフェッチされ、D がデコードされ、E が実行され、W がレジスタの書き戻しです。このパイプライン アーキテクチャでは、I1、I2、I3、および I4 が命令です。

スカラー プロセッサ パイプライン アーキテクチャには、単一のパイプラインと、フェッチ、デコード、実行、および結果の書き戻しの 4 つのステージが含まれます。シングル パイプライン スカラー プロセッサでは、命令 1 (I1) のパイプラインは次のように機能します。最初のクロック周期で I1 がフェッチされ、2 番目のクロック周期でデコードされ、2 番目の命令で I2 がフェッチされます。 3 番目のクロック周期で 3 番目の命令 I3 がフェッチされ、I2 がデコードされ、I1 が実行されます。 4 番目のクロック周期で、I4 がフェッチし、I3 がデコードし、I2 が実行し、I1 がメモリに書き込みます。したがって、7 クロック周期で、1 つのパイプラインで 4 つの命令が実行されます。

  スカラー パイプライン
スカラー パイプライン

スーパースカラー プロセッサ パイプライン アーキテクチャには、2 つのパイプラインと、フェッチ、デコード、実行、および結果の書き戻しの 4 つのステージが含まれます。これは、一度に 2 つの命令がフェッチ、デコード、実行、および結果のライトバックを行うことを意味する 2 発行スーパースカラー プロセッサです。 2 つの命令 I1 と I2 は、すべてのクロック周期で一度にフェッチ、デコード、実行、および書き戻しを行います。次のクロック周期で同時に、残りの 2 つの命令 I3 と I4 が一度にフェッチ、デコード、実行、およびライトバックします。したがって、5 クロック周期で、1 つのパイプラインで 4 つの命令が実行されます。

  スーパースカラー パイプライン
スーパースカラー パイプライン

したがって、スカラー プロセッサはクロック サイクルごとに 1 つの命令を発行し、クロック サイクルごとに 1 つのパイプライン ステージを実行しますが、スーパースカラー プロセッサはクロック サイクルごとに 2 つの命令を発行し、各ステージの 2 つのインスタンスを並列に実行します。そのため、スカラー プロセッサでの命令の実行には時間がかかりますが、スーパースカラーでは命令の実行にかかる時間が短くなります。 .

スーパースカラー プロセッサの種類

これらは、以下で説明する、市場で入手可能なさまざまなタイプのスーパースカラー プロセッサです。

インテル Core i7 プロセッサー

Intel Core i7 は、Nehalem マイクロアーキテクチャに基づくスーパースカラー プロセッサです。 Core i7 設計では、さまざまなプロセッサ コアがあり、すべてのプロセッサ コアがスーパースカラー プロセッサです。これは、コンシューマ エンドのコンピュータおよびデバイスで使用される Intel プロセッサの最速バージョンです。 Intel Corei5 と同様に、このプロセッサには Intel Turbo Boost Technology が組み込まれています。このプロセッサは、一度に最大 12 の異なるスレッドをサポートする 2 から 6 種類でアクセスできます。

  インテル Core i7 プロセッサー
インテル Core i7 プロセッサー

インテル ペンティアム プロセッサ

インテル Pentium プロセッサのスーパースカラー パイプライン アーキテクチャは、CPU が各サイクルで最低 2 つ以上の命令を実行することを意味します。このプロセッサは、パーソナル コンピュータで広く使用されています。 Intel Pentium プロセッサ デバイスは通常、オンラインでの使用、クラウド コンピューティング、およびコラボレーション用に構築されています。したがって、このプロセッサはタブレットや Chromebook で完全に機能し、強力なローカル パフォーマンスと効率的なオンライン インタラクションを提供します。

  インテル ペンティアム プロセッサ
インテル ペンティアム プロセッサ

IBMパワーPC601

IBM power PC601 のようなスーパースカラー プロセッサは、RISC マイクロプロセッサの PowerPC ファミリに属します。このプロセッサは、クロックごとに 3 つの命令と、3 つの実行ユニットごとに 1 つの命令を発行およびリタイアすることができます。パフォーマンスを向上させるために、命令は完全に順不同です。しかし、PC601は実行を順番に出現させます。

  IBMパワーPC601
IBMパワーPC601

強力な PC601 プロセッサは、32 ビットの論理アドレス、8、16、および 32 ビットの整数データ型と 32、および 64 ビットの浮動小数点データ型を提供します。 64 ビット PowerPC の実装のために、このプロセッサのアーキテクチャは、64 ビット ベースのアーキテクチャを完成させるために必要な 64 ビット ベースの整数データ型、アドレス指定、およびその他の機能を提供します。

MC88110

MC 88110 は、高度な方法を使用して命令レベルの並列処理を利用するシングルチップの第 2 世代 RISC マイクロプロセッサです。このプロセッサは、複数のオンチップ キャッシュ、スーパースケーラ命令の発行、限定された動的命令の記録、および投機的実行を使用して最大のパフォーマンスを達成するため、低コストの PC およびワークステーション内の中央プロセッサとして理想的に使用されます。

  MC88000
MC88000

インテル i960

Intel i960 は、プロセッサのクロック サイクルごとにさまざまな独立した命令を実行およびディスパッチできるスーパースカラー プロセッサです。これは、1990 年代初頭に組み込みマイクロコントローラとして非常に有名になった RISC ベースのマイクロプロセッサです。このプロセッサは、いくつかの軍事用途で継続的に使用されています。

  インテル i960
インテル i960

ミップス R

MIPS R は、64 ビット MIPS 4 命令セット アーキテクチャを実行するために使用される、動的かつスーパースカラーのマイクロプロセッサです。このプロセッサは、サイクルごとに 4 つの命令をフェッチしてデコードし、それらを 5 つの完全にパイプライン化された低レイテンシの実行ユニットに発行します。このプロセッサは、メモリの局所性が低い高性能で大規模な実世界のアプリケーション向けに特別に設計されています。概算実行では、メモリアドレスを計算するだけです。 MIPS プロセッサは主に、Nintendo Gamecube、SGI の製品ライン、Sony Playstation 2、PSP、Cisco ルーターなどのさまざまなデバイスで使用されています。

  ミップス R
ミップス R

B/W スーパースカラーとパイプラインの違い

スーパースカラーとパイプライン処理の違いについては、以下で説明します。

スーパースカラー

パイプライン

スーパースカラーは CPU であり、単一のプロセッサで命令レベルの並列処理と呼ばれる形式の並列処理を実装するために使用されます。 実行内でいくつかの命令がオーバーラップする場合、パイプライン化のような実装手法が使用されます。
スーパースカラー アーキテクチャは、複数の命令を同時に開始し、それらを個別に実行します。 パイプライン アーキテクチャは、クロック サイクルごとに 1 つのパイプライン ステージのみを実行します。

これらのプロセッサは、空間並列処理に依存しています。 それは時間的並列性に依存します。
複数の操作が別々のハードウェアで同時に実行されます。 共通のハードウェアで複数の操作が重複しています。
これは、レジスタ ファイル ポートや実行ユニットなどのハードウェア リソースを複製することによって実現されます。 これは、非常に高速な CLK サイクルでより深くパイプライン化された実行ユニットによって実現されます。

特徴

スーパースケーラ プロセッサの特性 以下のものが含まれます。

  • スーパースカラー プロセッサは、独立した命令が待機状態なしで単純にシリアルに実行されるスーパー パイプライン モデルです。
  • スーパースカラー プロセッサは、受信命令ストリームの複数の命令を一度にフェッチしてデコードします。
  • スーパースカラー プロセッサのアーキテクチャは、命令レベルの並列処理の可能性を利用しています。
  • スーパースケーラプロセッサは、主にサイクルごとに上記の単一の命令を発行します。
  • いいえ。発行される命令の数は、主に命令ストリーム内の命令に依存します。
  • 命令は、プロセッサのアーキテクチャにより適合するように頻繁に並べ替えられます。
  • スーパースカラー法は、通常、いくつかの識別特性に関連付けられています。命令は通常、順次命令ストリームから発行されます。
  • CPU は、実行時に命令間のデータ依存関係を動的にチェックします。
  • CPU は、クロック サイクルごとに複数の命令を実行します。

長所と短所

スーパースカラー プロセッサの利点 以下のものが含まれます。

  • スーパースカラー プロセッサは、単一のプロセッサで命令レベルの並列処理を実装します。
  • これらのプロセッサは、任意の命令セットを実行するように単純に作られています。
  • アウトオブオーダー実行分岐予測と投機的実行を含むスーパースカラー プロセッサは、複数の基本ブロックとループ反復の並列処理を簡単に見つけることができます。

スーパースカラー プロセッサの短所 以下のものが含まれます。

  • スーパースカラー プロセッサは、電力消費のために小規模な組み込みシステムではあまり使用されません。
  • このアーキテクチャでは、スケジューリングの問題が発生する可能性があります。
  • スーパースカラー プロセッサは、ハードウェアの設計における複雑さのレベルを高めます。
  • このプロセッサの命令は、プログラムのシーケンシャル順序に基づいて単純にフェッチされますが、これは最適な実行順序ではありません。

スーパースカラー プロセッサ アプリケーション

スーパースカラー プロセッサのアプリケーションには、次のようなものがあります。

  • スーパースカラー実行は、ラップトップまたはデスクトップで頻繁に使用されます。このプロセッサは、実行中のプログラムを単純にスキャンして、1 つの命令として実行できる一連の命令を検出します。
  • スーパースカラー プロセッサには、さまざまな命令を一度に実行するさまざまなデータ パス ハードウェア コピーが含まれます。
  • このプロセッサは主に、1 つの順次プログラムの各クロック サイクルで 1 命令以上の実装速度を生成するように設計されています。

したがって、これはすべてについてです スーパースカラー プロセッサの概要 – アーキテクチャ、タイプ、およびアプリケーション。ここで質問です。スカラー プロセッサとは何ですか?