• 締切済み

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