第10回 Windowsの32bit/64bitの違い


電気屋さんへ行くと、同じWindowsのバージョンでも「32bit版」と「64bit版」の2種類があることに気がつくと思います。
Windows8であれば「Windows10 32bit版」「Windows10 64bit版」のように表記されていますね。

XPころの主流は「32bit版」でしたが、Windows7がひとつのインストールディスクで 32bit / 64bit の両方をサポートしていたお陰で64bit版のOSが現在急速に普及しつつあります。今の主流は64bit版と言っても良さそうです。

店員さんに聞いてみると「64bit版OSの方が性能がよい」と答えてくれます。実際数値も大きいので何となくそう思っている方も多いでしょう。しかし、漠然と「64bit版OSの方が性能がよい」と考えている人がほとんどだと思います。

そこで今回の記事は、32bitと64bitが具体的にどうゆう性能の違いがあるのかを解説していきたいと思います。

32bitと64bitの違い
▲Windows 7 Home Premium の32bit版インストールディスクと64bit版インストールディスク

bit(ビット)とは?

まずは「bit【ビット】」という単位について話します。
コンピューターを学ぶときは知っておかないとお話にならない大事な単位のひとつです。

「bit(ビット)」とは、コンピューターが扱う情報の最小単位のことを指します。

コンピューターが使う情報とは「0」と「1」のどちらか二択のみです。「2進数」と呼ばれるものです。
これは、回路を流れる電気の電圧の変化(高いか低いか)で ON/OFF を切り替えていることに由来しています。一見不便に見えますが、単純化されているため逆にエラー等が起きにくくなり効率的な計算を行うことができるようになっています。

この二択の情報のうち、ひとつを特定するのに必要な情報を「1bit」と定義しています。

ビット数
▲ビットと情報量について。1bitならば「0」または「1」の情報が扱えます。

一般に、nビットの情報量では2のn乗個までの選択肢からなる情報を表現することができます。
例えば、2bitになると「00」「01」「10」「11」と4種類の情報を表すことができます。1bit増えるごとに扱える情報量は2倍になっていきます。

現在使用されているローマ字(26字)は5bit(=32通り)あればすべて表すことができます。

このローマ字から更に日常的に使う記号を加えたものをすべて2進数で表すには、8bit(=256通り)あれば十分足りるということで、この「8bit」がひとつの基準となりました。

それが 8bit を 1 とする単位、バイト【byte:B】です。

8bit=1byte

バイトは皆さんも馴染みのありますね、「データ容量」の単位です。
例えば、画像一枚で100kBあったとすると

100,000 × 8= 800,000 bit

と、なんと80万個にも及ぶ0と1の羅列で成り立っていることがわかります。1GBとかを考えると途方もない数になります。コンピューターはこれだけの数字を常に扱っているのです。計算能力で人間を圧倒するわけですね。(※実はこの計算若干の誤差があります。詳しくはこちらの記事にて。)

ビットとバイトの関係

bit と Byte の関係をまとめると以上の画像のようになります。

縦の1列が 0 と 1 のどちらかを決める「1bit」の情報です。それらが8列あると「1Byte」の情報となります。

コンピューターは2のn乗がキリのよい数字

コンピューターは1bit、つまり 0 か 1 という2進数の世界を得意としています。
よって2のn乗で表す数字にはとても強いです。

私たち人間は(確かな根拠は無いようですが)指が両方に10本あることから、0~9を扱う10進数を採用し生活に役立てています。なので10のn乗(100、1000・・・)はとても扱いやすいですね。

しかしこの10という数、2のn乗で表すことができないのでコンピューターは10進数を非常に嫌います。
10進数だと、コンピューターが得意としている2進数や16進数(0~9とA~Fの16字で数える)に変換する際にかなり余計な手間がかかるからです。(2進数と16進数は相互変換しやすい)

なので、コンピューターに関する数字には2のn乗で表すことができる数字がほとんどです。
ネットやお店などで、「512(2の9乗)」や「1024(2の10乗)」など一見すると中途半端な数字が使われている商品が多くありますが、それらはすべて2のn乗で表せる数値で、コンピューターがキリの良い数値として扱いやすいからです。

価格ドットコムのUSBフラッシュメモリのページ

▲価格.comのUSBフラッシュメモリのページ。
「2GB」は2の1乗、「8GB」は2の3乗、「32GB」は2の5乗、「64GB」は2の6乗と数値部分はすべて2のn乗で表せる数値になっている。

簡易版 32bit版と64bit版のWindowsの違い

さて、少し前置きが長くなりましたが本題に入ります。マイクロソフト公式サイトのQ&Aはこちら

詳細な解説は一度置いておいて、両者の違いについて簡単に表にしてみます。

  32btb版 64bit版
ビット幅 32bitで制御できます。
2の32乗 通り の情報を格納できます。
64bitで制御できます。
2の64乗 通り の情報を格納できます。
メモリ上限 どのOS、エディションでも 4 GB が上限です。 OSやエディションにより 4 GB 以上を扱えます。
ドライブ容量上限 通常、HDDなどの記憶ドライブは 2 TB までのものを扱えます。 フォーマットにより 2 TB 以上のドライブを扱えます。
ソフトウェア資源 多くのソフトウェアが動作、利用できます。 まれに64bitOSに対応していない、動作しないソフトウェアがあります。

通常は64bit版Windowsがおすすめ

ほとんどの状況において、現在は64bit版Windowsがおすすめです。
この記事の内容が「よくわからない」という場合は、64bit版Windowsを選んでおけば問題ないかと思われます。

家電量販店のパソコンコーナーでも、現在主流は「64bit版」です。これで通常大きな不都合はないはずです。

ただし、文書作成やインターネットの閲覧、動画・音楽の試聴などがメインの利用方法であると、32bitでも64bitでも処理の速度に大きな違いがない場合もあります。また、スペックが低いモバイルPCなどは32bit版Windowsがよい場合もあります。利用状況により敢えて32bit版を選択することもありでしょう。

CPUが扱える情報量が異なる

それではここから少し技術的な解説をします。

CPUが一度に扱うことができる情報量はOSのビット数により異なります。64bit版のOSの方が一度に処理できるデータの幅(ビット幅)が64bitになるため、一気に多くの処理をCPUが行うことができます。

32bit版Windowsの場合

32bit版Windowsの場合、CPUの扱えるデータの幅も32bitで制御するので 2の32乗 の情報、
つまり「0 ~ 4,294,967,295」の範囲、4,294,967,296 通りの情報を一気に格納させ計算できます。

64bit版Windowsの場合

64bit版Windowsの場合、CPUの扱えるデータの幅を64bitで制御できるので 2の64乗 の情報、
つまり「18,446,744,073,709,551,616 通り」の情報を一気に格納させ計算できます。

64bit版に対応したCPUをフルに使うためには、プログラムも64bit用に設計する必要があります。

完全に64bitに対応したソフトウェアを64bit版のOSで使用していれば、32bit版のOSよりも高速に処理を行うことができるでしょう。特に画像、動画編集をがっつりやる人や3DCGソフトなどを利用する人は、64bit版対応ソフトの利用で大幅に処理速度を改善できます。

ただし、64bit版Windowsではまれに32bit用のソフトウェアが利用できないという状況が発生します。特に古いプリンターなどが利用できない状況が発生しやすいです。また、軽い作業の場合は64bit版にしたところで処理速度はあまり変わりません。古い機器やソフトウェアを確実に利用したい場合は32bit版Windowsの利用も考えます。

使用できるメモリ容量が異なる

よく言われる違いがここですね。影響も大きいのでしっかり覚えておきましょう。

32bit版Windowsの場合

32bit版OSではメモリを最大で 4 GB までしか扱うことができません。
32bit値のサイズがこれ以上受け付けないことが原因です。

32bit版OSの場合の利用可能メモリ総量

▲上記式がその理由を表したものです。(1024で割っている理由は後述)

CPUがメモリを使用するために「番地」のようなものを作ります。「アドレス」といいますが、32bit版Windowsでは上記の計算で4,294,967,296個のアドレスを管理できます。そして現在、1つのアドレスに対して 1 B を割り振っています。つまり、4,294,967,296個のアドレスそれぞれが 1 B の容量を持っている、合計で 4 GB しか扱えないことがわかります。

しかも、4G B という数字はWindowsが扱うことができる最大値であり、実際はシステムで必須の機能に数百 MB 程度のメモリ領域を使用するため、私たちが自由に使うことができるメモリ容量は最大 3~ 3.5GB 程度になってしまいます。

最大容量を超えたメモリを搭載しても、余った領域は通常使うことはできません。

64bit版Windowsの場合

64bitの場合は、OSが扱えるメモリ最大容量が32bitと比べて大幅に大きくなっています。
先ほどと同じように計算してみましょう。

64bit版OSの場合の利用可能メモリ総量

▲32bitと同じく計算してみると、なんと約171億GBまでメモリが使えてしまう計算になります。

と言っても、これは理論値であって実際はここまで扱うことはできません。ある程度制限をしないとハードウェア側で扱いきれなくなるからです。Windows 7 Home Premium 64bit版では「16GB」、Windows 7 Professional以上のエディションで「192GB」、Windows 8 Proでは「512GB」まで、Windows 10 Proを利用している場合は「2TB」まで扱うことができます。

ここまで大量のメモリが必要になるのは業務用のサーバー機くらいですが、4GB以上のメモリ領域を扱える恩恵は多くの場合で有利になるかと思います。

OSとエディションごとの利用可能なメモリ上限は下記の通りです。

Windows バージョン 32bit Editions 64bit Editions
Windows Vista Home Premium 4 GB 16 GB
Windows Vista Business, Enterprise, Ultimate 4 GB 128 GB
Windows 7 Home Premium 4 GB 16 GB
Windows 7 Professional, Enterprise, Ultimate 4 GB 192 GB
Windows 8 4 GB 128 GB
Windows 8 Pro, Enterprise 4 GB 512 GB
Windows 10 Home 4 GB 128 GB
Windows 10 Pro, Education, Enterprise 4 GB 2 TB

▲詳細なリストはMicrosoft公式ページを参考にどうぞ。

コンピューターで使われるSI接頭語は正確な倍数表記ではない

さて、ここで「1024」という数値で割っていることに疑問を持たれたかと思います。

数値が大きいものはSI接頭辞を使って短く表現することが可能です。「K(キロ)」「M(メガ)」「G(ギガ)」などがそれです。1キロメートル(km)は1000メートル(m)と同義ですね。倍数表記を簡略化するために考案されたもので、日常でも頻繁に利用されます。

データ容量でも使われているので、ByteからGByteに直すためには 1,000,000 で割ればいいのでは?と普通は考えます。しかし、実はこの計算では誤差がでてしまうのです。

上の「コンピューターは2のn乗がキリのよい数字」でも書いた通り、コンピューターは 0 か 1 の2通りで情報を扱います。つまり計算方法は2進法を採用しており、この関係で本来10のn乗を表すSI接頭語を使うと誤差が生じてしまうからです。

これに関しては混同されないよう専用の接頭語が定義されました。
「2進接頭辞」と呼ばれるもので「キビ (kibi)」や「メビ (mebi)」と書きます。こちらは 2の10×n乗 で倍数表記をしていくので、正しくデータ容量を表せるようになっています。なので、上記計算式では「2の10×1乗(1024)」で割っているのです。馴染みのあるSI接頭辞で表現しましたが、正しくは「4 GiByte」と表現しなくてはいけません。

別記事にて詳細を書きましたので気になる方はどうぞ。

ただ、Windowsでは変わらずSI接頭語を使うため誤差が生じてしまい、例えば1TBの外付けHDDが「931GB」と認識されてしまうという問題が発生しています。

使用できるHDD容量が異なる

メモリ容量だけでなく使用できるHDD(ハードディスクドライブ)の容量にも違いがあります。

32bit版Windowsの場合

32bit版Windowsでは、通常最大2TByteまで(正確には2TiByte)の容量を持つHDDを扱うことができます。

記憶装置における最小の記録単位は「セクタ【sector】」といいます。ディスクのアクセス方式に使われるLBA【Logical Block Addressing:論理ブロックアドレス】というシステムは、HDDの各セクタに対して管理番号(通し番号)を割り振ります。これはデータの位置、最初のセクタから何番目かを示す数値となります。

現在主流のセクタサイズは 512B となっています。そしてLBAも同様に、アドレス指定が32bit(32bit LBA/10バイトCDB)になっているため約 2TB で上限が来ることがわかります。

32bit版OSにおける記憶装置の最大容量

64bit版Windowsの場合

64bitのファイルシステムであれば理論上で 約 16000000 TByte = 16 EByte(エクサバイト) まで扱うことができます。もちろん理論値で、こんな大容量の記憶装置は一般向けには発売されていません。(LBAは現在48bitまであるので、やろうと思って実装できるのは144PBまで。)

HDDの容量上限問題ですが、この問題は制限を受ける要素が複数あるのでOSだけの問題ではないこともあります。

Cドライブ(システムドライブ)以外だったら、32bit版OSでも2TB以上のHDDを扱うことができる場合があります。HDDのフォーマット(MBR方式/GPT方式)によっても上限値が変わってきます。また、HDDの規格(512/512e/4Kなど)によっても扱うことができる上限値に変動があります。そして、Windowsのビット数だけでなく、バージョンによっても適切なものがあります。

正直かなり複雑になっているので、この問題に出会ってしまったら詳しい方に相談したほうがよいかもしれません。

現在使用しているOSはどうなのか

現在自分が使用しているOSは32bit/64bitどちらなのかを知りたい人は「コントロールパネル」の「システム」で確認出来ます。

ビットの確認
▲クリックで拡大

「システム」の項目にある「システムの種類」で「32ビット オペレーティングシステム」と書かれていれば32bit版Windows、「64ビット オペレーティングシステム」と書かれていれば64bit版Windowsです。

64bit版Windowsを選んだ方がよい例

64bit版Windowsの方が有利になる場合とは、主にメモリを多く使うソフトを利用しているかどうかです。

メインメモリを多く利用するソフトウェアの利用

先ほど解説した通り、32bit版Windowsではメインメモリを「4GB」までしか認識できません。システムが利用しているものもあるので、実質3GB程度です。また、1つのソフトウェアが利用できるメモリ量は 2GB までという制限もあります。

64bit版Windowsと64bitに対応したソフトウェアを使えばこれら制限は無くなります。とにかく多くのメモリ領域を必要とするソフトウェアの利用を考えている場合は64bit版Windowsがおすすめです。

特に動画・画像編集ソフトや3DCGソフトウェアなどが該当します。編集中のレスポンスやレンダリング速度などが桁違いに早くなる場合があります。これらソフトを利用したい場合は64bit版Windowsを利用したほうがよいでしょう。

ソフトウェアの多重起動

また、ソフトウェアを多く同時に起動したい場合も多くのメモリ領域を必要とします。特に文書作成などで広く利用されているMS Officeですが、このソフトウェアは意外にメモリ食いです。これを単体で利用している分にはそこまで大きな影響はありませんが、これと一緒に別のソフトウェアが同時に起動しているとメモリ4GBではやはり不足してきます。

そういった方は64bit版Windowsでメモリ4GB以上搭載のパソコンがおすすめです。

UEFIブートの利用

通常 32bit版Windowsは、UEFIブートに対応していません。これらを利用する「高速起動」「セキュアブート」などの機能も使えなくなるので、こういった機能を使いたい場合は64bit版Windowsを選ぶ必要があります。セキュリティも全体的に64bit版Windowsの方が優れています。

32bit / 64bit どちらでも問題ない場合

そもそも搭載されているメモリが 2 ~ 4 GB程度でこれ以上増設する予定がなければ、32bit版と64bit版で大きな動作の差はありません。

パソコンの利用が「インターネットの閲覧」「文書作成」「写真の整理」「動画、音楽の試聴」程度の利用しかなければどちらでも大きな差はありません。このような利用目的であれば、買い替える際に32bit版と64bit版を気にする必要はないでしょう。安いパソコンで大丈夫です。

特に中古パソコンには32bit版Windowsが搭載されていることが多いですが、以上のような利用を想定している場合はOSのビット数はあまり気にしなくても大丈夫です。

32bit版Windowsを選んだ方がよい例

最近は敢えて32bitを選ぶ理由も少なくなりましたが、以下の様な方は32bit版を選ぶほうがよいです。

古いソフトウェア、機器を確実に動かしたい

64bit版Windowsでは32bit版ソフトウェアの一部が動作しないことがあります。特にスキャナーやプリンタードライバー、TVチューナーは古いものだと64bit版の開発もされておらず64bit版Windowsでは動かないことが多いです。また「セキュアブート」などの機能が、デジタル署名のないプログラムの実行にかなりの制限をかけています。

64bit版Windowsには32bit版のソフトウェアもある程度動かせるように「WOW64」という機能が搭載されています。多くのソフトウェアはこれで動かすことができますが、一部ソフトウェアはどうしても動かせない場合があります。

こういった過去のソフトウェア資産や機器を確実に運用したい場合は、64bit版でも動作するか事前に調査してから64bit版へ移行するか、32bit版Windowsの利用を継続する方がよい選択となります。

性能の低いパソコンを利用する場合

全体的に性能が低いパソコンでは、32bit版Windowsの方がよいパフォーマンスを得られることがあります。特にHDDやSDDの容量が100GBもない場合や、メモリが 2GB ~ 3GB しかないパソコンの場合は、逆に64bit版Windowsの方だと余計なリソースを使い動作に影響がでる場合があります。

32bit版ソフトウェアをもっと活用したい

32bit版のソフトを使う場合、実はほんの僅かではありますが32bit版Windowsの方が処理が早いです。64bit版Windowsでも動くけど、もっと早く処理させたい場合は敢えて32bit版Windowsを利用するということもありです。とはいっても劇的な差はないので、そもそもメモリ制限がきついと感じる場合は素直に64bit版Windowsを利用する方がよいかと思います。

この記事のまとめ

以上、ちょっと専門的なことも書いていますがこれで 32bit版 /64bit版 Windowsの違いを大まかに解説できたと思います。

64bit版OSもかなり普及し、最近のWindowsが搭載されているパソコンではほとんど64bit版かと思われます。よく分からなかったら、64bit版Windowsを選んで4GB以上(できれば8GB以上)のメモリを搭載したパソコンを選んでおけば長く安定した利用が期待できます。ただ、32bit版OSは今までの主流であったものですから、まだまだ世の中には32bit版Windowsもたくさんあります。そん中、違いが分かれば新しくOSやパソコンを購入するときもそこまで迷うことなく購入できるでしょう。

  • 32bit/64bit Windowsの違いを理解する。

この記事も何かの為になれば幸いです。

余談ですが、この記事で紹介していることは、突き詰めるとかなり専門的なことになってきます。
簡単にするため色々端折っているところがあり、必ずしも正確な表現ではないところも多々あります。一般的な知識としてはこの記事の内容で問題ないかと思いますが、専門的に勉強したいという方は専門書等の購入をおすすめします。