某计算机字长为32位,其存储容量是64KB,若按字编址,则存储器地址有多少位?
时间: 2024-01-13 22:05:30 浏览: 797
64KB 表示存储器中有64×1024个存储单元,每个存储单元的字长为32位。按字编址,则需要一个地址来表示一个存储单元,因此存储器地址的位数为 log2(64×1024) = log2(65536) = 16 位。因为一个字长为32位,所以整个地址总共需要16+5=21位。其中,16位用于表示存储单元地址,5位用于表示字内偏移地址。
相关问题
某计算机字长为32位,其存储容量是64KB,若按字编址,则存储器地址有多少位?(只填数字)
16位。
64KB = 64 × 1024 字节 = 2^16 × 2^3 字节 = 2^19 字节
因为按字编址,所以一个字占32位,即4个字节。
所以,存储器的字数为 2^19 / 4 = 2^17 个字。
因为 2^17 = 131072,所以需要 17 位地址线才能寻址这么多字。
但题目中问的是存储器地址有多少位,而一个字对应一个地址,所以答案是 17 × 4 = 68 位,即需要 68 条地址线才能寻址整个存储器。但由于没有 68 位的存储器地址线,所以通常采用更高效的方式进行寻址。
11.某机字长为32位,其存储容量是64KB,按字编址的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。
根据题意可知,该机的存储容量为64KB,即$2^{16}$字节,字长为32位,即4字节。因此,存储器中总共有$2^{16}/4=2^{14}$个字。
按字编址,则寻址范围为0~$2^{14}-1$,即0~16383。
若主存以字节编址,则每个字节都有一个唯一的地址,可以用二进制数表示,其中低16位为该字节在字中的偏移量,高位为该字所在的字的地址。因此,一个字节的地址范围为0~$2^{16}-1$,一个字的地址范围为0~$2^{16}-1$,且必须为4的倍数。
下表为主存字地址和字节地址的分配情况:
| 主存字地址 | 字节地址范围 |
|------------|--------------|
| 0 | 0~3 |
| 1 | 4~7 |
| ... | ... |
| 16383 | 65532~65535 |
阅读全文