![マザーボード上のCPU](/f/11a6299196b7f89746dfde7c8c3685d2.jpg)
コンピュータのマザーボード上のプロセッサチップのクローズアップ
画像クレジット: Riccardo_Mojana / iStock / Getty Images
並列および直列処理は、コンピューターシステムが使用する計算タスクを分解できるかどうかを示します 複数のプロセッサまたはコアを同時に使用する場合、または単一のプロセッサでタスクを完了することに依存している場合 芯。 インテルが最初のコンシューマーデュアルコアプロセッサーを発表した2005年半ば以前は、個々のコンシューマーコンピュータープロセッサーはすべてシリアルプロセッサーでした。 複数のシングルコアプロセッサが連携して、ネットワーク化された並列コンピュータクラスタを介したシリアル処理を処理したり、1つのマザーボードで複数のプロセッサを実行したりできます。
コンピュータはマルチタスクマシンです
典型的な最新のコンピューターは、いつでも数十から数百のタスクを実行します。 ただし、各コアは一度に1つのプロセスでしか機能しません。 プロセッサは、異なる処理の「スレッド」または「命令ストリーム」間を絶えずジャンプして、並行性と呼ばれるリアルタイムの錯覚の下で複数の並行プログラムを実行します。 コンピュータは、ジョブを切り替えるときにプロセッササイクルを浪費することになり、マルチタスク時に最適な効率で実行されません。
今日のビデオ
タスクを並行して実行する
プログラムが並列処理を使用するように設計されている場合、並列処理環境はタスクをより高速に処理できます。 シリアルプログラムは、すべての命令をシリアル配置で並べ、シングルスレッドを使用してプロセッサとインターフェイスします。 並列プログラムは、タスクを個々の部分に分割することで機能します。これらの部分は、複数のプロセッサコアに分割して、完了したタスクとして再構築できます。 パラレルプロセッサは、同様にクロックされるシリアルプロセッサの処理能力を適切に記述されたコードで乗算できます。 ただし、クロック速度が高いシリアルプロセッサは、シングルスレッドで動作する場合、パラレルプロセッサよりもパフォーマンスが優れている可能性があります。
実行中のシリアル処理
シリアル処理用に作成されたプログラムは、一度に1つのコアのみを使用し、タスクを順番に処理します。 シリアルプロセッサは、食料品店に12のオープンチェックアウトレーンがあり、1つのレジ係が異なるレーン間を走り、全員を同時にチェックアウトするのとよく似ています。 レジ係(CPU)は、レーンからレーンにジャンプして一度にいくつかのアイテムをチェックアウトしてから、すべての注文を同時に完了することを目的として次のアイテムに移動します。
実行中の並列処理
並列プロセッサの背後にある考え方は、連携して動作するコアが多いほど、パフォーマンスが向上するということです。 並列プロセッサは、複数のレジ係が1ダースのチェックアウトレーンを操作しているように動作します。 プログラムが並列処理を利用するように設定されている場合、「顧客」は注文を小さなグループに分割し、一度に複数のチェックアウトレーンを使用する可能性があります。
並列プロセッサが可能性を拡大
2007年、Nvidiaは最初に並列処理を使用してグラフィックステクノロジーを進歩させました。 グラフィックスプロセッシングユニットは、小さな計算を行うときにシリアル処理のパフォーマンスを吹き飛ばすレベルで並列処理を使用します。 CPUは簡単に数えることができるコアの数を持っている傾向がありますが、GPUは、より単純な同時計算を実行するのにより適した、より低電力のコアを何千も持つことができます。 GPUはグラフィックスに一般的に使用されますが、並べ替えや行列代数などの他の計算を実行できます。