32ビットOSを想定します。
コンピュータの1つのメモリ位置にどのくらいのデータが格納されていますか?
コンピュータのメモリストレージの基本単位は何ですか?
たとえば、整数を格納するには、必要なメモリアドレスは何ですか?基本単位がBYTEの場合、整数には4バイトが必要です。したがって、バイトを格納する必要がある場合、メモリ位置0001に最初のバイトを入れ始めると、整数は0003メモリ位置で終了しますか?
間違っていたら訂正してください。
最も一般的には、最新のシステムは「バイトアクセス可能」と呼ばれるものです。これは次のことを意味します。
システムのCPUワードサイズは異なりますが(32ビットシステムには32ビットまたは4バイトのワードがあります)、メモリは通常バイト単位でアドレス指定されます。算術演算で使用されるCPUのレジスタは4バイトですが、データストレージに使用する「メモリ」プログラマはバイト単位でアドレス指定されます。
X86システムでは、多くのメモリアクセス命令では、メモリ内の値を、ワールドサイズで均等に割り切れるアドレスに「整列」させる必要があります。例えば0x ??? 0、0x ??? 4、0x ??? 8、0x ??? C。したがって、intを0001に格納することは、ほとんどのシステムでは発生しません。数値以外のデータ型は通常、任意のアドレスで見つけることができます。
ウィキペディアを参照してください: 配置ワード(コンピューティング)メモリアドレス
コンピュータの1つのメモリ位置にどれだけのデータが格納されていますか?
コンピュータによって異なります。 メモリ位置は、CPUが直接アドレス指定できるメモリの一部を意味します。
コンピュータのメモリストレージの基本単位は何ですか?
Bit 、次に Byte ですが、CPUが異なれば、words のメモリをアドレス指定する方が快適です。 特定のサイズ。
たとえば、整数を格納するには、必要なメモリアドレスは何ですか?基本単位がBYTEの場合、整数には4バイトが必要です。
数学では、整数は無限大であるため、それらのすべて/いずれかを表すには無限のメモリが必要です。整数を表すために使用するメモリの量についてコンピュータアーキテクチャが行う選択は任意です。結局、整数がどのように表現され操作されるかについての論理は、たとえそれがファームウェアに埋め込まれていても、ソフトウェアにあります。プログラミング言語Pythonには、整数の無制限の表現があります(ただし、 googol を試さないでください)。
結局、すべてのコンピュータアーキテクチャでは、なんらかの方法で Byte または Bit レベルまでアドレス指定できますが、通常はビットサイズと一致するワードサイズのアドレスで最適に動作します。 CPUレジスタの。
データの量や整数のサイズではなく、コンピュータが使用できるメモリアドレスの数です。
32ビットには4GiBアドレス(バイト用)があります。 4GiBを超えるRAMを搭載したマシンのクラスターを管理するには、各システムでより大きなアドレスを管理する必要があります。
繰り返しますが、それはすべてアドレス可能なメモリ空間に関するものであり、整数のサイズに関するものではありません。 CPUが8ビットのワードアドレス指定を優先する場合でも、64ビットの整数がありました。