dポイントプレゼントキャンペーン実施中!

64ビットの環境について(CPU、OS、アプリの関係)
まず、私はPCに関して詳しくはないという前提のもと質問します。64ビットのCPUのPCと64ビットOSの組み合わせで64ビットの持つ性能を引き出せる、というのが私の認識でしたが、正しいでしょうか?
と言いますのは、最近OSがVistaやWin7で64ビット版が広く出回るようになり、たとえばi7とWin7-64版のような組み合わせなども珍しくはないかと思います。そのインテルのi7シリーズは、x86つまり32ビットのCPUのようですが(byウィキペディア)、64ビットOSにしている意味があるのでしょうか?

・インテルにはIntel64とかいう技術があり、i7もそれの絡みで64ビットに相当するのかなとか、単なる憶測ですが。。。
・そもそも32ビットCPU―64ビットOSの組み合わせでもパフォーマンスを得られる??

それから、アプリですが、64ビット対応か否かの違いは大きいのでしょうか?身近な例で、MSWord2007は32も64版も無いですが64ビットも考慮した設計のため64ビット環境では動作が速い。一方MSWord2000は64ビットを考慮した設計になっていないため、64ビット環境でもパフォーマンスが発揮できない、とか。
64ビット環境と実行するアプリ側の関係を、どうだと性能が引き出せ、どうだと意味がない、どうだと逆効果などの具体例を挙げていただけるとありがたいです。

A 回答 (5件)

連続ですいません。


http://ascii.jp/elem/000/000/457/457279/
役に立ちそうな記事を見つけたので貼っておきます。

最後のページに64/32Bitの環境で、32Bitのベンチマークを行っています。
    • good
    • 0
この回答へのお礼

遅くなりましたが、ありがとうございました。
サイトも見て勉強になりました。一概にどちらがどうということではなく、仕組みが分かったのでよかったです。

お礼日時:2010/08/18 13:41

ANo.1です。



2と3のパターンでどちらが早いとは言えません。

デバイスドライバがどちらか(32bit/64bitどちらかが)最適化されていないといった状況や、WOW64との相性もありますので、
快適にWindows(x64)が動作している状態でWOW64の分を引き算した場合と、
デバイスドライバなどがちゃんと作られておらずイマイチの状態でWindows(x86)が動作しており、WOW64を経由せず32Bitで動作している場合など、いくつか考えられます。
また、CPUが何となく64Bitに対応しているイマイチの物だとネイティブ64Bitでも余計に速度が落ちるケースもあります。
Pentium4 Prescottの64Bitは遅いとか、聞いた事があります。ただベンチマークなどで調べたわけではないので。

現在は32Bitと64Bitがドライバにより差が着く事はあまりないと思いますが、今後64Bitが主流になればなるほど、メーカーは32Bitドライバに力を入れなくなってくるでしょうから、バージョンが違うという事も考えられます。
逆に以前は、64Bitドライバの開発が手抜きで32Bitは更新されたのに64Bitは古いままという事が何度かありましたし。

結論としては使用するPCとデバイスドライバ、アプリケーションとWOW64の相性によって異なる、という事になるでしょうか。

検索すれば参考になりそうな記事が出てくるかと思います。これは7βの記事なので、今よりは悪いようですが。
http://itpro.nikkeibp.co.jp/article/OPINION/2009 …
    • good
    • 0

下のお二人が、完璧な回答を出されて居ますので、その通りなのですが、


雑談的な要約をすれば…
--
従来は、或るOSの中で、別のOSを動かすには、バーチャルな(シュミレート的な)方法で動かして来ましたがWIN(7~他も)64bitCPUではシュミレートでは無く32bitのsoftを感知するとWOW64という機能がcpuを32bit用に切り替えます。
----
OSの中核に System32と言うフォルダが有りますが32bitのsoftは直接そこアクセスすることができず%systemroot%\SysWOW64へとリダイレクトされプログラムから見ると、System32 フォルダにアクセスしているように見える。
その為、32bitsoftと64bitsoftは同時に動かすことは出来ない。
---
私たちは普段(レジストリ)を意識する事は有りませんが、64bit用(レジストリ)と、32bit用(レジストリ)と言う別な管理がなされています。←重要。
-------
ベンチマーク・ソフトと言う、PCの性能を評価するsoftに依ると、必ずしも64bitsoftの方が早いとは限らないと言うデーターも出ています。(得手不得手)が存在するのでは無いだろうかと評するライター達も居るようです
    • good
    • 0

i7は、32bitを拡張させて64bit拡張した64bitのCPUです。


32bitのIntel CPUがx86と呼ばれていたことから、x86-64とも言われます。
というか、Windowsの64bit版は、CPUが64bitである必要があることから
i7で、Windowsの64bit版が動かせるって時点で32bitCPUではありません。
i7は、32bitCPUとしても、64bitCPUとしても使えるCPUということになります。

Intelは、これとは別に、純粋な64bit CPUを作っていましたが、
あくまでサーバ用途であり、一般向けではありませんでした。
CPUのブランド名は、Itaniumシリーズです。

もともと、Intelは、Itaniumを作っていたこともあり
一般ユーザー向けの64bit化は、必要ない(あったとしても、もっと遠くの未来)と
考えていたため、x86の64bit化には消極的でした。
IntelのライバルAMDが、x86命令と互換性のある64bitアーキテクチャ(通称AMD64)を発表し、Microsoftもこれに乗っかって、AMD64対応Windowsを作ると表明しました。
ライバルと、OSの最大手企業が手を組むことに危機を感じたIntelは、
慌てて、AMD64と互換のあるx86の64bit化したアーキテクチャを発表し
イヤイヤ対応させました。Pentium4の頃なので、意外と昔です。

当時のIntelのCPUは、ライバルや、Microsoftに流されて
付け焼刃的に64bit対応させたので
実は、32bitOSを使用した方がパフォーマンスがでました。
AMDのCPUは、発起人ということもあり、登場当初から
64bitOSの方がパフォーマンスを引き出せていました。

Core2や、Core iシリーズは、Pentium4を64bit化した時とは違い、
設計時から64bitを意識しているので
今なら、64bitの方がパフォーマンスが出ます。

>MSWord2007は32も64版も無いですが
32bit版/64bit版がないということは、32bit版ということです。
x86-32に対応したWindowsは、32bit/64bitどっちでも動くようにできています。
CPU自体が、両対応なので、所謂エミュレートという技法ではなく
直接CPUに32bit命令を投げているだけですので、パフォーマンスロスもありません。
余談ですが、先のItaniumは、純粋な64bitCPUとして設計されているため
32bit命令は扱えません。しかし、やっぱり既存アプリとの互換性があるので
エミュレートして動かす機能を持ってますが、所詮エミュレートですので
パフォーマンスは出ませんでした。
気になったら、ItaniumでWikipediaでも…。

32bitOSに4GB以上のメモリを積んでも3GB~3.5GB前後しか
認識しないのは有名ですが、Windowsが動かす各アプリケーションは
そのうちの2GBまでしか使えません。
これは、64bitOSで、32bitのアプリケーションを動かした場合も
この制約はついてきます。
現状、64bitに最適化されて嬉しいのは、この制約をとっぱらえるくらいですかね。
    • good
    • 0

i7はIntel64採用機種ですから、64BitCPUとなります。

x86にも対応していますので32BitOSも動作できます。
http://ja.wikipedia.org/wiki/Intel_64

> 64ビットのCPUのPCと64ビットOSの組み合わせで64ビットの持つ性能を引き出せる、というのが私の認識でしたが、正しいでしょうか?
64BitCPUの、例えばi7に64BitのOSを入れる事で64Bitをフル活用できます。
逆に32Bit専用のCPUに64BitのOSを入れようとしても、そもそも入れる事ができません。同じ理由で64Bit専用に設計されたソフトウェアは、32BitCPUでは動作しません。

> アプリですが、64ビット対応か否かの違いは大きいのでしょうか?
種類によります、1つのソフトで使用できるメモリが64Bitの方が大きいので、動画編集のソフトなどでは恩恵がかなり大きいようです。
実際Premiere Pro CS5は32Bit版が無いようです。(64Bitオンリー)
http://av.watch.impress.co.jp/docs/news/20100412 …

また、大量の演算を行う、圧縮ソフトなどでは64bit版と32Bit版を比較すると1.5倍近く64Bitが早いような事もありました。
これだけ速度差ができるとかなり大きいですね。

64Bitで高速になるソフトとそうでないソフトは、ソフトの処理内容、そもそもあまりCPUを消費しないソフトは64Bitになってもあまり変わりません。
また、ソフトの作り、丁寧に64Bitに最適化し、高速化されたソフトと、とりあえず64Bitでうごけばいいやと、64Bitのメリットをほとんど活用していないソフトでは速度は大きく違うと思います。

> 一方MSWord2000は64ビットを考慮した設計になっていないため、64ビット環境でもパフォーマンスが発揮できない、とか
32Bitソフトを64BitOSで動かした場合、そのままでは動かないのですがそれでは困りますので、WindowsにはWOW64という機能があります。
http://ja.wikipedia.org/wiki/WOW64
この機能が32Bitソフトと64BitのOSの間に入り、CPUへの命令を変換などする事で、動作するようになっています。
ただし、この機能はソフトウェアに対してのみ有効です。
例えば32BitのデバイスドライバにはWOW64が機能しないため、64Bit専用のものが必要です。

WOW64が間に入るため、32BitOSで実行したときより速度が落ちます。
ソフトによって異なりますが、2%~6%ほど低下するようです。
実際使用していますが、特に気になるほどではありません。高速化の恩恵の方が大きいですから。
    • good
    • 0
この回答へのお礼

3名の方にご返答いただき、横着してすみませんが、こちらで代表して皆様にお礼申し上げます。
とても丁寧な説明でCPUと32ビットOS,ソフトの関係などがすっきりつながりました。
インテルの64ビットCPU開発の経緯も、現在の64ビット化が主流になっている背景を理解するのに重要ですね。

書いていただいたお話から要点をかいつまみました。
・i7は、32bitを拡張させて64bit拡張した64bitのCPUです。
・Windowsの64bit版は、CPUが64bitである必要
・i7は、32bitCPUとしても、64bitCPUとしても使えるCPU
---32bitのソフトに対してもエミュレート無しに動かせるのでロスが無い (→これもWOW64上で動かすのでわずかなロスはあるようですね...)
---32bitのsoftを感知するとWOW64という機能がcpuを32bit用に切り替えます
64Bit専用に設計されたソフトウェアは、32BitCPUでは動作しません


今回、目からウロコだったのは、Core2Duo/Quadも「64bit対応」とのことを知ったことです。
i7ばかりに気を取られていましたが、Core2から既にインテル独特の拡張型64ビットCPUを実現していたのですね。道理でi7を含め64ビットCPUという類で中々検索に掛からなかった訳です。
64ビットCPUと称するのはAthlon64やItaniumまでで、今の主流CPUは自ずと64ビットに対応している両刀使いで、64ビットCPUという呼び方自体が交わされなくなってきているのですね。

最後に、SJHSF72さんに、確認させていただきたいのですが、

・・・WOW64が間に入るため、32BitOSで実行したときより速度が落ちます。
ソフトによって異なりますが、2%~6%ほど低下するようです。
実際使用していますが、特に気になるほどではありません。高速化の恩恵の方が大きいですから。

との事ですが、以下の構成でいうと、(2)と(3)はどちらが速いということでしょうか?

(1)i7―64ビットOS―64ビット向けアプリ(最も効率よい)
(2)i7―64ビットOS-非64ビットアプリ(WOW64を介して若干のロス、32ビットで処理)
(3)i7-32ビットOS-非64ビットアプリ(直接実行で(2)より速い?)

(2)では実質32ビット上で実行+WOW64のロスということで(2)の方が(3)より遅くなるかと思いますが、最後のお一言で、(2)の方が速いようにも見受けられるのですが。
ご面倒ですが、よろしければ、教えていただければと思います。

お礼日時:2010/08/09 22:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!