内存映射 I/O 与端口映射 I/O [英] Memory mapped I/O vs Port mapped I/O

查看:44
本文介绍了内存映射 I/O 与端口映射 I/O的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

内存映射 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆