2016-05-31 5 views
1
  1. PCのメモリアドレスが常に バイト(8ビット)を指していることを確認できますか?
  2. 浮動小数点数が32ビットである必要がある場合、 を表すために コンピュータは4連続バイト(合計32ビット)を割り当てますか?
+0

バイトの代わりに単一ビットをアドレス指定すると、すぐに実効アドレス空間を8倍に減らすことができます。なぜあなたはそれを望んでいますか? – Leeor

答えて

2
  1. はい、メモリアドレスは常にバイトアドレスが含まれています。私は、ビットレベルのアドレッシングをサポートする単一のCPUアーキテクチャを考えることはできません。

  2. CPUのネイティブ浮動小数点は、常にシーケンシャルメモリの場所に格納されます。これはすべてのネイティブCPUタイプに当てはまります。

+0

他の方向では、古いアーキテクチャの中にはワードアドレス可能なメモリしかないと思います。古いARMでは、ワード内のバイトオフセットではなくローアドレスを使用してローテーションを指定していました。 Re:浮動小数点数、明らかに、Cは別の '__FLOAT_WORD_ORDER__'マクロを持っているため、浮動小数点数には整数の場合とは異なるエンディアンを使用していました。 (もちろん、それらは4つの連続したバイトに格納されていますが、明らかにすべての質問が尋ねています)。 –

+0

ARMはビットバンド領域を提供できます - ワードマップをビットマップにマップするメモリマップのセクション。これは主に、I/Oデバイスのビット単位でのアトミック操作をサポートすることを目的としています。 MIPSは、バイト命令(そのMCUアプリケーション特有の拡張の一部分)内のバイト内のアトミック・セット・ビットとアトミック・クリア・ビットとの同様の機能を提供し、3ビット・イミディエイト・フィールドはビットを指定し、変更 - 書き込み。私はいくつかの8ビットISAがビット単位のアクセスをサポートしていると思います。 –

+0

HP Saturnは電卓ではバイトの代わりに4ビットのアドレス(ニブル)を使用しますが、64ビットのレジスタを使用します。 古いメインフレームアーキテクチャやスーパーコンピュータアーキテクチャでは、ネイティブワードサイズのみを扱うことができます。例には、36ビット(IBM 701、DEC PDP-10)および60ビット(CDCサイバー)が含まれます。 現代のDSPは、バイトをアドレス指定する能力が不足していることが多く、浮動小数点と一部の限られた整数だけを処理することを好みます。 – orangetide

関連する問題