cpu-architecture - MIPS 处理器 I/O 设备支持

标签 cpu-architecture

在 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,但这显然是错误的。

有人可以指导我完成这些步骤以获得正确答案吗?谢谢

最佳答案

每个设备使用:(3+1+4) * 32 位 = 8 * 4 字节 = 32 字节

可用内存区域以字节为单位,而不是位:2^16 = 65536 字节

因此,您有:65536 字节/32 字节 = 2048

因此支持 2048 设备。

关于cpu-architecture - MIPS 处理器 I/O 设备支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36255051/

相关文章:

c - 为什么 CPU 在字边界上访问内存?

linux - 如何记录每次内存访问的时间戳痕迹?

c++ - 在哪些架构上计算无效指针是不安全的?

caching - CPU如何通过TLB和缓存发出数据请求?

exception - 当#GP 从 v8086 模式启动时,处理器是否将错误代码推送到 ring0 堆栈?

debugging - 调试器/异常如何在已编译的程序上工作?

c++ - memory_order_consume 到底有什么作用?

c - 处理器是否具有首先针对或主要针对 C/C++ 语言的优化和架构偏好?

c - 64位机器中的对齐不是8字节

维基百科 "Reconfigurable computing"代码示例可以在像 Haskell 这样的高级编译器中解决吗?