Linuxでのアドレス指定

Linuxでのアドレス指定

アドレス指定とメモリを理解しようとしています。 「組み込みLinux入門」という本ではこう述べています。

helloというプロセスは、256MB境界(0x10000418)より高いRAMのどこかで実行されていると思います。また、スタックアドレスは32ビットアドレス空間の約半分で、256MB RAM(0x7ff8ebb0)をはるかに超えています。どうやって?このようなシステムでは、DRAMは通常連続している。一般的な観察者には、ほぼ2 GBのDRAMを使用できるようです。これらの仮想アドレスはカーネルによって割り当てられ、Yosemiteマザーボードの利用可能なメモリ256 MB内の物理RAMによってサポートされています。

上記の記述に関連するコードと出力を添付しました。

32ビットアドレス指定がどのように2GBのメモリに変換されるかを知りたいです。各アドレスが4ビットメモリで構成されている場合、0〜0xFFFFFFFFは2GBメモリに変換されます。

計算: 0XFFFFFFFF は 10 進数で 4294967295 です。アドレスあたり4ビット。つまり、(4294967295*4)/8 = 2147483647.5バイト= 2.1GBです。

  1. 各アドレスは4ビットのメモリを保持できます。そうですか?
  2. アドレスあたりのビット数はどのように決定されますか?

ありがとう

パスワード出力

ベストアンサー1

おすすめ記事