如果我有一个内存映射的I/O设备,我想要写入位于地址
但是对于端口映射的I/O设备(例如:串口),如果我想要写入位于地址
编辑:我使用的是x86架构。
0x16D34
的该设备寄存器,那么0x16D34
地址实际上是虚拟地址。CPU会首先将其转换为物理地址,然后再将数据写入物理地址。但是对于端口映射的I/O设备(例如:串口),如果我想要写入位于地址
0x3F8
的该设备寄存器,那么0x3F8
地址是物理地址还是虚拟地址呢?
编辑:我使用的是x86架构。
0x3F8
,那么数据就会被写入地址0x3F8
,而不是某个经过翻译的地址,对吗? - Steve0x3F8
不是一个地址,它是什么数字?我已经在任何地方都读到了它是串行/COM端口的基础地址。 - Steve