「マルチコア」の版間の差分
ナビゲーションに移動
検索に移動
imported>MikeCAT (とりあえず作成) |
Administrator (トーク | 投稿記録) (→同期処理) |
||
(3人の利用者による、間の3版が非表示) | |||
1行目: | 1行目: | ||
− | '''マルチコア''' | + | '''マルチコア'''([[英語]]:multi core)とは、ひとつの[[半導体チップ]]の中に複数の[[CPU]]や[[GPU]]などの[[コア]]があるもののことである。 |
− | + | == 概要 == | |
+ | 一般的に常識的な範囲(1~8コア程度)では、コアの数が多いほど高性能とされる([[要出典]]) | ||
− | + | コアの数が多いと、[[BOINC]]で大量のタスクを処理することができ、有利になるとされる。 | |
+ | |||
+ | 単にCPUコアを増やすのみではなく、たとえばCPUコアとGPUコアを組み合わせた[[AMD]]の[[APU]]なども発売されている。 | ||
+ | また、最近流行りの[[SoC]]もある種のマルチコアである。 | ||
+ | |||
+ | ==利点== | ||
+ | ===無駄が少ない=== | ||
+ | マルチコアCPUは、単純に複数の[[CPU]]をひとつの[[マザーボード]]に搭載する[[対称型マルチプロセッシング]]([[SMP]])と似ているが、マルチコアCPUではキャッシュなどを複数のコアで共有するなどの効率化が実現できる。 | ||
+ | |||
+ | ==欠点== | ||
+ | ===同期処理=== | ||
+ | コア数の増加に[[比例]]してコア間で同期をとるための処理に時間がかかるようになる。このため闇雲にコア数を増やす事はできない。 | ||
+ | |||
+ | たとえば[[マルチスレッド]]を使う[[プログラム]]を組む際にはロック処理はほぼ確実に登場するが、その突入が異常なほど遅くなると考えればよい。 | ||
+ | <source lang="csharp"> | ||
+ | // C#のロック処理 | ||
+ | lock (this) { | ||
+ | // 同期処理 | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | なお、同期不要な独立性の高い[[プログラム]]を走らせることに特化している場合はこの限りではなく、基本的に[[ピクセル]]ごとに独立した処理が走る[[GPU]]などでは極端なマルチコア化が進んでいる。たとえば[[GeForce GTX Titan]]などでは2688コアも搭載している。 | ||
+ | |||
+ | 同様に個々のリクエストの独立性が高い[[ウェブサーバー]]など向けにもアホみたいな数のコア数を搭載した[[サーバー]]向け[[CPU]]なども発売されている。これらの個々のコアの性能はほぼ[[Intel Atom]]である。 | ||
==関連項目== | ==関連項目== | ||
* [[マルチコア (物理)]] | * [[マルチコア (物理)]] | ||
* [[マルチスレッド]] | * [[マルチスレッド]] | ||
+ | * [[ジャイアントロック]] | ||
+ | |||
+ | == 参考文献 == | ||
+ | {{reflist}} | ||
+ | |||
+ | {{stub}} |
2022年10月5日 (水) 02:39時点における最新版
マルチコア(英語:multi core)とは、ひとつの半導体チップの中に複数のCPUやGPUなどのコアがあるもののことである。
概要[編集 | ソースを編集]
一般的に常識的な範囲(1~8コア程度)では、コアの数が多いほど高性能とされる(要出典)
コアの数が多いと、BOINCで大量のタスクを処理することができ、有利になるとされる。
単にCPUコアを増やすのみではなく、たとえばCPUコアとGPUコアを組み合わせたAMDのAPUなども発売されている。 また、最近流行りのSoCもある種のマルチコアである。
利点[編集 | ソースを編集]
無駄が少ない[編集 | ソースを編集]
マルチコアCPUは、単純に複数のCPUをひとつのマザーボードに搭載する対称型マルチプロセッシング(SMP)と似ているが、マルチコアCPUではキャッシュなどを複数のコアで共有するなどの効率化が実現できる。
欠点[編集 | ソースを編集]
同期処理[編集 | ソースを編集]
コア数の増加に比例してコア間で同期をとるための処理に時間がかかるようになる。このため闇雲にコア数を増やす事はできない。
たとえばマルチスレッドを使うプログラムを組む際にはロック処理はほぼ確実に登場するが、その突入が異常なほど遅くなると考えればよい。
// C#のロック処理
lock (this) {
// 同期処理
}
なお、同期不要な独立性の高いプログラムを走らせることに特化している場合はこの限りではなく、基本的にピクセルごとに独立した処理が走るGPUなどでは極端なマルチコア化が進んでいる。たとえばGeForce GTX Titanなどでは2688コアも搭載している。
同様に個々のリクエストの独立性が高いウェブサーバーなど向けにもアホみたいな数のコア数を搭載したサーバー向けCPUなども発売されている。これらの個々のコアの性能はほぼIntel Atomである。