问题描述
内存映射 I/O 是一种允许使用中央内存 (RAM) 与外围设备通信的技术.端口映射 I/O 使用端口(带有特殊的汇编指令)通过数字端口进行通信.
Memory mapped I/O is a technique which allows the use of central memory (RAM) to communicate with peripherals. Port mapped I/O uses ports (with special assembly instructions) to communicate over digital ports.
一种方法相对于另一种方法的优点是什么?
What are the advantages of one method with respect to another?
推荐答案
正如克苏鲁所说,
- 内存映射 I/O 允许对 I/O 设备端口的写入/读取与对普通内存的读取/写入相同(使用相同的机器代码/asm)
但有一个缺点:
- 您为内存映射的 I/O 设备使用了物理内存地址空间(想想 32 位 Windows 无法访问 PC 上的所有 4G RAM)
因此,使用端口映射 I/O 方法的一个优点是您为 I/O 设备提供了一个单独的地址空间,并且您可以使用整个内存寻址范围来访问内存.
So an advantage of using the port mapped I/O method is that you have a separate address space for your I/O devices and you can use the whole memory addressing range to access memory.
这是对您的问题的更完整答案:硬件端口到内存地址
Here is a more complete answer to your question: hardware ports to memory addresses
这篇关于内存映射 I/O 与端口映射 I/O的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!