基本的に、4Gb はどのようにして 4GB になるのでしょうか? メモリがBytesをアドレス指定している場合、可能性は 2 (32/8)ではないでしょうか?
3 に答える
それは、データをどのように処理するかによって異なります。
32 ビットを使用して各ビットをアドレス指定する場合、2 32ビットまたは 4Gb = 512MB をアドレス指定できます。現在のほとんどのアーキテクチャのようにバイトをアドレス指定すると、4GB になります。
しかし、はるかに大きなブロックをアドレス指定する場合、4GB をアドレス指定するために必要なビット数は少なくなります。たとえば、各 512 バイト ブロック (2 9バイト) をアドレス指定する場合、23 ビットで 4GB をアドレス指定できます。FAT16は 16 ビットを使用して (最大) 64KB のクラスターをアドレス指定するため、最大 4GB のボリュームをアドレス指定できます。同じことがJava Compressed Oopsで使用され、32 ビット参照で 32GB のメモリをアドレス指定できます。
一部の古いアーキテクチャでは、最近のほとんどのように、バイトではなくワード アドレス指定可能なメモリを使用しています。1 オクテットより大きいアドレス可能な最小単位を持つ最新のアーキテクチャは、主に DSP で見られます。Intel 8051 のようなビット アドレス指定可能なメモリを備えたアーキテクチャもいくつかあります。
最新のコンピューターのほとんどはバイトアドレス指定可能で、各アドレスはストレージの単一の 8 ビットバイトを識別します。1 バイトに格納するには大きすぎるデータは、一連の連続するアドレスを占有する複数のバイトに存在する場合があります。
最小のアドレス指定可能なストレージ ユニットが正確にプロセッサのワードである、ワード アドレス指定可能なコンピュータが存在します。たとえば、Data General Nova ミニコンピュータ、Texas Instruments TMS9900 および National Semiconductor IMP-16 マイクロコンピュータは 16 ビット ワードを使用し、18 ビット ワード アドレス指定を使用する多くの 36 ビット メインフレーム コンピュータ (PDP-10 など) がありました。バイト アドレッシングではなく、2 18 36 ビット ワードのアドレス空間、約 1 メガバイトのストレージを提供します。
メモリのアドレス指定の効率は、アドレスに使用されるバスのビット サイズに依存します。使用するビットが多いほど、コンピュータで使用できるアドレスが多くなります。たとえば、20 ビット アドレス バス (Intel 8086 など) を備えた 8 ビット バイト アドレス指定可能マシンは、2 20 (1,048,576) メモリ ロケーション、または 1 MiB のメモリをアドレス指定できますが、32 ビット バス (Intel 80386 など) ) 2 32 (4,294,967,296) ロケーション、または 4 GiB アドレス空間に対応します。
チップ上の電気的インターフェイスは、アドレス用のワイヤ (たとえば 32 本のアドレス ライン) とデータ用のワイヤ (たとえば、RAM からの読み取りデータ用の 8 本のワイヤ、RAM への書き込みデータ用の 8 本のワイヤ) で構成されています (非常に単純化されています)。 . この場合、8 ビットの 2 32ワードがあるため、2 32 *8 ビットのデータをアドレス指定できます。
代わりにワード幅が 16 ビットの RAM がある場合 (8 ビットよりも可能性が高い)、同じ数のアドレス ビットで 2 倍の RAM をアドレス指定できます。最新のシステムでは、実際に「1 バイトを読み取る」ことはできませんが、代わりに CPU が RAM からキャッシュ ライン全体をフェッチし、要求したバイトだけを返します。