在MIPS处理器中,I / O地址空间0xffff0000到0xffffffff保留用于内存映射I / O.假设I / O设备需要3个,1个和4个32位字用于控制,状态和数据寄存器。可以支持多少个I / O设备?
正确答案是2048,但我得到了8192.
我的思考过程: 减去这两个空格以检索所需的内存量 ffffffff - ffff0000 = 0000ffff = 65535位= 2 ^ 16 - 1 然后除以32位并乘以8,但这显然是错误的。
有人可以指导我完成步骤以获得正确的答案吗?谢谢
答案 0 :(得分:2)
每个设备都使用:(3+1+4) * 32 bits = 8 * 4 bytes = 32 bytes
可用内存区域以字节为单位,而不是位:2 ^ 16 = 65536 bytes
因此,你有:65536 bytes / 32 bytes = 2048
。
支持 2048 设备。