マルチコア プロセッサは、複数のタスクの高速同時処理、消費電力の削減、およびパフォーマンスの向上を目的として、2 つ以上のプロセッサが接続された集積回路です。一般に、プログラム命令を読み取って実行する 2 つ以上のプロセッサで構成されます。
言い換えれば、マルチコア プロセッサは単一チップ上に多数の処理ユニット、つまり「コア」で構成され、それぞれが異なるタスクを実行する可能性があります。たとえば、映画を観たり WhatsApp を使用したりするなど、多くのタスクを同時に実行している場合、1 つのコアが映画鑑賞などのアクティビティを処理し、もう 1 つのコアが WhatsApp などの他の責任を処理します。
文字列をintに変更する方法
デュアルコア構成は、同じコンピュータに複数の異なるプロセッサがインストールされていることに似ていますが、2 つの CPU が同じソケットに接続されているため、それらの間の接続は高速になります。複数の命令を個々のコアで並行して実行することができ、アーキテクチャの独自の機能を利用するように構築されたソフトウェアの速度が向上します。
シングルコア プロセッサと比較して、デュアルコア プロセッサは通常、理想的な状況では 2 倍の性能を発揮します。実際には、約 50% のパフォーマンスの向上が期待されます。デュアルコア CPU は、シングルコア プロセッサの約 1.5 倍の強力です。
シングルコア プロセッサが複雑さと速度の物理的限界に達するにつれて、マルチコア コンピューティングの人気が高まっています。現代では、システムの大部分がマルチコアです。メニーコアまたは大規模マルチコア システムとは、数十、数百などの膨大な数の CPU コアを備えたシステムを指します。
2000 年代初頭に、Intel と AMD は最初のマルチコア プロセッサをリリースしました。現代の CPU には、2 個 (「デュアルコア」)、4 個 (「クアッドコア」)、6 個 (「ヘキサコア」)、8 個 (「オクタコア」) のコア (「オクトコア」) が搭載されています。 )。 FPGA ベースのプロセッサには、最大 100 個の物理コアと 1000 個の有効な独立コア (フィールド プログラマブル ゲート アレイ) が含まれています。
マルチコアプロセッサのアーキテクチャ
マルチコア プロセッサの設計により、利用可能なすべてのコア間の通信が可能になり、すべての処理義務が適切に分割および割り当てられます。すべての処理操作が完了すると、各コアからの処理されたデータは、単一の共通ゲートウェイを介してコンピューターのメインボード (マザーボード) に送信されます。この方法は、総合的なパフォーマンスの点でシングルコア CPU を上回ります。
マルチコアプロセッサの利点
マルチコア プロセッサには、次のような多くの利点 (長所) があります。
パフォーマンス
マルチコア CPU は本質的に、シングルコア プロセッサと比較してより多くの作業を実行できます。集積回路のコア間の間隔により、より高速なクロック レートが可能になります。その結果、信号はターゲットに到達するために長距離を移動する必要がなく、持続性もあります。別のプロセッサを使用する場合と比較すると、速度ははるかに速くなります。
信頼性
マルチコア CPU では、ソフトウェアは常に異なるコアに割り当てられます。 1 つのソフトウェアに障害が発生しても、他のソフトウェアには影響がありません。欠陥が発生した場合、影響を受けるのは 1 つのコアのみです。その結果、マルチコア CPU は障害に対する耐性が向上します。
ソフトウェアの相互作用
ソフトウェアが複数のコアで実行されている場合でも、ソフトウェアは相互に通信します。空間的および時間的分離は、マルチコア プロセッサが実行するプロセスです。これらのプロセスの結果としてコア スレッドが遅延することはありません。
マルチタスク
オペレーティング システムは、多数のプログラムが同時に実行される場合でも、マルチコア CPU を使用して 2 つ以上のプロセスを同時に実行できます。たとえば、Photoshop アプリケーションを使用すると、2 つのジョブを同時に実行できます。
消費電力
一方、マルチコア CPU を使用したマルチタスクでは、必要な電力は少なくなります。 CPUの発熱する部分のみが使用されます。最終的には電力消費が最小限に抑えられ、結果的にバッテリーの使用量が減ります。一方、一部のオペレーティング システムは、他のオペレーティング システムと比べてより多くのリソースを必要とします。
陳腐化の回避
アーキテクトは、マルチコア CPU を使用することでテクノロジーの陳腐化を回避し、保守性を高めることができます。チップメーカーは、マルチコア CPU に最新の技術的進歩を活用しています。コア数が増加するにつれて、シングルコアチップの入手はますます困難になってきています。
分離
マルチコア プロセッサは、シングルコア システムと比較して、地理的および時間的な分離を強化する可能性があります (ただし、保証するものではありません)。両方のコアが同じシングルコアで実行されている場合、一方のコア上のソフトウェアがもう一方のコア上のソフトウェアに影響を与える可能性は低くなります。この切り離しは、地理的および時間的な分離によって発生します (あるコア上のスレッドが別のコア上のスレッドによって遅延されることはありません)。エラーの影響を単一コアに限定することで、マルチコア処理により堅牢性が向上します。混合クリティカル度プログラムを個別に実行する場合、この強化された分離は非常に重要です (セーフティ クリティカル、ミッション クリティカル、およびセキュリティ クリティカル)。
マルチコア プロセッサの利点に関するその他の重要なポイントは次のとおりです。
女優サイ・パラヴィ
- シングルコア プロセッサと比較すると、マルチコア プロセッサはより多くのタスクを実行できる可能性があります。
- 一度に多くの活動を行う際のエネルギー消費が少ない。
- 両方のコアが単一チップ上に統合されているため、データが宛先に到達するまでの時間が短縮されます。
- 小さな回路で高速化が可能です。
- ゲームのプレイ中にウイルス対策ソフトウェアで感染を検出することは、マルチタスクの一例です。
- 低周波を使用すると、多数のタスクを同時に実行できます。
- シングルコアプロセッサと比較して、大量のデータを処理できます。
マルチコアプロセッサの欠点
マルチコア プロセッサの次のような制限 (欠点) について説明します。
アプリケーションの速度
マルチコア CPU はマルチタスク用に設計されているにもかかわらず、そのパフォーマンスは不十分です。アプリケーションが処理するたびに、あるコアから次のコアにバウンスする傾向があります。その結果、キャッシュがいっぱいになり、速度が向上します。
ジッター
マルチコア CPU のコア数が増加すると、より多くの干渉が発生し、過剰なジッターが発生します。その結果、オペレーティング システムのプログラムのパフォーマンスが低下し、頻繁にエラーが発生する可能性があります。適切な同期とマイクロカーネルを使用することによってのみ、ユーザーはジッターに対処できます。
分析
2 つ以上のことを同時に実行する場合は、追加のメモリ モデルを採用する必要があります。マルチコア マシンでは、これにより分析が困難になります。特に時間制限は判断が難しく、不正確になる可能性があります。
さらに、コアの数が増えると、干渉解析はより複雑になります。その結果、O/S は約束された結果を提供できなくなります。
リソースの共有
マルチコア プロセッサは、内部と外部の両方でさまざまなリソースを共有します。これらのリソースには、ネットワーク、システム バス、メイン メモリなどが含まれます。その結果、同じコア上で実行されているプログラムは中断される可能性が高くなります。この形態の干渉では、地理的および時間的孤立の両方が発生する可能性があります。
ソフトウェアの干渉
リソースの共有により、ソフトウェアの干渉により、空間的および時間的な分離に関する問題が発生する可能性があります。追加のコアがある場合、この可能性はさらに高くなります。より多くのコアが存在するということは、より多くの干渉ルートが存在することを意味します。考えられるすべての干渉経路を調査することはほぼ不可能です。
マルチコア プロセッサーのその他の重要な制限事項は次のとおりです。
- 複数のプロセッサが含まれていますが、単純なプロセッサの 2 倍の速度はありません。
- 管理タスクは、シングルコア CPU の管理に比べて複雑です。
- マルチコア プロセッサのパフォーマンスは、ユーザーが実行するタスクに完全に依存します。
- 他のプロセッサがリニア/シーケンシャル処理を要求する場合、マルチコア プロセッサは処理に時間がかかります。
- バッテリーの消耗が早くなります。
- 消費電力は、より単純なプロセッサと比較して非常に高くなります。
- さらに、シングルコアプロセッサと比較して高価です。
なぜマルチコアプロセッサが使われるのでしょうか?
構成はデュアルコアプロセッサに似ています。マルチコアプロセッサは、コアの数とコアの種類に応じて分類されます。マルチコア CPU の目的は、優れたパフォーマンスを実現することです。シングルコア CPU の物理的制限を克服するように設計されました。
マルチコア プロセッサをサポートするオペレーティング システムには次のものが含まれます。
- Linux
- Microsoft Windows (Windows XP 以降)
- ほとんどの BSD ベースのシステム
- ソラリス
- Mac OS X
マルチコアプロセッサの簡単な歴史
初期のチップベースのプロセッサを作成した企業は、単一のチップに 1 つのプロセッサしか搭載できなかったため、単一のチップに 1 つのプロセッサしか搭載できませんでした。チップ製造技術が進歩するにつれて、チップメーカーはより多くの回路を備えたチップを構築できるようになり、最終的には複数のプロセッサを備えたチップを製造できるようになり、結果としてマルチコア チップが誕生しました。
1998 年に、スタンフォード大学の電気工学教授 Kunle Olukotun とその学生によって最初のマルチコア プロセッサが発明されました。マルチコア チップは、2005 年に Advanced Micro Devices (AMD) と Intel から初めて商業的に入手可能になりました。それ以来、ほぼすべてのチップ メーカーがマルチコア プロセッサの開発を開始しました。
マルチコアプロセッサはどこで使用されていますか?
現代では、マルチコア プロセッサは、タブレット、デスクトップ、ラップトップ、スマートフォン、ゲーム システムなどのほとんどのデバイスに搭載されています。
提供されている 2 つのコア オプションは、プロセッサのモデルがパフォーマンスに関するすべてのストーリーを伝えていないことを示しています。デュアルコア i5 と比較すると、クアッドコア i5 のパフォーマンスは大幅に優れており、コンピューターの価格にはこれが反映されます。この記事の執筆時点では、i5 モデルの現在のラップトップ モデルはすべてデュアルコアですが、デスクトップ モデルはすべてクアッドコアです。ラップトップのバージョンはクアッドコアではなくデュアルコアであるため、ラップトップの i5 はデスクトップの i5 よりもパフォーマンスが低くなります。デュアルコア タイプは、バッテリ寿命が長く、消費電力が少ないポータブル ラップトップに適していますが、デスクトップではバッテリ寿命が不要なため、クアッドコア モデルなどのより多くの電力を使用する CPU が使用されます。マルチコア プロセッサのいくつかのアプリケーションは次のとおりです。
- Overwatch や Star Wars Battlefront などの高グラフィックスを備えたゲームや 3D ゲーム。
- マルチコア プロセッサは、Adobe Premiere、Adobe Photoshop、iMovie、およびその他のビデオ編集ソフトウェアに適しています。
- Solidworks とコンピュータ支援設計 (CAD)。
- ネットワーク トラフィックとデータベース サーバーが多い。
- たとえば、産業用ロボットは組み込みシステムです。