Memory 字寻址系统中使用32位地址的内存访问

Memory 字寻址系统中使用32位地址的内存访问,memory,computer-science,cpu-architecture,Memory,Computer Science,Cpu Architecture,我只是想确认我对内存访问的工作原理有一个正确的理解 假设我有一个64位字的字寻址存储系统。 使用32位地址大小可以访问多少内存 一个64位的字是8字节,所以我们处理的是一个8字节的字。 一个8字节的字最多可容纳2^8(256) 假设我们有一个32位地址,我们有2^32,但由于每个字占用其中的256个,(2^32)/256=1677216字节 用公制表示,我们有2^24=(2^4)*(2^20)=16MB 这是正确的方法吗?32位地址提供4294967296个可能的地址。如果最小的可寻址元素是一个

我只是想确认我对内存访问的工作原理有一个正确的理解

假设我有一个64位字的字寻址存储系统。
使用32位地址大小可以访问多少内存

一个64位的字是8字节,所以我们处理的是一个8字节的字。
一个8字节的字最多可容纳2^8(256)

假设我们有一个32位地址,我们有2^32,但由于每个字占用其中的256个,(2^32)/256=1677216字节

用公制表示,我们有2^24=(2^4)*(2^20)=16MB


这是正确的方法吗?

32位地址提供4294967296个可能的地址。如果最小的可寻址元素是一个64位==8字节的字(相对于一个字节),那么可寻址空间的总量将是4294967296 x 8=34359738368字节=34GB

8字节字的容量是8字节,而不是2^8=256字节


请注意,一些旧计算机确实有一个只寻址单词的基本寻址系统。字节访问需要字节索引或与基于字的地址的偏移量。我认为目前没有任何计算机使用这种方案。

32位地址提供4294967296个可能的地址。如果最小的可寻址元素是一个64位==8字节的字(相对于一个字节),那么可寻址空间的总量将是4294967296 x 8=34359738368字节=34GB

8字节字的容量是8字节,而不是2^8=256字节


请注意,一些旧计算机确实有一个只寻址单词的基本寻址系统。字节访问需要字节索引或与基于字的地址的偏移量。我不认为当前的任何计算机都使用这样的方案。

您使用的是32位地址,这意味着2^32位可以被寻址,但如果您想要多少字节可以被寻址,那么只需将其像2^32/8=2^29一样分割,因为1个字节有8位 如果你想知道有多少个单词可以被寻址,那么2^29/8因为一个单词包含8个字节,所以2^26个单词可以被寻址

因为一个字是8字节,所以我们可以寻址(2^26)*8字节。
希望能有帮助

您使用的是32位地址,这意味着2^32位可以被寻址,但如果您想知道地址可以是多少字节,那么只需将其像2^32/8=2^29一样分割,因为1个字节有8位 如果你想知道有多少个单词可以被寻址,那么2^29/8因为一个单词包含8个字节,所以2^26个单词可以被寻址

因为一个字是8字节,所以我们可以寻址(2^26)*8字节。
希望能有帮助

值不会“占用”地址空间。您有2^32个邮箱,每个邮箱中存储了64个开/关开关。您总共有多少个交换机?值不会“占用”地址空间。您有2^32个邮箱,每个邮箱中存储了64个开/关开关。你们一共有多少个开关?我知道这是一个不同的问题,只是想看看我是否理解你们的相反说法。所以,如果每个字是64位,512MB需要多少地址位?是512mb=2^29,所以需要2^29/8=2^26位吗?@JeffreyDilley-Mb通常是指兆比特,你是指兆字节吗?假设MB,每个地址代表8个字节,那么对于512MB,你需要512MB/8=2^9(512)x2^20(兆字节)/2^3(每个字8字节)=2^(9+20-3)=2^26=67108864个地址,或者一个26位地址。我知道这是一个不同的问题,只是想看看我是否理解你的相反意思。所以,如果每个字是64位,512MB需要多少地址位?是512mb=2^29,所以需要2^29/8=2^26位吗?@JeffreyDilley-Mb通常是指兆比特,你是指兆字节吗?假设MB,每个地址代表8个字节,那么对于512MB,您需要512MB/8=2^9(512)x2^20(兆字节)/2^3(每个字8字节)=2^(9+20-3)=2^26=67108864地址,或者26位地址。这意味着2^32位可以寻址不,这意味着您有2^32个不同的地址,每个地址可以容纳一个整字,不只是一点点。如果您的总内存大小是2^32位(2^29字节=512MiB),那么您的答案是正确的,但问题不是这样说的。这意味着2^32位可以被寻址。不,这意味着您有2^32个不同的地址,每个地址可以容纳整个字,而不仅仅是一个位。如果您的总内存大小为2^32位(2^29字节=512MiB),那么您的答案是正确的,但问题并不是这样说的。