• ベストアンサー

マルチコアについて

こんばんは。 マルチコアCPUについてご質問です。 シングルCPU時に、処理待ちが原因でパフォーマンスが悪い場合には、 マルチコアにした方が改善されるとイメージしてます。 ただCPU処理待ちが無い場合、 例えばシングルCPUでCPU使用率が100%だった。それでデュアルに したら処理は高速化されるだろう、、と考えるのは間違いでしょうか?。 ※CPU使用率も50%くらいになるのでしょうか?。 クロック数を上げるのと同様に、デュアルにすれば 処理の高速化は見込めるのでしょうか。。 お手数ですがアドバイスお願いします。

noname#23042
noname#23042

質問者が選んだベストアンサー

  • ベストアンサー
  • natu2000
  • ベストアンサー率69% (83/119)
回答No.1

当方は、最近のCoreDuoを始め環境を持っていませんので マルチコアCPUについては、なんともいえませんが、 当方は個人的にPen3のDUALを4台ほど持ちXeonDUALを2台ほど 所有しています。 CoreDuo等の環境を整えていないので、これは想像になりますが マルチコアもデュアルプロセッサもOSからみたらCPUは2つ見えますので 通常のCPU1つより、2つになったらCPU使用率はどう変わるかを 述べてみたいと思います。 通常のCPU1つの場合、例えばゲームなど処理の重いものが起動し、 これがCPU使用率100パーになったとします。 この状態で他のソフトを立ち上げると非常に重いです。 一方CPU2つの場合は、ゲームなど処理の重いものが起動しても OSが振り分けてくれるよう(?)なのでCPU0に50パーCPU1に50パーと 結果としてCPUの使用率は50パーになります。 この状態で、他のソフトを立ち上げても使用率の空きが50パー 空いているので余裕です。 CPUが2つある場合、アプリケーションがマルチプロセッサ対応でないと 恩恵を得られない。だからDUALは無駄とも言われる場合もありますが、 OSはマルチプロセッサに対応のOSであれば ある程度はOS側によって使用率の分散や振り分けられているようで DUAL自体、意味が無い訳ではないようです。 現在の所XeonDUALをメインで当方は使用していますが かなり挙動の重いソフトでもCPU使用率が100パーになることは稀です。 (DUAL環境でCPU0とCPU1が両方100パーにならなければ使用率100パーになりません) 以前、常時50パーCPUを消費している状態になったことがあります。 結論からいうと FTPソフトを終了しているのに実はプロセス上で残っており CPUを100パー食い尽くしているようでしたが、 デュアルプロセッサだった為、CPU0に50パー、CPU1に50パーで 全体から見ると50パー常にCPUを食っている状態でした。 やけにずっと50パーだなぁーと思った結果がコレでした。 しかし重くなかったため気が付きませんでした。 >※CPU使用率も50%くらいになるのでしょうか?。 シングルで100パー食っているソフトはDUALにおいては50パーになると思います。 >クロック数を上げるのと同様に、デュアルにすれば >処理の高速化は見込めるのでしょうか。。 どのような処理をするかにもよります。 例えば3Dソフトなどでレンダリングするとシングルより早く終わるのか? といったような内容であれば、気持ち早くなるかも知れませんが タブン誤差範囲程度に早くなる程度で処理スピードは半分になりません。 但しレンダリングソフトがマルチプロセッサに対応のものであれば 半分の時間でレンダリングが出来るはずですが、 全ての処理が向かうことになる為、他のソフトは起動する余裕はなくなります。 対応していない場合は、速さはシングル時と変わりません。 しかしながらレンダリング中にフォトシップなどの重い編集ソフトや ネットゲームがサクサク出来たりする余裕はあると思います。 またシングル時ではレンダリング中に他の仕事をすると、 重くて使い物にならないか、CPU率が奪われる為 その分レンダリング時間が延びるだけですが DUALになればこれらは影響を受けにくいので レンダリングしながら別のことが出来ます。 これらはDUALによってシングルではしにくかった事が DUALでは可能になる為、結果として作業効率が上がったのではないかと 思います。 つまり、処理の高速化は見込めませんが、処理の効率化は見込めそうです。 当方としては DUALは、○○しながら作業が強いのではないかと思います。 もしcheep-impaさんが、そのような使い方を多くしているようであれば デュアル(コア)にされると恩恵を多く受けられるとは思います。

noname#23042
質問者

お礼

大変ご丁寧にご説明頂き本当に有難うございました。 単一のソフトで「処理を早くしたい」というのはやはり難しいのですね。。頂いたアドバイスを元に書籍などで引き続き勉強してみます。 有難うございました。

関連するQ&A

  • Sonar Home Studio 6 はマルチコア対応ですか?

    Sonar Home Studio 6 はマルチコア対応ですか? このバージョンがマルチコアCPUに対応しているのかどうか 正確なところをご存じの方、ご教示いただけませんでしょうか。 クロック周波数は同程度のマルチコアCPUに買い替えたところ、 パフォーマンスがむしろ落ちてしまったようです。 次のバージョン7からマルチコア対応ということであれば、 買い替えも辞さないつもりではありますが・・・ どなたかご存じの方、よろしくお願いいたします。

  • マルチコアCPUでの複数ソフト同時使用について

    マルチコアCPUでの複数ソフト同時使用について質問させてください。 最近のCPUはマルチコアのものばかりなので買い替えを検討中なのですが。 マルチコアを使いにはマルチコア対応のソフトが無ければ、シングルコアとしてしか作動しないと聞きました。 corei7のPCでシングルコアのソフトを起動した場合8スレッド中の1スレッドが使用された状態になるわけですよね? するとそのシングルコアのソフトを8個同時に起動しても処理速度は変わらないということでいいんでしょうか? メモリーの消費率などもあると思いまずが、教えてください。

  • マルチコア対応してないゲームで最高のスペックPC

    シヴィライゼーション4(・PCゲームシミュレーション・性能はCPU依存率が高い・グラボとメモリはそこそこでOKとのこと)を遊びたいのですが、少し古いゲームなのでマルチコア対応していません。 今出ているPCで、OC(オーバークロック)有りで、このゲームを最高のパフォーマンスで遊ぶとなると、どんなPCを買えば良いでしょうか、(予算13万程度でBTOなどが簡単で良いかもです) このTUKUMOのページなどは良く見ています。http://www.tsukumo.co.jp/bto/pc/game/

  • マルチコアCPUはコア数が多ければ多い程有利なのではないのですか?

    最近マルチコアのCPUをよく見かけます、 それで、例えば、Core2DuoとCore2Quadを比べた質問、についてですが、 この手の質問では、Quadはマルチスレッド対応アプリを使わなければ Duoと大きな違い感じられないという回答がよく見られます。 又、むしろ消費電力が大きくなり2コアに比べクロック数も低いので 対応アプリを使わなければ逆に4コアは不利であるという意見もあります。 しかしどうも疑問を感じます。 上記の内容はあくまで一つのアプリを動作させた場合の事を想定した物なのでは? ごく日常での使用ではコア数が多い方が有利なのではないですか? 私の考えとしては、まずPCを扱う際一つのアプリのみを起動しPCを使用する人はまずいないという事から、 使用中に他のアプリや別のプログラムを実行するという場合も大いに考えられますし、 実際にタスクマネージャなどを見てもOSを起動起動するだけでかなりのプロセスが実行されいくらかCPUを食っています。 するとその様なマルチコア向けのアプリケーションを使用せずとも多数のシングルスレッドのプロセス実行と共に 複数のスレッドが発生し、結果例え速度的な変化は感じられずともマルチコアの恩恵を受ける事が出来るのではないか? と、私は思うのですがこれは間違いなのでしょうか。 それとも実際は上記の内容は間違いでそう都合良くは出来ていない物なのでしょうか? 長くなってしまいましたが回答いただけると幸いです、よろしくお願いします。

  • Illustratorとframemakerは、マルチコアやマルチCPUに対応している?

    Windows版のIllustratorとframemakerは、マルチコアやマルチCPUに対応しているのでしょうか。つまり、並列処理を行えるプログラミングになっているのでしょうか。 http://www.adobe.com/jp/support/kb/ts/234/ts_234613_ja-jp.html#anc_b1 の「B. ハードウェア構成の最適化」の項を見ると 「マルチプロセッサシステムの使用(中略)など(中略)によっても Illustrator のパフォーマンスは向上します。」 とありますが、並列処理を行えるとは書いてありません。 framemakerも同様です。 Illustratorとframemakerは、マルチコアやマルチCPUに対応しているのでしょうか。

  • マルチコアとスーパースカラの違いはコア数だけ?

    質問させてください。 CPUの高速化の技術として、マルチコアとスーパースカラというものがあります。 どちらも並列処理を実現するもので、 マルチコアはCPUのコアを複数配置する方法。 スーパースカラは1つのコアの中に処理系統を複数配置する方法。 というのはわかるのですが、それって結局同じことではないかと混乱しています。 CPUのコアの中には、演算装置、制御装置、レジスタなどがあると認識していますが、例えばスーパースカラの場合、その中のどれか一つが共有されているとか、そういうことでしょうか? ただその場合、共有するところは並列作業が実現できなくなると思うのですが・・・。 どなたかご存知でしたらお教えください。 以上よろしくお願いします。

  • マルチコアを有効利用するプログラミングについて

    マルチコアを有効に利用するプログラムを作りたいと考えています。 マルチコア、マルチスレッドが、よく理解できていないところもありますが、ご容赦お願いいたします。 OSはWindows XP、開発環境はVisual C++ 6.0です。 1.マルチスレッド対応すれば、マルチコアを有効利用できるのでしょうか?(複数のコアの使用率を均等に上手く割り振ってくれるのでしょうか) 2.Windows APIにSetThreadAffinityMask()、SetThreadIdealProcessor()なるAPIがあるのですが、これらを使用しないと、割り振れないものなのでしょうか? 3.少し調べたのですが、OpenMP、MPIなる技術があるようなのですが、このような特殊な処理を加えないとダメなのでしょうか。 個人的には、マルチスレッド対応さえすれば、あとはOS(Windows)が上手くやってくれれば、、、と思っているのですが。

  • パソコンのマルチコアCPUについての質問です。

    パソコンのマルチコアCPUについての質問です。 新しくi-5のCPUが搭載されたパソコンを購入しました。 マルチコアのCPUは同時並行の作業に強いと聞きますが、 これは例えば大容量のファイルの移動中とか、動画の変換中とか、 本来同時に何かをやらない方が良いとされている作業の最中も使用率が100%にならないうちはほかの事をやって大丈夫という意味でしょうか? それともやはりそういう操作中は従来のパソコンの常識と同じで同時に何もしない方が良いのでしょうか?

  • マルチコア タスクマネージャー

    4コアですが、作業をしてるとタスクマネージャーでCPU使用率が4個共、数値が上がりますが、マルチコア対応してないアプリでもこのようになるのでしょうか? 折れ線グラフを眺めてるだけですが、左から右に行くにつれ、線の位置が上がってます。何もしなければ4個共0ですが、何かすれば大小はありますが、必ず4個共上がります。 確認したい事は、どんなアプリでもマルチコアにする事に拠ってパフォーマンス向上に役立っているのでしょうか? PC環境は以下です。 OS:Win7home64bit. M/B:GIGABYTE GA-970A-D3 CPU::PhenomII X4 945 BOX.(95W)  メモリー:DDR3 8GB  グラフィックボード:ECS NR9800GTE-512MX-F. SSD:Crucial m4 CT128M4SSD2 内蔵HDD:5個 DVDD:LITEON DH-20A3S-26/BOX どうぞ宜しくご教示下さい。

  • linuxマルチコアCPU環境においてコアの使われ方について

    linuxマルチコアCPU環境においてコアの使われ方について マルチコアCPUがLinxu環境において(その他Linuxでないプラットフォームにおいても)、 実際に搭載されているCPUのコア数が正常にOSに認識されているというだけではなく、 各プロセスの処理に対して複数のコアが適宜効果的に利用されているのかどうか?? ということが知りたく、添付画像に私の疑問点をまとめてみました。 ■ポイント ++++++++++++++++++++++++++++++++++++++++++++++++ 投稿した画像の色がついている4つの矢印は1つ1つそれぞれがDB接続クライアントがmysqlに投げているSQL文(クエリ)をイメージしています。 Mysqlを起動させているlinux kernelは、このクエリを受け取り自身が管理しているCPUがマルチコアであった場合、どのようなロジックで複数のコアの中から4つのクエリを処理させるCPUコアを選択しているのでしょうか? 例)kernelが未使用のCPUコアを都度選んで1クエリの処理を担当するよう制御している ⇒コアによって処理する数は異なる 例)kernelが4つのクエリに対して4つのCPUコアをラウンドロビン分散させて処理させている。 ⇒コアが処理する数は均等になる ++++++++++++++++++++++++++++++++++++++++++++++++ どなたか、私の疑問についてご存知でしたらご教授いただけますでしょうか。 よろしくお願します。