2016-03-28 54 views
2

在MIPS处理器中,I/O地址空间0xffff0000到0xffffffff被保留用于内存映射I/O。假设一个I/O设备需要3,1和4个32位字来分别控制,状态和数据寄存器。可以支持多少个I/O设备?MIPS处理器I/O设备支持

正确答案是2048,但我得到了8192

我的思维过程: 减去两个空间,以获取所需的内存量 FFFFFFFF - FFFF0000 = 0000FFFF = 65535位= 2^16 - 1 然后除以32位并乘以8,但显然是错误的。

有人可以引导我通过步骤获得正确答案吗?谢谢

回答

2

每个设备使用:(3+1+4) * 32 bits = 8 * 4 bytes = 32 bytes

可用存储区域的单位是字节,而不是位:2^16 = 65536 bytes

因此,您有:65536 bytes/32 bytes = 2048

所以支持设备。