这是否意味着I / O设备的缓冲区在总内存空间中分配地址,就像分配主内存的字节一样?
答案 0 :(得分:2)
基本上就是这样。您有I / O设备监视处理器的地址线(以及数据线和控制线)以“捕获”某些地址并对其进行操作。
例如,您可能有一个内存映射键盘设备(使用地址0xff00
),它基本上从物理键盘收集击键并缓冲它们以供处理器接收。
因此,当它在地址线上看到地址0xff00
并且读取信号(例如memio
行和r/not-w
行都变高时(表示需要读取内存) ),它会将按键的代码注入数据线,并通知处理器读取它。
如果没有缓冲按键,它可能只返回0的代码(完全取决于协议)。
答案 1 :(得分:1)
差不多。并不是必须映射实际的外围硬件缓冲区,而是OS / Mapper会以某种方式处理它。