• 締切済み

CPUは何故、16bit→32bit→64bitと倍々になるのですか?

CPUの過去の進化を見ると、汎用レジスタサイズ(ALUサイズ)が    4bit → 8bit → 16bit → 32bit → 64bit と倍々に増えてます。 何故、倍々に増えていくのでしょうか? 例えば、48bitのCPUだとどういう不都合があるのでしょうか?

みんなの回答

  • kent85
  • ベストアンサー率52% (38/73)
回答No.6

#5さんの補足のような意見です。 CPUは汎用的なものでいたほうがいいんですよ。 ・CPUを新規開発するとソフト側も(開発機材、言語、OS、ミドルウェア等)諸々開発しなくてはならない。 →開発費の問題 ・特定業界の特定用途のために造るのはいいのだけれども、そうではなくて民生品向けであればCPUベンダーはそれを売らないと赤字になるので、売れそうにないものは造らせない。 全部が全部CPUで処理する必要はないわけで、 特定処理のためなら、専用のProcessing Unitを使うというか、そいつに処理を投げてもいいわけです。 ( GPU , DSP , FPGA , ASIC , etc... ) コンピュータはCPUの他にも、いろんなLSIをつかっていますよ。

noname#194317
noname#194317
回答No.5

別に48ビットでも56ビットでも、不都合という不都合はありません。ただ、メリットもあまりないと思います。処理ビット幅を拡大すると言うことは、次の二つのメリットを期待してやっているわけです。 1)より大きなデータを一度に取り扱えること 2)従来のデータを複数個同時に処理できること 世の中にあるデータはたいてい、8,16,32ビットの三種類が単位になっている場合がほとんどなので、中途半端なレジスタ長にすると、従来のデータを結局一個しか格納できず、拡大した意味が半減します。例えば32ビットデータの場合、64ビットレジスタなら二つ格納できますが、48ビットレジスタには一つしか入らず、16ビット分が余るだけになります。これだとレジスタ幅を拡大した意味は、48ビットのデータを取り扱えることの一点となりますが、そんなデータはあまりないので、じゃあ32ビットレジスタがもう一個あった方がうれしいよね、ってことになってしまいます。 結局のところ、世の中に存在するデータ幅を一番効率よく処理できるのは、データ幅の整数倍の幅をもつレジスタと言うことになります。ただ8の倍数なら良いというわけではないです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

ぶっちゃけて言えば「作るのが簡単」だから. 32 bit の ALU を 2個並べれば (あるいは 2回使えば) 64 bit にできる. 過去には 12 bit CPU とか (特殊だけど) 「1 bit CPU なるもの」もあったりしました.

noname#98828
noname#98828
回答No.3

大元が1と0の2進数だから、2の倍数が計算しやすいからです。

  • affecting
  • ベストアンサー率15% (14/92)
回答No.2

質問するなら自分で調べて分からないことを質問しましょう ネットで検索すればすぐ出ますよ メモリがなぜ128<256<512<1024Mb(1G) の意味は分かりますか? そのくらいのレベルです

  • ani00
  • ベストアンサー率37% (241/640)
回答No.1

処理数が倍のほうが計算しやすいから。 後はPCの仕組みを調べれ。 そんだけ。 できれば歴史もあと構造も

関連するQ&A

  • 7 32bit→10 32bitを64bitに

    Windows7 32bitがインストールされていたノートパソコンを Windows10 32bitにアップグレードしました。 メモリが8GBなので、 Windows64bitにしたいと思っているのですが、 無償アップグレードのようなもので、 32bitから64bitにすることはできますか? CPUがあまり速くないパソコン( 64bitには対応しているMB CPUです) なので、新たにWindowsを購入するのであればあきらめようと思っています。 できる手段があるとすれば、 クリーンインストールなどはすぐできます。 よろしくお願いします

  • SPARCのCPUは32bitなのか64bitなのか?

    isainfo -vの結果はOSがサポートしているbitですが、CPUのハードアーキテクチャではないですね。 SPARC(2)450MHzのCPUを使ってきましたが、それは64bitのCPUでしょうか? ありがとうございます。

  • 32bit と 64bitでは?

    Windows XP Proに32bit版と64bit版がありますが、もちろんbitが違いますが、64bit版の利点とはなんですか? また、64bitのOSを使用する場合はEM64対応のCPUを搭載しなくてはいけないのですか? CPUは64対応の方が早いのでしょうか? なにぶん宜しくお願いします。

  • 32bitのOSは64bitのCPUをフル活用でき

    32bitのOSは64bitのCPUをフル活用できなかったりしますか?

  • Windows7の32bitと64bitは何が違うんでしょうか?

    Windows7の32bitと64bitは何が違うんでしょうか? Windows7搭載機を購入しようと考えているのですが、32bitと64bitとOSがありますよね。 あれっていうのはどういう風に違いがあるのでしょうか? CPUと違ってbit数が2倍になったから処理が早くなるとは思えないのですが・・・ 私が認識していることとしては、ソフトの中で32bitでは使用できても64bitでは使用できないものがあるとかその程度。 あと、4GBのメモリーを載せていても32bitでは3GB程度しか認識しないと聞きましたがそうなんでしょうか? それは64bitの場合はどうなんでしょうか?

  • 64ビット、32ビットCPUについて

    質問しておいて申し訳ないですが 現時点でほぼCPU等の知識はありません。 コンピュータ概論という科目で勉強中の身です。 テキストを読んでいて気になったところがあるので質問します。 「32ビットCPUでは汎用レジスタが32ビット長で8本だったのが、64ビット対応のCPUでは64ビット長で16本と4倍に増えています」 という文面についてなのですが 最後の4倍というところが引っかかっています。 正直現時点で知識がなさ過ぎるので詳しい事を説明されても、余計こんがらがってしまうだけなのですが 単純に数字だけ見て、32ビット長が64ビット長に、8本が16本にでそれぞれ2倍なので 結果4倍という感じでしょうか? 後、以前ちょっと電源ユニットとマザーボードに関しての質問をしたのですが その際、テキストに載っている文面をそのまま載せたところ この文面は違うという指摘を受けました。 大学側が指定したテキストなので、このテキストを読んだ上でレポートを書くのですが 文面が間違っていると言われるとどうしたらいいものか… (ただ、その文面がある単元は、レポートを書くのには直接必要ないところではありますが) 本によって、記載されている事柄が真実とは多少異なるというのは普通にあることでしょうか? (教科書的なテキストの話です) ちなみに、テキストには 「A+B=C」と書かれていたのですが、(あまり他の可能性を含む的な言いまわしは使用されていませんでした) そこら辺に詳しい方からすると、 「A+B=CやD」だそうです。(もちろんA+B=Cとかっていうのは例です)

  • CPU

    最近のCPU(Athron64,core i7等)は64bit対応となっておりますが、これは本当にプロセッサの内部動作やALU等が64bitなのでしょうか?それとも実際の内部動作やアーキテクチャは32bitでありながら、仮想的に64bitアーキテクチャ(64bitのマイクロコード命令を持たせているだけ)を構成しているのでしょうか?ちょっと単語の使い方が厳密性にかける質問で申し訳ないのですが、ご教授のほどよろしくお願いいたします。

  • 32ビットCPUは物理、仮想メモリを含めて4Gまでしかメモリをもてないんですか?

    いくつか質問があるのでお願いします。まず、表題にあるとおり32ビットCPUは本当に物理、仮想メモリを含めて4Gまでしかメモリをもてないんですか? 【第一の質問です】  32ビットCPUでいう32ビットとは一般的にCPUのレジスタのサイズのことですよね。(もしかしたら、一度に32ビットのサイズでデータを処理できるという表現のほうが正しいのかもしれませんが,,)  で、次に第二の質問なんですが突き詰めると、このレジスタのうちのどこのレジスタが32ビットなんですか?  CPUが次に読み込むべき、メモリの住所(位置)をあらわす、いわゆるメモリアカウンタントのことですか?それともレジスタ全体そのもののことでしょうか? 【これが第二の質問です】  三番目は(1)の質問がYESだとする前提で質問を行います。  4Gという数字は2の32乗のことだというのはわかっているのですが、実際メモリが仮想メモリー(HDDへのスワップ領域)も含め4Gという容量で足りるのですか? いくらCPUの演算部で先に処理が完結したものからHDDに退避させるとはいえ、4Gという数字は少々、少なすぎる気がするんですがどうでしょうか? 【三番目の質問です】    答えられるものだけでいいので、教えてください。どうかお願いします。

  • 32bit 64bitに関する基礎的な事柄

    よくわかっていないことを質問させていただきます。 32bit,64bit用アプリ? 32bit,64bitとは、CPUが一度に読み込むことの出来るデータの量を言っているのだと思います。 つまり、OSは、当然、CPUが32bitであるのか、64bitであるのかを、きっと認識していて、 32bitCPUに対しての処理と、64bitCPUに対する処置を選択していると考えます。 アプリケーションレベルでは、OSに作業の指示を出すのであって、アプリケーションは、 PCがどんなCPUをつかっているのか、気にする必用はないのではないかと考えます。 しかし、現実には、そこらじゅうで32bit, 64bit用の言葉を聞きます。 これは、きっと自分が理解していることは、どこか、間違っているのだと考えます。 基礎的な事柄とは思いますが、よろしく、ご教示の程、お願い致します。

  • CPUのコアとは?

    デュアルコアCPUとかよく聞きますが、CPUのコアとは何を指すのでしょうか? CPUの構造でよく、 ・ALU ・レジスタ ・キャッシュ 等の言葉が出てきますが、コアとはALUのことですか? で、デュアルコアCPUはALUが2つで、それ以外のキャッシュ等が1つという構造、ということですか? それとも、上に挙げた単語等を合わせてコアというのでしょうか?(この場合、コア以外の部分とは何でしょうか?) (ちょっと話がずれますが) また、ALU等の言葉がありますが、これは本当にそのような物理的装置があるのでしょうか? それとも、それは概念的なもので、実際は何かべつのもので論理的に構築されてるだけ、ということなのでしょうか?