【发布时间】:2020-04-19 13:22:56
【问题描述】:
我正在学习内存映射 IO。到目前为止,我已经了解到 CPU 读写特定的内存地址以写入或读取到某个 IO 设备。在传统方式中,IO 设备用于生成中断,这就是 CPU 过去如何知道 IO 设备已完成处理并且它有结果要被 CPU 消耗的方式。
但是在内存映射 IO 中没有这样的规定,对吧?因此,根据我的知识(这没有意义)来读取 IO 设备是否向 CPU 提供了任何结果,或者 CPU 是否需要每次都去读取内存。那不是很糟糕吗?这比投票更糟糕,对吧?因为它增加了从内存中读取的周期。
我在这里缺少什么?请帮忙。
【问题讨论】:
-
你混淆了两个不相关的问题,中断和内存映射。
-
中断和内存映射 I/O 不是互斥的。您认为中断处理程序如何检索“结果”?您将中断驱动的 I/O 与轮询 I/O 进行比较。现代或旧处理器如何工作也不是问题,所有处理器都可以使用;这是一个软件设计决策,而不是架构约束。你真的偏离了轨道。
标签: embedded