某计算机采用段页式虚拟存储器,已知虚拟地址为32位,按字节编址,每个段最多可以有2K页,页大小为16KB,物理主存储容量为512MB。请回答: 1) 虚拟存储器的容量是多少? 2) 给出逻辑地址结构并说明理由。 3) 计算逻辑地址0X4EB9FDE3的段号,段内页号及页内偏移值(结果用十六进制表示)。
时间: 2024-02-19 22:02:09 浏览: 39
1) 虚拟存储器的容量为:2^32 字节 = 4GB
2) 逻辑地址结构为:前10位表示段号,中间11位表示段内页号,最后11位表示页内偏移。理由是每个段最多可以有2K页,需要11位二进制数来表示页号。
3) 逻辑地址0X4EB9FDE3的前10位为 0X12F (4EB9FDE3B 的前10位),表示段号为0X12F。中间11位为 0X17C (4EB9FDE3B 的中间11位),表示段内页号为0X17C。最后11位为 0XDE3 (4EB9FDE3B 的最后11位),表示页内偏移为0XDE3。因此,逻辑地址0X4EB9FDE3的段号为0X12F,段内页号为0X17C,页内偏移为0XDE3。
相关问题
某计算机字长为32位,其存储容量是64KB,若按字编址,则存储器地址有多少位?
64KB 表示存储器中有64×1024个存储单元,每个存储单元的字长为32位。按字编址,则需要一个地址来表示一个存储单元,因此存储器地址的位数为 log2(64×1024) = log2(65536) = 16 位。因为一个字长为32位,所以整个地址总共需要16+5=21位。其中,16位用于表示存储单元地址,5位用于表示字内偏移地址。
设有一个 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。