![内存映射寄存器,它是如何工作的](https://linux22.com/image/1570021/%E5%86%85%E5%AD%98%E6%98%A0%E5%B0%84%E5%AF%84%E5%AD%98%E5%99%A8%EF%BC%8C%E5%AE%83%E6%98%AF%E5%A6%82%E4%BD%95%E5%B7%A5%E4%BD%9C%E7%9A%84.png)
当操作系统定义内存映射时,例如 APIC 被映射到某个地址,当程序发出汇编 STA 地址值时,如何确保 DDR 控制器拒绝该地址,设备(即 APIC)如何知道该地址与其寄存器相关,以便它可以接受数据总线上的数据?这是用 OCW/ICW 设置的吗?从更大的角度来看,所有设备是否都有一些操作系统需要配置的板载内存映射表?
当操作系统定义内存映射时,例如 APIC 被映射到某个地址,当程序发出汇编 STA 地址值时,如何确保 DDR 控制器拒绝该地址,设备(即 APIC)如何知道该地址与其寄存器相关,以便它可以接受数据总线上的数据?这是用 OCW/ICW 设置的吗?从更大的角度来看,所有设备是否都有一些操作系统需要配置的板载内存映射表?