• ベストアンサー

デュアルコアってHTに似たもの?

新機種購入に備えて、Athlon64にしようと 思っているのですが、デュアルコアというのは、 HTテクノロジと同じようなもので、 リソースを上手く2分するような機能なのでしょうか? というよりはそもそも、今、デュアルコアが 必要かどうか、いや、Athlon64X2 4000+以上 のスペックが買い時なのかどうか、 ご存知の方、教えてくださいませんでしょうか?

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

  • ベストアンサー
回答No.12

>どちらの技術も、 >2つのスレッドを同時巡回するもので、 ちょっと違いますね。 この場合はスレッドではないですよ。 スレッドよりさらに細かい単位だと ジョブステップですかね。 でもこの場合はちょっと表現としては 適さないかな。 デュアルコアの場合は物理的にふたつの コアがあるために同時にふたつの命令を 実行することができる。 ベルトコンベアーがふたつありそれぞれに人が 一人ずついる感じで それに対してHTの場合はCPU内部には さらに細かいユニットが存在します。 でそのユニットがすべて使われることは 基本的にはなかなか無いです。 そこでその余っているユニットも使ってしまおうって 言うのがHTの基本的概念です。 ベルトコンベアーは一つだが作業する人が二人 いる感じかな。 >結局のところどのアプリでも有利に働く、 軽いソフトだとあまり威力は発揮しませんが 例えば重たいソフトを動かしながら別のソフトを 動かす場合には威力を発揮するでしょう。 最近は、特別なソフト(エンコードとかゲーム) でもなくてもそこそこ負荷がかかるソフトも たくさんありますからね。 >言い方が少し過激な発言があるように思えます。 >素人かどうか、という事はここでは関係ないと思います。 >よろしくお願いします。 そうですね。 >いい加減からみ癖もしつこいですね。 >マルチタスクには単純にふれていないだけです。 このような高圧的でわかってないのにわかっているそ ぶりのような書き込みに暑くなりすぎました。 反省します。 根本的な事を書かなかったからcoociさんも 私の書き込みを理解できなかったのかもしれませんね。 マルチタスク(複数のプロセスが動いている状態) でのソフトと マルチスレッドのソフトを作る上で基本的には マルチスレッドアプリの場合はデータ(メモリ)を共有する 事ができるけど マルチタスク(複数のプロセスが動いている状態)の 場合でデータ共有したい場合それができないから プロセス間通信という技術が必要になってくると言うことですね。 基本的には他のプロセスのメモリを別のプロセスが アクセスして書き換えたりすることはできない。 マルチタスクアプリの場合OSが自動的に 処理してくれるので意識してプログラムを 書く必要が無いが マルチスレッドの場合は制作者が任意で マルチスレッドで処理させるようにプログラムを 書く必要が出てきます。 自分は、まだマルチスレッドプログラムを 書いたことは無いけど マルチタスクでふたつのプロセス間でデータ共有を するプロセス間通信を用いたプログラムはLinuxで 書いたことがある。 その時には特にそのプロセス間通信だけで 後は別に意識することなくプログラムを 組みましたね。

Lyrical-Nanoha
質問者

お礼

長い間、質問に答えていただきまして、 本当にありがとうございます。 No,13の方の発言を読みまして、 私も少し誤解していたことが分かりました。 自体をつかまずに余計な発言をしてしまい、反省しています。

すると、全ての回答が全文表示されます。

その他の回答 (12)

  • Quader
  • ベストアンサー率22% (2/9)
回答No.13

質問者さんへ。 私が横から口を出すべきことでは無いのですが…。 coociさんの文章は >詳しい方から見ると変なことを言っている というよりも、 >このような高圧的でわかってないのにわかっているそ >ぶりのような書き込み の部分が以前から目立っており、専門家らしいparapara777さんが熱くなってしまった原因と思います。 恐らく何か月分かの積み重ねがありますので、感情的には理解できることです。

Lyrical-Nanoha
質問者

お礼

以前の状況をよく調べていませんでしたので、 軽率な発言をしてしまいました。ご指摘ありがとうございます。

すると、全ての回答が全文表示されます。
回答No.11

#10 あなたの書き込みを見てあなた素人で 背伸びをしているのがハッキリしました。 >シングルスレッドというのは単体のシングルスレッドのときしかない であなたにとってマルチタスクOS上で処理される シングルスレッドアプリは完全に無視するんですね。 何回も書きましたが、今時のPC用OSはマルチタスクOSです。 見た目には一つのアプリしか動かして無くても そのしたではいくつものタスクが動いています。 >『マルチタスクにふれていないだけ』と書いたのは『マルチタスクの状態がマルチスレッドである』 でマルチタスクOS上で動くシングルスレッドは 何故無視するんだろう? 何度も書きますが >『単体のシングルスレッドは強化されない こんな事ってあり得ないですよね。 何度も書きますがその単体って事はあり得ないんですよ。 マルチタスクOS上では他のプロセスが必ず動いていますから http://yougo.ascii24.com/gh/27/002778.html これくらいならあなたの様な素人でも理解できるでしょう。 マルチタスクとマルチスレッドどちらか一方を書けば それで済むのでなくて両方書いて初めて話が 完結させられると言うことが あなたの過去の回答を見させてもらいましたが あなたはハードゲーマーであるが「コンピューター [技術者向け]」 の方には回答が無いところを見ると表面的視点には 多少詳しいようですが技術的な部分に対しては ド素人みたいですね。 プログラムを組む上でもマルチタスクプログラムと マルチスレッドプログラムでは組み方が違います。 >マルチスレッドとは複数のスレッドを扱っている状態です。 >ですから、マルチタスクの状態はマルチスレッドです。 まれにタスクとスレッドを同じような意味合いで 使う場合もあるがこのような場合は別々の意味合いで 使うべきですね。 ですから マルチタスク≠マルチスレッド と扱うべきですね。 >林檎が2個ずつ入っている袋を2つ持っている状態を林檎2袋と表現するのがタスクで林檎4個と表現するのがスレッドです。 マルチタスクのマルチスレッド処理 林檎が2個ずつ入っている袋を1つ持っている状態を林檎2袋と表現するのがタスクで林檎2個と表現するのがスレッドです。 シングルタスクでマルチスレッド 林檎が2個ずつ入っている袋を1つ持っている状態を林檎2袋と表現するのがタスクで林檎2個と表現するのがスレッドです。 マルチタスクでシングルスレッド これわかる?両方説明して初めて一つの意味合いになる。

Lyrical-Nanoha
質問者

補足

詳しい解説ありがとうございます。 最後の詰めで、質問させていただきますが、 つまり、どちらの技術も、 2つのスレッドを同時巡回するもので、 各アプリのスレッド数はいろいろで、 もし1アプリに1スレッドでも別アプリの スレッドも処理するから、 結局のところどのアプリでも有利に働く、 (但し能力はDual>HTである) ということでよろしいのでしょうか? あともうひとつですが、 parapara777さんの発言には、 言い方が少し過激な発言があるように思えます。 詳しい方から見ると変なことを言っているように 感じるのかも知れませんが、指摘の仕方次第だと思います。 訂正をしてくださるのは非常にありがたいのですが、 素人かどうか、という事はここでは関係ないと思います。 よろしくお願いします。

すると、全ての回答が全文表示されます。
  • cooci
  • ベストアンサー率29% (1394/4779)
回答No.10

スレッドとは『最小の単位』です。 マルチスレッドとは複数のスレッドを扱っている状態です。 ですから、マルチタスクの状態はマルチスレッドです。 例ですけど、林檎が2個ずつ入っている袋を2つ持っている状態を林檎2袋と表現するのがタスクで林檎4個と表現するのがスレッドです。 『マルチスレッドは強化されるがシングルスレッドは強化されない』というのは『マルチタスクの状態はマルチスレッドの状態でもある』ということを理解していれば当然のことを書いているにすぎません。 『マルチタスクにふれていないだけ』と書いたのは『マルチタスクの状態がマルチスレッドである』(シングルスレッドというのは単体のシングルスレッドのときしかない)ということに対して何も書かなかったことを指しています。 それが『単体のシングルスレッドは強化されない』とあえて書いたことにつながっています。 ANo.#9の型が書いているのは『スレッド』で書く方がより正確な表現になるため訂正する必要はありません。 『マルチスレッドに対応したゲームがない』と書いたのは当方の情報収集不足とマルチスレッドによる性能向上を体感できていないことによる誤認(当方は体感に基づいて表現することが多いため)からくるものですので訂正して陳謝します。

Lyrical-Nanoha
質問者

お礼

実際にタスクマネージャで調べてみました。 複数のタスク・スレッドが動いているのがわかりました。 解説ありがとうございます。

すると、全ての回答が全文表示されます。
回答No.9

>しかしシングルスレッドのアプリケーションでまったく効果がないか、というとそうではなく、 >シングルスレッドのアプリが2つあると、CPUから見れば2つスレッドがあるわけで、 言っていることは間違っては無いけど 微妙に違いますね。 まずこの場合はスレッドではなくてタスクです。 それとCPUはあくまでOSから割り当てられて処理を しているだけです。 ジョブ管理などをしているのはOSですのでこの場合は CPUから見たらではなくてOSからみたらの方がしっくり くるでしょう。 coociさんは、今現在マルチスレッドのゲームは無いと しつこいくらい言っていましたが今日読んでいた 週刊アスキーにエバークエストIIはマルチスレッドで 動いていると書かれていました。 >一般的なアプリケーションで、デュアルコアの恩恵を >受けることができる、ということでしょうか? 受けることができます。 2000やXPなどのOSそのものがマルチタスクで 動作しています。 OSだけでも複数のタスクが動いています。 また複数のアプリを同時に動かしてた場合も 恩恵を受けることができます。 また、エンコード作業中、他のアプリを動かしても シングルコアよりもたつきは減ります。 >2CPU(というのでしょうか)分の >処理能力を得ることができる、ということでしょうか? まず、CPUが2つになったからと言って処理能力が 倍になると言うことはありません。 で、デュアルCPUとデュアルコアでは単純に 性能がどっちが上かは比較しづらいです。

Lyrical-Nanoha
質問者

お礼

なるほど、 わかりやすい解説ありがとうございます。

すると、全ての回答が全文表示されます。
  • noranuko
  • ベストアンサー率46% (620/1332)
回答No.8

HTとデュアルコアは効果としては同様の技術ですが、内容は別の技術です。 >リソースを上手く2分するような機能なのでしょうか? HTの場合はそんな感じですが(つまり1つのCPUリソースを2つに分けて使う)、 DualCoreの場合は、CPUのリソースがはなっから2分されています。 つまり、2つ分のCPUリソース(=CPUコア)が1つのCPUの中にある、という感じです。 もっと単純にいえばPentium4やAthlon64なんかを2個分突っ込んであるCPUです。 効果としてはどちらも スレッド(プログラム処理の最小単位)を2つ同時に処理できるようになる、 ということです。 効果はHTよりDualCoreの方がよいです。(またHTは1つのスレッドを処理する性能が若干低下する) シングルスレッドアプリというのは、このスレッドを1つしか生成しないアプリケーション、 マルチスレッドアプリというのは、2つ以上生成するアプリということで、 前者ではHTやDualCoreでは性能向上しません。(HTでは下がる場合もある) 2つのスレッドを同時に処理できるからといっても、ソフトは1つしかスレッドがないからです。 後者では性能向上があります。 複数のスレッドを作るので、2つ同時に処理できるようになるからです。 しかしシングルスレッドのアプリケーションでまったく効果がないか、というとそうではなく、 シングルスレッドのアプリが2つあると、CPUから見れば2つスレッドがあるわけで、 HTやDualCoreCPUでないCPUでは速度が落ちていたところの落ち幅が小さくなります。 (まったく落ちなくなるわけではない) つまりソフトを複数起動しても、それぞれの速度が落ちにくくなります。 >今、デュアルコアが 必要かどうか、いや、Athlon64X2 4000+以上 のスペックが買い時なのかどうか、 ご存知の方、教えてくださいませんでしょうか まだまだAthlon64X2シリーズはハイエンドの部類なので、 コストパフォーマンスはあまりよくないと思います。 動画編集や重たいソフトを複数起動などDualCoreの恩恵が多く得られることをしないなら必要ないかと。 少なくともSocketM2に移行した後のものか、 Conroe(Intelの時期デスクトップ用CPU。もちろんDualCore)系が出るまでは、 必要なければいらないかと。

すると、全ての回答が全文表示されます。
  • tomoaki00
  • ベストアンサー率32% (43/134)
回答No.7

ちょっと、この話からずれてしまうかも・・・ですが HT、デュアルコア・・・両方とも処理をよりスムーズにするめ為の 技術というものですが・・・ でも、私の頭の中では、一番良いのはデュアルCPUです。 CPUを1枚のマザーボートに対して、2個以上のCPUをくっつけてしまう。 2個のデュアルCPUであれば、結構マザーボードもあります。 4個のクワットCPUともなれば、TYAN等極少数のメーカーが扱ってはいますが・・・取り寄せになると思います。 一応・・・あなたの頭の片隅に置いておいて下さい。

Lyrical-Nanoha
質問者

補足

1~7の方皆様にこちらでお返事させていただきます。 回答ありがとうございました。 ということは、デュアルコア対応ソフト、 でなくても、OSが対応していれば、 2CPU(というのでしょうか)分の 処理能力を得ることができる、ということでしょうか? よく、フル稼働しても50%しかいかない、 とか聞きます。それは同ソフトを2つ回すか、 2CPU対応ソフトを使うか、で解決できるらしいですが、 そのような手段を講じなくても、 一般的なアプリケーションで、デュアルコアの恩恵を 受けることができる、ということでしょうか? よろしくお願いします。

すると、全ての回答が全文表示されます。
回答No.6

#5みたいに小難しく書く必要なんて無かった。 coociさん タスク と スレッド の関係を調べてみてください。 表面的な事だけではなくて 技術的/専門的な部分もありますが ・OS側からアプリ側から ・プログラムを組む上で などからいろいろ調べて見てください。 そうすれば スレッドとタスクの関係性がわかってくると思いますよ。 そうすればタスクは書かなかったと言う事が んだと思うようになりますよ。

すると、全ての回答が全文表示されます。
回答No.5

>マルチタスクには単純にふれていないだけです。 ふれてないって重要なんですけど >シングルスレッドのアプリケーション単体で速くならないというのは嘘ではないです 単体とはあなたは一言も書かれていません。 普通に考えれば今のPC用OSマルチタスクが当たり前なので シングルスレッドのアプリもアプリ単体で 見るのではなくて一つのシステム全体から見たら シングルスレッドも恩恵を受けます。 あなた自身 >マルチスレッドなりマルチタスクなりでなければ高速化しません。 と書いているのではありませんか。 マルチタスクを書いている出はないでしょうか。 シングルスレッドでもマルチタスク処理されていれば 高速化します。 他のOSがらみのタスクもありますから 単純に他のアプリを動かしていなくても 少ないですが効果はあります。 >共通するのはマルチスレッドの性能は強化されるがシングルスレッドは強化されないところです。 これを見たら普通はマルチタスクで動いているシングルスレッドアプリは関係ないと 思うのが普通だと思いますよ。 >ここは質問者に回答する場です。 ですら間違った回答は訂正しないとダメですよね。 間違ったまま質問者の知識にしてはダメです。 >揚げ足を取る場ではありません。 >それぐらいいい大人なら理解するべきではないでしょうかね。 >ここのルールぐらいまともに理解できるようになってから参加しましょう。 >迷惑です。 >いい加減からみ癖もしつこいですね。 そのままお返しします。 あなたによって同じ事をされた方を 過去に何人も見てきました。

すると、全ての回答が全文表示されます。
  • cooci
  • ベストアンサー率29% (1394/4779)
回答No.4

いい加減からみ癖もしつこいですね。 マルチタスクには単純にふれていないだけです。 シングルスレッドのアプリケーション単体で速くならないというのは嘘ではないです。 嘘というのは『マルチコアは物理的CPUコアを複数を一つのCPUとして 扱う技術』と書くようなことを言うのです。 これが嘘でなければシングルスレッドのシングルタスクでも高速化されることになります。 マルチコアは分散して並列処理をする技術ですから、マルチスレッドなりマルチタスクなりでなければ高速化しません。 ここは質問者に回答する場です。 揚げ足を取る場ではありません。 それぐらいいい大人なら理解するべきではないでしょうかね。 ここのルールぐらいまともに理解できるようになってから参加しましょう。 迷惑です。

すると、全ての回答が全文表示されます。
回答No.3

#2 マルチスレッドと連呼していますが この意味を本当に理解していますか? >シングルスレッドは強化されないところです。 本当に意味を理解しているのなら こんな嘘は書かないでしょうね。 マルチスレッドはあくまで一つのソフトないで マルチタスクを行っているよう物です。 シングルスレッドのアプリでも OSさえマルチコアに対応していれば マルチタスクで恩恵を受けることができます。 あらやりながらこれをやりたいとか 複数のソフトを同時に起動して少しでも もたつきを減らしたいとかでも十二分に 役に立つでしょう。 マルチスレッドだけではなくて マルチタスクでも十二分にいいと思います。

すると、全ての回答が全文表示されます。

専門家に質問してみよう