设有一个具有20位地址和32位字长的存储器,该存储器按字编址。问: (1)该存储器能存储多少个字节的信息? (2)如果存储器由128K×16位SRAM芯片组成,需要多少片? (3)需要多少位地址作为芯片选择?
时间: 2024-01-31 15:04:26 浏览: 64
(1) 由于该存储器按字编址,每个字包含32位,所以该存储器能存储的字数为 2^20 = 1,048,576 个字。因此,该存储器能存储的字节数为 1,048,576 × 4 = 4,194,304 个字节。
(2) 每个SRAM芯片的容量为 128K×16位 = 2,048K位。因此,存储器需要的SRAM芯片数量为 (4,194,304×8) ÷ 2,048K = 16 片(向上取整)。
(3) 由于需要 16 片 SRAM 芯片,因此需要使用 log2(16) = 4 位地址作为芯片选择。这是因为 2^4 = 16。因此,存储器的地址由 20 位地址和 4 位芯片选择组成。
相关问题
设有一个 1MB 容量的存储器,字长为 32 位,按字节编址,地址寄存器、数据寄存器各为几位?编址范围为多大?
由于字长为 32 位,则一个字可以存储 4 个字节。
1MB 容量的存储器,即有 $1 \times 1024 \times 1024$ 个字节。
按字节编址,则需要 $\log_2(1 \times 1024 \times 1024) = 20$ 位地址寄存器来寻址。
由于一个字长为 32 位,需要 4 个字节,因此数据寄存器需要 32 位 $\times$ 4 = 128 位。
编址范围为 0 至 $(2^{20}-1)$,即 0 至 1048575。
某计算机字长为32位,其存储容量是64KB,若按字编址,则存储器地址有多少位?
64KB 表示存储器中有64×1024个存储单元,每个存储单元的字长为32位。按字编址,则需要一个地址来表示一个存储单元,因此存储器地址的位数为 log2(64×1024) = log2(65536) = 16 位。因为一个字长为32位,所以整个地址总共需要16+5=21位。其中,16位用于表示存储单元地址,5位用于表示字内偏移地址。