web-dev-qa-db-ja.com

33ビットCPUがないのはなぜですか?

CPUとオペレーティングシステムは、ビット数が8ビットから16ビット、32ビット、そして現在は64ビットに上昇しているのを見てきました。この変更は、CPUがアドレス指定できるメモリの最大量を増やすことであることを理解しています。

私が理解していないのは、なぜバスのサイズが常に2倍になるのかということです。バスサイズを2倍にするのは単なる恣意的/ビジネス上の決定ですか、それとも別の理由がありますか?

33ビットCPUがないのはなぜですか?または、それだけでは不十分な場合は、34ビットCPUですか? 64ビットは、アドレス空間でのそのような大規模で不必要な(高価な?)ジャンプのように見え、おそらく基盤となるシリコンの複雑さです。

9
localhost

私は12、14、15、17、18、20、24、および48ビットのCPUを見てきました。しかし、最新のVLSIテクノロジー(または今ではULSIですか?)では、データパスにビットを追加することはそれほど高価ではありません。チップ開発者は、チップにできるだけ多くの幅を詰め込みます。これにより、比較的少ない追加コストで、わずかなサイクルタイムのペナルティでスループットが向上します。

狭いデータパスとより速いサイクルタイムでより多くの速度/スループットを達成することははるかに困難です。

7
Daniel R Hicks

コンピュータの多くの状況とは異なり、たとえばアドレス指定では、アドレス長を1ビット増やすと、アドレス指定可能なメモリの量が2の累乗で増加します(メモリ内で2の累乗が一般的である理由)、実際の Word CPUのlength は、任意の便利な値にすることができます。

プロセッサの一般的なワード長(16、32、および64ビット)は、実際には8の倍数(2の累乗ではなく)として発生しました。もちろん、これらの特定の8の倍数も2の累乗ですが、8ビットは単一の最小サイズ char 、それ自体が一般的に使用される最小のプリミティブデータ型。

8ビット自体は不正確すぎて数値(またはUTF-16などの拡張文字セット)にはあまり役立ちません。8ビットを超えるワードを使用すると、それ以上の精度を使用する値を処理する際の効率が大幅に向上します。 、および8ビットの倍数(一般的に使用される最小のデータ型)は依然として自然な選択であり、無駄な未使用ビットを残すことなく、Wordに(2、4、または8などの)文字の整数値を格納できます。

単語に関するウィキペディアの記事には、セクション 単語サイズの選択 があります。

4