2016-03-28 55 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

所以支持設備。