一道机组的多选题,题目都没怎么看懂。。。

5、主存各存储单元的空间位置是由单元地址号来表示的,不同的机器存储字长也不相同,通常用8位二进制数表示一个字节,因此存储字长都取8的倍数。通常计算机系统即可以按字寻址,也可以按字节寻址。

如下所示,某机器1的字长为32位,它的每一个存储字包含4个可独立寻址的字节,其地址分配如下图(左)所示。某机器2的字长为16位,字地址是2的整数倍,它用低位字节的地址来表示字地址,如下图(右)所示。

以下说法正确的是:____

(2.0)

A、 设地址线24根,对于机器1,按字节寻址 2^24 = 16M

B、

设地址线24根, 对于机器2,按字寻址8M

C、 设地址线24根, 对于机器1,按字寻址4M

D、 设地址线24根, 对于机器1,按字寻址8M

E、 设地址线24根, 对于机器2,按字寻址4M

参考GPT和自己的思路:

正确答案是D、设地址线24根,对于机器1,按字寻址8M。

解析如下:

对于机器1,每一个存储字包含4个可独立寻址的字节,即字长为32位,也就是4个字节。因此,按字寻址时,每个地址对应的是一个32位的字。由此可以知道,在机器1中,有2^24个不同的字地址可寻址,即24根地址线。由于每个字包含4个独立寻址的字节,所以4个字节的地址也是按照字节寻址方式来处理的。因此,由24根地址线所能够寻址的最大存储空间为2^24 x 4B = 32MB,即按字寻址时,可以寻址的最大存储空间为8M。

对于机器2,字长为16位,即每个字可存储两个字节。因此,在按字寻址时,每个地址对应的是一个16位的字。由此可以知道,在机器2中,有2^24个不同的字地址可寻址,即24根地址线。由于每个字存储的是两个字节,因此按字节寻址时,能够寻址的最大存储空间为2^24 x 2B = 64MB,按字寻址时能够寻址的最大存储空间为8M。因此,选项B是错误的。

参考GPT和自己的思路:

正确答案为D、设地址线24根, 对于机器1,按字寻址8M。

由题可知,机器1字长为32位,每个字包含4个字节,因此每个字节占8位,即一个字包含32位,可寻址的字节为4个,而机器2的字长为16位,字地址是2的整数倍,所以每个字包含2个字节,可寻址的字为1个。

对于机器1按字寻址,每个字包含4个字节,即32位,需要24根地址线才能寻址2^24个字节,即8M字节。

而对于机器2,按字寻址,每个字包含2个字节,即16位,需要16根地址线才能寻址2^16个字,即64K字。

因此,正确答案为D。

参考GPT和自己的思路:

正确答案为D、设地址线24根,对于机器1,按字寻址8M。

解释:

  • 对于机器1,每个存储字包含4个字节,也就是32位,因此地址范围是 $2^24$ = 16M,但是题目要求按字寻址,也就是以32位为单位,因此地址范围要除以4,即为8M。
  • 对于机器2,字地址是低位字节的地址,因此每个字地址包含两个字节,也就是16位,因此地址范围是 $2^24$ = 16M,但是题目要求按字寻址,也就是以16位为单位,因此地址范围要除以2,即为8M。因此选项B是错误的,正确答案是D。