• ベストアンサー

CPUのビットの違いとパフォーマンスについて

質問は基本ビット数が多いほうが早いのか、他に犠牲にしていることはないのか、ということです。 20年ほど前(もっと前か)、8ビットのゲームパソコンが全盛の中、ぴゅうたという画期的なゲームパソコンが発売されました。 言語が日本語ベーシック。たしか「…行目に行け」とか「もし」とかそんな感じで入力するプログラミング言語だったと記憶しています。そのCPUはなぜか16ビット。16ビットの恩恵を受けることができる性能だったのかどうかはよくわかりませんが非常に驚きと疑問を感じたのを覚えています…、長くなりそうなのでやめます。 質問は以下です。1つ以上どれでもいいのでご回答お願いしたいと思っています。 1)ビット数は1クロックの命令でCPUに送信される情報の量だという認識を持っていますが、これはあっていますか? 2)このビット数を上げることによるデメリットというのは何かあるのでしょうか?何かを犠牲にしているとか、熱くなるとか、難しいとか。 3)現実問題として現在の32ビットの性能で不足しているというか足りないとい問題が発生しているのでしょうか?もしわかれば具体例も。 4)なぜ64ビットが製造され始めたのか。その背景。ニーズはないけどシーズができたから?すなわち作れる技術が確立されたから?時代の要請ですか? 5)ぴゅうたは16ビットの意味があったのか?使ったことのある人の感想とか思い出話でも歓迎。 いっぺんにいろいろ質問してしまってすみませんが、よろしくお願いします。

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

  • ベストアンサー
  • parts
  • ベストアンサー率62% (6366/10151)
回答No.6

1は、まあそういう見方で言えばそうですね。処理として言えば、一回に行える演算性能を指します。64bitは2の64乗となる18446744073709551616の数値を扱うことができるとということになりますね。メモリでは最大で16EBのメモリを実装できます。 ちなみに、32bitだと4294967296になり、メモリ実装値で表せば4GBになります。 2には、犠牲にするのは製造コストの増大、アーキテクチャの複雑化などがあります。それに伴い発熱も増えますが、これらは製造量や技術の発達よって削減することが可能です。 では、変えられない犠牲となるのは何かというと、ソフトウェア資産に対するパフォーマンスでしょう。64bitを生かし広域なメモリと64bitによるデータビット幅の恩恵などを受けるにはそれに対応したアプリケーションが必要です。 64bitを生かすにはそれを生かせる環境が必要なのです。 例えば、ABCDという独立した処理が32bitであったとしましょう。 それを64bitに対応させるとして、ABの二つに減らすことが出来ればパフォーマンスは向上しますが、理由がありまとめられず、機能は同じでそのままであればその効率は下がることになります。要はプログラミングの仕方一つで性能は変化することになり、生かすことも殺すことも出来ます。そして、プログラミングをするソフトもそういう最適化に対応している必要があります。 もちろん、OSの対応も必要で、32bitのソフトを64bitのOSでそのまま動かすと、WindowsならWOW64を噛ませて使う必要がありパフォーマンスは低下します。 また、必ずしも資産が移植できるとは限りません。64bitになるということは、その設計思想も拡張されることを意味するため、互換性をハードウェアに持っていても64bitのOS、ハードウェア環境では動作しない32bit資産も登場する可能性が高くなるのです。それらの点が犠牲になる部分です。 4は、最初に登場したのはDECのAlphaプロセッサですね。94年頃だったと思うが、これがRISC型ですが最初に登場した製品です。当時は、まだ時期尚早という話もあったとうるですが覚えています。理由はサーバでもまだ4GBのメモリに達していなかったことでしょうね。そして、何よりソフトウェア資産がまだ整っていませんでしたからね。 しかし、サーバ用として普及していき、長い間世界最速の称号を持っていたと記憶しています。今ではサーバやワークステーションでは64bitでなければ、メモリが不足するという事態がたびたび発生します。 これはニーズであるという回答がありますが、エンドユーザーにとってはニーズも何もないでしょう。今これが必要だと胸を張って言える人は、一般のパソコンユーザーの1割もいないはずです。むしろ、64bitすら何なのか分からないでしょう。512bitが出ているという人がいるぐらいですからね。(*ちなみにGPUの512bitはデータバス幅です。処理幅ではありません)そう考えると、エンドユーザーにとっては必要性よりも、技術ありきの必要性が後になります。 これは、Alphaでも当時は少なからずそうだったと思っています。ただ、それにニーズであるインターネット技術やマルチメディア技術が追いついてきた結果今に至ったのです。 ただ、はっきりと言えるのは今エンドユーザーにとってニーズはなくとも、数年後には時代にとって必要不可欠になるのは間違いないと思われます。まあ、全てのパソコンに必要になるのかは分かりませんけどね。 5はう~ん記憶にないな・・・

arakororin
質問者

お礼

>機能は同じでそのままであればその効率は下がることになります。 なるほど。私の理解をやや超えている部分の話ですが、なんとなく納得です。 >64bitになるということは、その設計思想も拡張されることを意味するため、互換性をハードウェアに持っていても64bitのOS、ハードウェア環境では動作しない32bit資産も登場する可能性が高くなるのです。 なるほど。面倒くさいですね。これならJavaとか.netとかはやる理由ですよね。 >エンドユーザーにとってはニーズも何もないでしょう。 >必要性よりも、技術ありきの必要性が後になります。 そう。ニーズがないのに買っちゃいました。 >*ちなみにGPUの512bitはデータバス幅です あ、違うんですか… 丁寧なご回答、どうもありがとうございました。

その他の回答 (5)

noname#17165
noname#17165
回答No.5

1)CPUのビット数は1サイクルタイムで演算可能な最大ビット数を示します。 2)一度に演算可能なビット数を増やすと演算回路がそれだけ複雑になっていきますので、 必要以上に増やせば回路の肥大化や、消費電力の増大といった点がデメリットが出てきます。 3)今の所、メモリ空間の不足が一番の要因ですが、科学技術系の計算や天文学では、 有効桁が多くなって困ると言った話が存在しないので、需要が高まれば増え続けます。 4)当然ニーズです。 何事でもそうですが、ニーズが見込めなければ商品化はありません。 (技術的には、GPUが512ビットに突入しています。) 5)ぴゅうたのCPUは、今で言うGPUで演算能力に関しては当時の8ビットCPUよりやや劣る レベルのものでした。 だから、16ピットパソコンというには無理が有ったといえます。 それでも、プログラミングが可能であったので、トイコンピュータとしては十分に使える 出来でしたね。

arakororin
質問者

お礼

>技術的には、GPUが512ビットに突入しています。 なにそれ?もう想像できませんね。ポカーンです。 >当然ニーズです。 そうですか。どこで求めらているのか少し疑問です。そして私も何で買ってしまったのか少し疑問です。まだまったく恩恵を受けられていないので。 参考になりました。ありがとうございます。

  • noranuko
  • ベストアンサー率46% (620/1332)
回答No.4

ちょっと4と3に追加。 PC用に使われている64bitCPU限定の話ですが、 32bitCPUでは、有る程度過去のCPUとのしがらみがあるので根本的な性能上の問題を解決することが難しかったりします。 なので64bitにするとき、そういった部分を解決できるように設計していたりします。 Athlon64の場合x86系CPUの弱点のひとつであるレジスタが少ないという点を、 64bit時には倍の数を使えるようにして対処しています。 これば命令コード(ソフトがCPUに命令するための信号)が変わらなければ対応できない問題なので、 64bit化しなければ解決できなかった問題であるといえます。

arakororin
質問者

お礼

む、コアの話はよくわからないのですが、何か理由があったのですね。ありがとうございます。

  • noranuko
  • ベストアンサー率46% (620/1332)
回答No.3

1)ちょっと違う。bit数はその桁数までの数値をCPUが扱えることを示します。 64ビットだと2の64乗までの数値を扱えます。 簡単に言うと、32bitCPUは約40億の数値まで計算できます。 64bitになると、約1600京までの数値まで扱えます。 これ以上の数値を計算するには、もう一ひねりする必要があるので速度が落ちます。 (まぁ40億以上の数値を扱うことはあるでしょうが、1600京という数値を扱うことはほとんどありえないでしょう) で、この数値はメモリアドレスを示すのに使われるため、 32bitのCPUでは4GBで、64bitは16EB(エクサバイト4GBの4G倍)まで扱えるようになります。 2)CPU側としてはハードウェアの回路が大きくなるので、十分に小さく作れるようになるまでは価格が高い。 -ので場合によっては32bitよりCPUに機能が詰め込めない場合も有る。 ソフトウェア側としては、CPUのコードが変わるので対応するソフトが必要になる。 (x86系のCPUは16,32,64とそれぞれ低いbitのコードも有る程度制限はありますが、 動作できるのであまり問題ではありません) 3)メモリの容量。 特にサーバーやワークステーション向けとしてはすでに4GB以上のメモリが要求されています。 4)結局のところ上で書いたように、サーバ、ワークステーション等が4GB以上のメモリを必要とし、64bitCPUが作られています。 そういったCPUをベースとしていたり(MacのPowerPC、IBMのサーバCPU,Powerがベース)、 そういったCPUのベースだったり(XeonのベースであるPen4、OpteronのベースであるAthlon64) するからです。 どちらにしろコンシューマ側としても将来的に4GB超のメモリを載せることができるようにはなりますから、 ソフト・ハードを普及させるにはそろそろ種をまいていないとまずいでしょう。 まぁマーケティング上の問題もあるかと思いますが。 5)意味があったかどうかは知りませんが、 当時(1982)は32bitCPUであるi386(1985)の発売前ですし、 PCとしてもWindows95が出るまで、ソフトの方も16bitでほとんどが作られていましたから、 16bitで問題なかったのでしょう。

arakororin
質問者

お礼

>32bitCPUは約40億の数値まで これだけ見ると、32ビットでは足りない気もしますね。 >意味があったかどうかは知りませんが 後発の8ビット機、ファミコンとかMSXとかに比べ低性能に見えたんで、でもあれはコンピュータ史に残る珍マシンだったと思います。 参考になりました。ありがとうございます。

  • JP002086
  • ベストアンサー率34% (1535/4403)
回答No.2

1についてですが、簡単に言うと「整数演算と行う際のビット数」と覚えて下さい。 2についてですが、32bitと64bitの処理の違いにより、アプリケーションをそのまま使うことが出来ません(完全に64bit専用にすると)。 3についてですが、現時点では特殊用途でしか使われていません。  それは、データバスの数やアドレスバスの数が32bitよりも多く、  適したアプリケーションを使っているならば高速に処理が可能だからです。 4については、2極化が考えられます。  1つは、3でも書いたとおり一気に大量データ処理を高速に行いたい。  もう1つは、1台で高速に複数処理を行いたいと言うニーズです。  前者は、インテルで言いますとItanium 2 プロセッサやXeonプロセッサ  の7000番台がそれにあたります。  後者は、Pentium プロセッサ エクストリーム・エディションがそれにあたります。 余談ですが、64BitCPUに最適化されていないアプリケーションを使うと どうなるか? と言いますと、32bitより遅くなる場合もあります。 これは、32bitをエミュレーションしなければならない機能が働くためです。 そのため、OSに関係なく動けるハード(特に、マルチ機能搭載の高速レーザープリンタなのですが)は、初めから特別に作られた64bitCPUを使っています。 あと、使われている所としては、特殊で高価なGPU(3D処理系のグラフィック・プロセッサ)を必要とする分野には、すでに入り込んでいます。 ご参考にどうぞ

arakororin
質問者

お礼

32bitから64bitへの以降は大事件なんですね。本当は。 あんまりメリットもないようですね。何でそういう方向に進んでるんですかね? 参考になりました。ありがとうございます。

回答No.1

1)についてはそういう認識でいいんじゃないでしょうか。 2)ビット数を上げるデメリットは周辺機器、ドライバが対応しない事ではないでしょうか。発熱等は技術進歩もありますから一概に言えないと思いますが。 3)32bitでは不足している性能って言ってもエンドユーザーにはあまり恩恵はない気がします。64bitでメモリーが4GB以上搭載できる等のメリットはありますが、現実に32bitで4GBものメモリーを搭載できるPCも市販ではまだ少数ですし、僕は4GBメモリー搭載可能なPCですが、そこまでは正直必要は感じません。(現状は1GB搭載です)また、未だ256MBメモリーのPCも堂々と販売されて、それを求めるエンドユーザーもいます。余程の高度な使用以外では必要はなさそうです。 4)作れる技術が開発され、販売政策としておいしいからじゃないですか? 3)でも触れましたがエンドユーザーはそこまで必要ではなさそうな気がします。メモリーだって今はまだ1GBのメモリーならばかなり値段もしますし、(ちなみに今のPCをBTOした時に4GBメモリーはそれだけでオプション価格は12万円でした)誰が付けるんでしょうかね?思わずメーカーに聞きたくなりました。(HDDの2TBで19万円はまだ許せますが、それだって乗せられるからBTOに入ってる気がしますよ) 5)そのゲーム知りません。ゴメンナサイ。(泣)

arakororin
質問者

お礼

勉強になりますー。ありがとうございました。 メモリの上限があるんですね…。サーバー機で必要になるのでしょうね。

関連するQ&A