サイズが 16 ビットのアドレス レジスタ (たとえば、MAR) を備えたコンピュータがあるとします。このコンピュータでアドレス可能な最小単位はワードで、各ワードのサイズは 2 バイトです。このシステムがサポートできる最大メモリ サイズ (バイト単位) は?
2^16 = 65536 バイトになると思っていたのですが、アドレス可能な最小単位の部分は、これでは解決できないことを暗示しています。
前もって感謝します
サイズが 16 ビットのアドレス レジスタ (たとえば、MAR) を備えたコンピュータがあるとします。このコンピュータでアドレス可能な最小単位はワードで、各ワードのサイズは 2 バイトです。このシステムがサポートできる最大メモリ サイズ (バイト単位) は?
2^16 = 65536 バイトになると思っていたのですが、アドレス可能な最小単位の部分は、これでは解決できないことを暗示しています。
前もって感謝します
システムがサポートできるメモリの最大量とアドレス レジスタのサイズに直接的な相関関係はありません。
30 年前の 16 ビット コンピュータは、64 キロバイト以上を十分にサポートできました。一方、最新の 64 ビット プロセッサには通常、52 ビット (またはそれ以下) のレーンしかありませんが、それでも一般的なコンピューターは 2^52 バイトのメモリをほとんどサポートできません。
今日の典型的な 64 ビット コンピューターは、理論的には 16 エクシバイトをアドレス指定できますが、現在の CPU は 4 ペタバイトの物理メモリと 256 テラバイトのプロセスごとの仮想メモリしかサポートしていません。特別に高価な DIMM を購入した場合、一般的なデスクトップ メインボードは最大 128GiB をサポートします。手頃な価格の DIMM を使用すると、約半分に制限されます (非常に多くのスロットしかありません)。
オペレーティング システムでは通常、数百ギガバイトのメイン メモリ サイズのみが許可されます (たとえば、Windows 8 エンタープライズ/プロフェッショナルでは 512 GiB、それ以外では 128 GiB、Windows 7 Home Premium ではわずか 16 GiB)。
一般に、アドレス指定可能な最小サイズは、計算したように 1 バイトです。1 バイトの場合、2^16*1 = 65536 バイトになります。ただし、このシステムではアドレスごとに 2 バイトあるため、実際には 2^16*2 = 131072 バイトになります。