5

そこでは2つの用語は次のとおり時間マルチスレッドとスーパースレッドの違いは何ですか?

  • Temporal multithreading:きめの細かい時間的マルチスレッドでは、メインプロセッサ・パイプラインは、コンテキストが有効パイプステージ(例えば、barrel processorにおける)との間に発生するスイッチと、複数のスレッドを含んでいてもよいです。バレルプロセッサは、各サイクルで実行スレッドを切り替えるCPUです。

  • Super-threading:同じスレッドを同時に実行することなく、異なるスレッドを1つのプロセッサで実行できるマルチスレッドの一種です。 1これは、同時マルチスレッド(SMT)ではなくタイムスライスまたは時間マルチスレッドと見なします。長い待ち時間のイベントのために、あるスレッドからの命令を実行している間、プロセッサの機能ユニットがアイドル状態のままになることがあるという観察によって動機付けられる。スーパースレッドは、前のスレッドが実行を再開する準備が整うまで別のスレッドからの命令を実行することによって、他の場合は未使用のプロセッササイクルを利用しようとする。

時間的マルチスレッディングは(きめ細かい)毎サイクル毎サイクル上の実行スレッド間C-slowingとスイッチを使用していますが、スレッド間のスーパー・スレッドスイッチがないことを、TMおよびSTの主な違いであり、唯一の時に、プロセッサの長い待ち時間のイベントのために1つのスレッドからの命令を実行している間、機能ユニットはアイドル状態のままですか?

一時的なマルチスレッド(ファイングレイン)とスーパースレッドの違いは何ですか?

+3

スーパースカラーは酒井修一の「スーパースレッド:並列計算を最適化するためのアーキテクチャとソフトウェアの仕組み」で初めて使用されたように見えるスレッド化に対するハードウェアサポートの意味がはるかに広がっています。この用語は、(私が知っている限りでは)コンピュータアーキテクチャのコミュニティでは一般的に使用されていません。時間マルチスレッドには、粗粒度(通常、イベントオンMT)と細粒度(バレル処理およびより柔軟なサイクル毎のスケジューリングを含む)MTが含まれます。 –

+0

@ Paul A. Clayton STという用語はほとんど使用されていません。スーパースレッド(ST)は複数のパイプライン(ALU)に対して1つのパイプライン(ALU)に対してのみ命令を提供するが、複数のパイプライン(ALU)に対しては同時にマルチスレッド化(SMT)できるため可能ですか?私。 STは、ストール(キャッシュ・ミス、分岐予測ミス、またはデータ依存性)のみを利用しますが、現代のCPUもスーパースカラ・アーキテクチャであり、STの代わりにスーパースカラ・アーキテクチャを利用します。たとえば、ハイパースレッディング(Hyper-Threading) - インテル独自のSMT(同時マルチスレッド)です。 – Alex

答えて

2

時間マルチスレッドは、細粒または粗粒マルチスレッドの形式である可能性があります。細粒マルチスレッディング・スイッチは、固定された細粒度間隔(例えば、毎サイクル)でコンテキストを形成する。粗粒度マルチスレッドは、長い待ち時間のイベント(例えば、LLCキャッ​​シュミス)に関するコンテキストを切り替えます。

同時に、マルチスレッドの同時実行にはスレッド切り替えの概念はありません。複数のスレッドを同時に実行できます。

画像は1000語の価値があります。スライド5〜7をご覧くださいhere。それはすべての3つの方法のための写真があり、それらをきれいに比較する。

他の人が言っているように、スーパースレッディングは一般的な用語ではなく、私にとっては粗粒のTMに似ています。

+0

ありがとう、はいこれは良いスライドです。スーパースレッディングは、時間マルチスレッド(粗粒)と同じと見なすことができます。私。マルチスレッドのタイプは、共有されたものから、スレッド間のCPUコアで何も共有されないものまで、**バレルプロセッサのTM(ファイングレイン)、** TM(フルソフトウェアマルチスレッド) (チップマルチスレッド) - 高価なリソースを共有したマルチコア(一部のコアではシングルFPU)、** CMP **(チップマルチプロセッサ) - 最後のレベルのキャッシュと相互接続を共有するマルチコア。 – Alex

+0

インテルCore i7などの最新のインテルCPUは、CMPとSMTの両方であるといえますか? – Alex

+1

@Alex、私が知る限り、はい。ほとんどすべてのx86プロセッサは最近、CMPです(私はシングルコアx86 CPUを考えることはできません)。 SMTについても同様です。いくつかは2ウェイSMT、4ウェイSMTです。インテルでは、SMT用のHyperthreadingという用語を使用しています。ご参考までに、Stanford CPUデータベースをご覧ください。 http://cpudb.stanford.edu/ – aminfar

関連する問題