人力検索はてな人力検索はてなモバイル版を表示しています。OpteronのPCで、NUMAによりメモリ帯域を稼ぐために各コアに分散されるのならわかるのですが、シングルソケットのCore2DuoやCore2Quadでも分散される理由がわかりません。コア間の通信によるオーバーヘッドが付くだけのような気がするのですが・・・何か私の勘違いなんでしょうか?わかる方理由をお教えください。▽最新の回答へ▽1●kn1967●35ポイントパイプラインやスーパースカラといった処理効率向上の手段やキャッシュ増大によるボトルネックの吸収などなど・・・あとはひたすら動作周波数をあげるだけという状態になっていた。動作周波数をあげるためには消費電力の増大とそれに伴う放熱量の増大などコストパフォーマンス的においしくない。動作周波数をあげることよりもコアを増やして仕事を分散させることによって結果として早い仕事をさせるほうが賢いのではないか?コアが2つになったからと言っても処理速度が2倍になるわけではないが(おっしゃるように分散させるための処理が必要になるために)同じ時間で処理させるにあたっては動作周波数を落とす事が可能になる。下げるということは消費電力も落とす事が出来て放熱量も減るので冷却も楽・・・。使っていない側のコアの電力制御なども加えればコストパフォーマンスはさらにあがる。コアが4つになれば歩留まりの心配もでてくるけどAMDのように4コアを作って、4コアとして出荷する分と一部を殺して3コアとして出荷するといった商売上手(?)な方法も・・・。アバウトに表現してしまうと大型1台よりも小型車数台でってところですね。◎質問者からの返答うーん、それって今のCPUがメニイコアへ向かっているということの一般的な説明だと思うのですが、質問の趣旨が伝わらなかったかもしれません。具体例を挙げてみます。Core2DuoでSuperpiを一つ走らせると、片方のコアだけで処理するのではなく一部は別のコアで処理されています。(少なくとも当方の環境では。)トータルのCPU占有率は、デュアルコアなので50%となります。いうことが疑問で質問した次第です。▽2●pahoo●35ポイント以下の用語を理解しているものとして回答します。スレッド(シングルスレッド/マルチスレッド)タスク(シングルタスク/マルチタスク)デュアルコア(マルチコア)/デュアルプロセッサ(マルチプロセッサ)完全にシングルスレッドの処理を、完全にシングルタスクで処理するとしたら、デュアルコアの効果はあらわれません。同様に、デュアルプロセッサの効果も出ません。同時に1つのコアに対して1つのスレッドしか走らせることができないためです。実際には、WindowsやLinuxといったOSはマルチタスクで動いている(システム監視などのタスクをバックエンドで動かしている)ため、デュアルコア/デュアルプロセッサの効果が出てこないということは無いでしょう。あればメモリ帯域を稼ぐことはできます。Intel系MPUは、デュアルコアでもデュアルプロセッサでも1つのメモリコントローラを共有するため、デュアルプロセッサだからといってメモリ帯域を稼ぐことはできません。これは、デュアルコアとデュアルプロセッサの違いというより、MPUメーカーの設計思想の違いでしょう。したがって、デュアルコアとデュアルプロセッサの機能的な違いというものは、意識できるほどのものではないと思います。後半、主観的な記述になってしまいました。他の方のご意見も参考にしてください。◎質問者からの返答それぞれの用語は知っているつもりが調べてみると大して理解していないなぁということに改めて気付きました。ありがとうございます。関連質問アプリケーションを探しています。□はてなトップ(C)株式会社はてな。