CPU コア、マルチコア、スレッド、コアとスレッド、ハイパースレッディング

同時実行性またはシングルコアとは何ですか?

In Operaシステムでは、同時実行性は、重複する時間フェーズで 2 つ以上のプログラムを実行するシステムの能力として定義されます。

同時実行またはシングルコア
タイムスライスによる同時実行

ご覧のとおり、常に実行中のプロセスは XNUMX つだけです。 したがって、同時実行性は、実際の並列実行の一般化された近似値にすぎません。 この種の状況は、シングルコア プロセッサを備えたシステムで発生することがあります。

並列実行 (マルチコア) とは何ですか?

並列実行では、プロセスによって実行されるタスクがサブパートに分割され、複数の CPU (または複数のコア) が各サブタスクを正確に同時に処理します。

並列実行
並列実行

ご覧のとおり、いつでもすべてのプロセスが実行中です。 実際には、並行して実行されるのはプロセスのサブタスクですが、よりよく理解するために、それらをプロセスとして視覚化できます。

したがって、並列処理は、複数のタスクを同時に処理できる実際の方法です。 この種の状況は、最新の商用プロセッサのほとんどを含むマルチコア プロセッサを備えたシステムで発生します。

主な違い

  • コアにより一度に実行される作業量が増加するのに対し、スレッドによりスループットが向上し、計算速度が向上します。
  • コアは実際のハードウェア コンポーネントであるのに対し、スレッドはタスクを管理する仮想コンポーネントです。
  • コアはコンテンツの切り替えを使用し、スレッドは多数のプロセスを操作するために複数の CPU を使用します。
  • コアには信号処理ユニットのみが必要ですが、スレッドには複数の処理ユニットが必要です。

スレッドとは

スレッドは、同時プログラミングの実行単位です。 マルチスレッドとは、CPU が XNUMX つのプロセスの多くのタスクを同時に実行できるようにする技術です。 これらのスレッドは、リソースを共有しながら個別に実行できます。

マルチスレッドとは何ですか?

マルチスレッドとは、オペレーティング システム内で複数の実行スレッドを実行する共通タスクを指します。複数のシステム プロセスを含めることができます。

マルチスレッドはどのように機能するのでしょうか?

たとえば、最新の CPU のほとんどはマルチスレッドをサポートしています。 スマートフォン上のシンプルなアプリを使用して、同じライブデモを実行できます。

インターネットからデータを取得する必要があるアプリを開くと、アプリのコンテンツ領域がスピナーに置き換えられます。データが取得されて表示されるまで、スピナーは回転します。

バックグラウンドでは XNUMX つのスレッドがあります。

  • XNUMX つはネットワークからデータを取得するもの、そして
  • スピナーを表示する GUI をレンダリングする XNUMX つ

これらのスレッドは両方とも次々に実行され、同時実行のように見えます。

CPUコアとは何ですか?

CPU コアは、その存在や性質の中心となる部分です。 コンピュータシステムでも同様に、CPUはコアとも呼ばれます。

コア プロセッサには基本的に次の XNUMX 種類があります。

  1. シングルコア プロセッサ
  2. マルチコア プロセッサ

シングルコアの主な問題は何ですか?

シングルコアには主に XNUMX つの問題があります。

  • タスクをより速く実行するには、クロック時間を増やす必要があります。
  • クロック時間が増加すると、消費電力と熱放散が非常に高いレベルに増加し、プロセッサの効率が低下します。

マルチコアが提供するソリューション:

  • 同じダイ上に XNUMX つ以上のコアを作成して処理能力を向上させると同時に、クロック速度を効率的なレベルに維持します。
  • 効率的な速度で実行される XNUMX つのコアを備えたプロセッサは、シングルコア プロセッサと同様の速度で命令を処理できます。 クロック速度は XNUMX 倍ですが、マルチコア プロセスの消費エネルギーは少なくなります。

マルチコアプロセッサの利点

マルチコア プロセッサの利点は次のとおりです。

  • 選択肢ごとにトランジスタを増やす
  • 短い接続
  • 静電容量の低減
  • 小さな回路でも高速動作が可能

コアとスレッドの違い

Parameters 基本 スレッド
定義 CPU コアとは、実際のハードウェア コンポーネントを意味します。 スレッドとは、タスクを管理する仮想コンポーネントを指します。
プロセス CPU にはスレッドからタスクが供給されます。 したがって、最初のスレッドによって送信された情報が信頼できない場合にのみ、XNUMX 番目のスレッドにアクセスします。 CPU が複数のスレッドと対話する方法にはさまざまなバリエーションがあります。
製品の導入 インターリーブ操作により実現 複数の CPU を訴えることによって実行される
商品説明 一度に達成できる作業量を増やします。 スループットが向上し、計算速度が向上します。
を活用する コアはコンテンツスイッチングを使用します 多数のプロセスを実行するために複数の CPU を使用します。
必要な処理ユニット 信号処理ユニットのみが必要です。 複数の処理ユニットが必要です。
複数のアプリケーションを同時に実行します。 クラスター上で Web クローラーを実行します。

ハイパースレッディングとは何ですか?

ハイパー スレッディングは、エンド ユーザーの PC に並列計算を提供するためのインテルの最初の取り組みでした。 4 年に Pentium 2002 を搭載したデスクトップ CPU に初めて使用されました。

当時の Pentium 4 には CPU コアが XNUMX つしか搭載されていませんでした。そのため、単一のタスクしか実行できず、複数の操作を実行することができませんでした。

ハイパースレッディングを備えた単一の CPU は、オペレーティング システムでは 2 つの論理 CPU として表示されます。この場合、CPU は 1 つですが、OS はコアごとに 2 つの CPU を考慮し、CPU ハードウェアは CPU コアごとに 1 セットの実行リソースを持ちます。

したがって、CPU は実際よりも複数のコアを持っていると想定し、オペレーティング システムは単一の CPU コアごとに 2 つの CPU を想定します。

まとめ

  • スレッドは、同時プログラミングの実行単位です。
  • マルチスレッドとは、オペレーティングシステム内で複数の実行スレッドを実行する共通タスクを指します。
  • 現在、多くの最新の CPU がマルチスレッドをサポートしています。
  • ハイパー スレッディングは、エンド ユーザーの PC に並列計算を提供するためのインテルの最初の取り組みでした。
  • CPU コアは、その存在や特徴の中心となるものの一部です
  • に、 Operaシステムの同時実行性は、重複する時間フェーズで 2 つ以上のプログラムを実行できるシステムの能力として定義されます。
  • 並列実行では、プロセスによって実行されるタスクはサブパートに分割されます。
  • シングルコア プロセッサの主な問題は、タスクをより高速に実行するにはクロック時間を増やす必要があることです。
  • マルチコアは、同じダイ上に XNUMX つ以上のコアを作成して処理能力を向上させることでこの問題を解決し、クロック速度も効率的なレベルに保ちます。
  • マルチコア システムの最大の利点は、選択ごとにより多くのトランジスタを作成できることです。
  • CPU コアは実際のハードウェア コンポーネントを意味し、スレッドはタスクを管理する仮想コンポーネントを指します。