内存映射I/O与端口映射I/O.

Joh*_*ing 7 architecture memory io cpu assembly

存储器映射I/O是一种允许使用中央存储器(RAM)与外围设备通信的技术.端口映射I/O使用端口(带有特殊汇编指令)通过数字端口进行通信.

一种方法相对于另一种方法有什么优势?

Sil*_*Sil 12

正如克苏鲁所说,

  • 内存映射I/O允许写入/读取I/O设备端口与读取/写入普通内存相同(使用相同的机器代码/ asm)

但是有一个缺点:

  • 耗尽物理内存地址空间用于内存映射的I/O设备(想想32位Windows无法访问PC上的所有4G内存)

因此,使用端口映射I/O方法的一个优点是,您的I/O设备具有单独的地址空间,您可以使用整个内存寻址范围来访问内存.

编辑:这是一个更完整的问题的答案:硬件端口到内存地址