個々のビットは、それを含むバイトのアドレスを読み取り、バイトを変更し、必要に応じて書き戻すことによってアクセスされます。
一部のアーキテクチャでは、アドレス指定可能な最小単位はダブル ワードであり、この場合、1 バイトに「そのまま」アクセスすることはできません。理論的には、32 ビットの一意のアドレスで 16 GB のメモリをアドレス指定するアーキテクチャを設計できます。また、ハード ドライブのアドレス指定可能なユニットが 512 バイト セクタの 2^28 ユニット程度に制限されていた数年前にも、同様のことが起こりました。
PC に 32 ビット ポインターがあると言っても過言ではありません。新しいモデルは内部的に 64 ビット システムであり、OS によっては最大 2^48 バイトのメモリにアクセスできるため、これは少し古い情報です。現在、ほとんどの既存の PC は 32 ビットであり、それについては何もできません。
さて、StuartLC はページングについて残っていました。現在の 32 ビット システムでも、古いセグメント レジスタを使用して 48 ビットのアドレス指定を使用できます。(セグメントレジスタの下位3ビットがゼロであるという制限があったかどうか思い出せません...)とにかく、それは個々のアドレスの2 ^ 45バイトを許可し、そのうちのごく一部がメインメモリに同時に存在する可能性があります. そのアドレッシング モードをサポートする OS が開発された場合、おそらく完全な 64 ビットがポインターに割り当てられます。今日の 64 ビット プロセッサと同じように。