• ベストアンサー

64ビットとは

最近のOSには32ビットと64ビットのものがあるように思えますが異なるものですか? 64ビットのCPUのパソコンにWindows 7をインストールする場合はWindows 7のインストーラが64ビットのものでないと使えないのでしょうか? 32ビットのCPUのパソコンに64ビットなどと書かれているOSをインストールした場合一般的には使えないのと32ビットで動作するのとどちらになりますか?

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

  • ベストアンサー
  • foomufoomu
  • ベストアンサー率36% (1018/2761)
回答No.3

現在は、大部分のCPUが64ビットになりました。これは32ビットの機能も持っています。(上位互換機なのです)。したがって、64ビットのCPUでは、64ビットのソフトも、32ビットのソフトも動かすことができます。古い32ビットのCPUでは、32ビットのソフトしか動きません。 では、64ビットのソフトと32ビットのソフトとは何が違うかというと、CPUの64ビット機能を使うように作られているのが64ビットソフト、32ビットの機能だけ使うのが32ビットソフトです。 OSの64ビットと32ビットの違いは、まず、OSもソフトウェアなので、前記の64ビットソフトと32ビットソフトの違いがあります。同時にCPUと同じように上位互換性があり、64ビットのOSは64ビットのソフトと32ビットのソフトを動かすことができますが、32ビットのOSは32ビットソフトしか動かすことができません。 以上が、たてまえなのですが、 CPUの上位互換性は完璧なので、前述の通りですが、 OSは必ずしも上位互換性が完璧とはいえません。少数ですが、32ビットソフトの中には64ビットOSでは動かないものもあります。そのソフトのメーカーが健在なら、たいてい64ビット版を出しているので、それを買えば問題ありません。 メーカーがつぶれてしまったソフトで64ビットOSで動かないものを使う必要があるときは、64ビットOSは使えないことになります。 あと、ハードウェア(ディバイスドライバ)の互換性についても考える必要があります。 ディバイスドライバは、ほとんどの場合、32ビットと64ビットの互換関係がありません。OSのビット数とディバイスドライバのビット数が一致している必要があります。新しい機器はたいてい問題ありませんが、古い機器の場合、64ビットのディバイスドライバが作られていないことがあります。

emaita
質問者

補足

64ビット用のCPUというのは64ビットでも32ビットでも使用可能なものという意味だったんですね。 OSの方は必ずしも64ビットの方が優れているとは限らないということですね。 ありがとうございました。

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

その他の回答 (4)

  • Shin1994
  • ベストアンサー率22% (551/2493)
回答No.5

No.1です。 間違ってはいません。かつては、別々でした。(amd64とか)でも最近は、「めんどくせぇから統合しようや!」みたいな感じかはわかりませんが、両者の統合しどちらにも対応できるCPUが主流です。

emaita
質問者

お礼

インテルのCPUでないものなら32ビットでは動作しない64ビット専用のCPUも存在するんですか。 注意して見てみようと思います。 ありがとうございます。

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

CPU側からみたOSの64bitと32bitの違いは次の通りです。 Q/最近のOSには32ビットと64ビットのものがあるように思えますが異なるものですか? A/64bit版は32bitの上位レジスタが利用できるOSを意味します。32bitなら2の32乗までの演算を一度(1クロック)で行うことができます。64bitでは2の64乗までの演算を1回で行えるのです。電卓でいうと、8桁の数字液晶画面があるものと、16桁の数字液晶があるもののような扱いです。 ・恩恵のある具体的な違いとしては、 ・4GB以上のメモリ空間が使え、最大で16EBまでのメモリ空間を認識可能。(ただしOSの対応と、x64プロセッサ及びEFI/BIOS/メインボードの対応が必要) ・GPTドライブとして2,1TBを超えるハードディスクをOSをインストールするドライブとして利用可能。(別途EFIの対応が必須) ・8本の追加レジスタを利用し、演算効率をより高めることが出来る。 ・SSE2命令に標準で対応する。 ・64bitアプリケーションを使うことができる。 これらが一般的な違いです。 Q/64ビットのCPUのパソコンにWindows 7をインストールする場合はWindows 7のインストーラが64ビットのものでないと使えないのでしょうか? A/現在のwindows7に使われるCPUは、x86と呼ばれる技術(アーキテクチャ)をベースにしています。 この技術は、米Intel社が開発したもので、それをAMD(アドバンストマイクロデバイス)社が、64bit処理に対応したものに拡張したのが現在の64bitOSが使えるCPU技術です。 このプロセッサは通称x64(正式名はAMD64)と呼ばれ、64bitで動作するLong Mode、32bitで動作するLegacy Modeが登載されています。64bitで動作しているときには、64bitで動作する追加レジスタ8本も利用することができます。そのため、64bit最適化された命令なら32bitで作られた(コンパイルされた)同じ命令機構より高速に演算できる場合があります。また、メモリ空間も多くの割り当てが可能です。 このLong Modeでは、32bitの命令をCompatible Modeと呼ばれるモードで演算することも可能です(OSが対応している必要があります)。Windowsの64bit版でこのコンパッチブルモードを使うと、メモリの制約が3.25GBから4GBフルまで使えるようになるという利点が生まれており、64bit環境で動作可能な32bitアプリケーションであれば、32bitネイティブのOSよりも、高速に動作することがあります。 Legacy Modeでは、100%の32bit互換x86モードで動作します。その代わり、64bitで動作する追加レジスタは使うことが出来ないのが特徴です。メモリ空間なども、32bitの上限に引き摺られるのが一般的です。このモードは32bitOSをインストールしたときに自動的に認識し動作します。 よって、64bitCPU環境では32bitのOSもインストールできます。 Q/32ビットのCPUのパソコンに64ビットなどと書かれているOSをインストールした場合一般的には使えないのと32ビットで動作するのとどちらになりますか? A/64bitのOSは、32bitのCPU(中央演算処理装置)で実行するとオーバーフロー(桁あふれ)を起こすため、実行出来ません。これは、先に述べたように電卓と同じです。 OSだけで見た32bitと64bitの違いとして、まず64bitのwindowsは、32bitとは少し異なる設計が一部に行われています。32bitより堅牢なプログラムとなっているのです。さらに、追加レジスタに最適化されています。 使う側が感じる特徴的な部分は64bitでは32bitアプリケーションをWOWでエミュレートするという違いがあります。 64bitOSと32bitOSで動作するアプリケーション互換の話も出ていますが、これは、CPUのアーキテクチャの違いによる物ではなく、windows機構上のエミュレータの問題です。 32bitで設計されたアプリケーションは、元々64bit向けのソフトではないため、先に書いたCMとWOW64の組み合わせで動作します。WOW64というのは、Windows On Windows64bitの略で、32bitのソフトを64bitに見せかけるための仕組みです。32bitのソフトが起動されたと識別されたら、windowsは、それに登録されているプログラム関数を確認し、標準のライブラリに属すると判断されれば、それを64bitの代替コードとすり替え実行します。 これが、WOW64と呼ばれる機能です。これには欠点があり、ライブラリに存在しないコードは、実行時エラーになることがあります。即ち、起動できないケースがあるのです。 今でも大半のアプリケーションは32bitで設計されていますから、これまで使っていたアプリケーションの動作はしっかり確認して64bitOSをインストールする必要があるでしょう。 尚、ハイパーバイザーやXPMなどでゲストOSとして32bitOSを入れれば、100%、32bitアプリケーションを動作させることも出来ます。この場合は、ハードウェアドライバなどの問題がなければ、100%32bit環境をエミュレートできます。 アプリケーション側からみると、64bitはコンパイルの違いです。 最近は、コンパイラがある程度自動的に32bitプログラムを64bitに、翻訳する技術を備えているケースもあるため、必ずしも設計ががらっと変わるとは限りません。記述した最初のコードは同じでも、最終的に機械語翻訳(コンパイル)の段階で、コードが64bit化できるケースもあります。 64bitにすることで、より多くのメモリや追加レジスタが使えますが、必ず速度に有利とは限りません。プログラムの大きさによっては、32bitでも64bitでも速度は大差ないことも、しばしばあります。これは、電卓に1+1をさせようが、10+10をさせようが、コンピュータにさせようが同じということです。 桁が少なく簡単な計算なら、そもそも64bitの恩恵は少ないですからね。 プログラミングをする場合は、どの環境で使うのかが大事です。32bit環境をこれからも使うなら、32bitで設計し、64bitでも動作することを確認するのが良いでしょう。64bitでメインに使い大量のメモリを消費するなら、64bitが良いでしょう。ただし、64bitの場合は、32bitOSでは使うことが出来ませんので注意が必要です。 いかがでしょうか?

すると、全ての回答が全文表示されます。
noname#242220
noname#242220
回答No.2

簡単に言えばPCのメモリを管理している所の動作が64か32ビットの違いでしか無いでしょうね。 OSの構成上『シェル&カーネル』と言う部分が有りますが、64か32を判断して動作出来る様な造りなら、どちらのOSでも使えますね。 (Macはこの造りに成ってます) CPUがインテルコア以上は64ビットCPUです。 Windows7の64ビット版をペンティアムCPUにインストールする為にはメモリの搭載量等が不足しますから、インストール自体出来ないと考えます。 組み込み用Windows7(32ビット)なら旧来のCPUにインストール出来る。

emaita
質問者

お礼

Windows7のインストールを検討中のパソコンのCPUはペンティアムです。 32ビットのWindows7でないとインストールできないということですね。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • Shin1994
  • ベストアンサー率22% (551/2493)
回答No.1

最近のOSには32ビットと64ビットのものがあるように思えますが異なるものですか? >全く違います。プログラムの作り方が多少異なるそうです。 64ビットのCPUのパソコンにWindows 7をインストールする場合はWindows 7のインストーラが64ビットのものでないと使えないのでしょうか? >現在の所、パソコン自体には32bitと64bitの違いはありません。発売されているCPUは概ねみんな両方に対応してます。インストールに関してはいうまでもなく、64bitを入れたい時は64bitのWindows7が入っている方を使います。 32ビットのCPUのパソコンに64ビットなどと書かれているOSをインストールした場合一般的には使えないのと32ビットで動作するのとどちらになりますか? >先ほども申し上げたとおり、現在のCPUは両方に対応していますのでこういった問題は起こり得ません。Core2シリーズ以前なら、チェックが必要です。双方とも全く違うつくりなので、32bitCPUで64bitとかは多分無理ですよ。

emaita
質問者

お礼

64ビット用のCPUがあると聞いたのでこの質問をしました。 その情報がまちがっていたみたいですね。 ありがとうございました。

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

関連するQ&A