查看“I/O Ports”的源代码
←
I/O Ports
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
“I/O端口” 通常是用作x86的IO总线上特定地址的技术术语。 该总线以固定的顺序和大小提供与设备的通信,并被用作内存访问的替代方法。 在许多其他体系结构上,没有用于此类通信的预定义总线,并且它们与硬件的所有通信都是通过映射到内存地址的IO完成的。 在现代x86硬件上也越来越多地发生这种情况。 == 寻求端口列表 == 作为操作系统开发人员,“你不应该主动寻求它”。 I/O端口仅在某些情况下使用,例如PCI之前存在的PC硬件 (AT和兼容设备等)。 使用 “标准化” I/O端口的设备的例子有 [[Floppy Disk Controller | 软盘驱动器]],[[Serial Ports| 串行]] 和 [[Parallel port| 并行]] 端口,但是大多数端口都是由你可能都没有的插卡 {{which}} 声明的,有些 {{which}} 甚至是通过PNP分配的,这意味着任何端口都可以用于所讨论的设备。 如果你想访问一个设备,你需要查找有问题的设备的详细信息,如果涉及某个固定端口,它会告诉你。 将端口事先完整映射到设备在技术上是不可行的,因为你将无法访问它。 == 端口滥用 == 一些较为廉价的设备 {{which}} ,并且不解码所讨论的I/O端口的所有地址位 (仅底部12或14)。 这意味着最多有16个端口地址映射到同一设备。 类似地,某些设备已选择通过使用稀疏寄存器文件(sparse register file)来避免与此类设备发生冲突。 底部位被定义为常量,而 “顶部位” 用于索引。 你将获得端口编号 <tt>0x82E8</tt> 、 <tt>0x84E8</tt> 、 <tt>0x86E8</tt> 等等。 这样的ISA设备通常因为它们的扩展容易干扰 [[PCI]] 分配的IO地址。 旧设备的现代实现 (通常是IDE和VGA控制器) 具有一种实现,该实现会被当作带移动寄存器的即插即用(plug-and-play )设备提及,但它们仍然能够侦听遗留端口并做出相应的响应。 == 列表 == 如果你遇到了一个端口号,仍想知道它的含义,这里列出最常见的端口: {| {{Wikitable}} |- !端口范围 !简要说明 |- |0x0000-0x001F | 第一个遗留的 [[ISA DMA | DMA控制器]],通常用于软盘传输。 |- |0x0020-0x0021 | 第一个 [[PIC | 可编程中断控制器]] |- |0x0022-0x0023 | 访问Cyrix处理器的特定于模型的寄存器。 |- |0x0040-0x0047 | [[PIT]] (可编程间隔定时器) |- |0x0060-0x0064 | [[“8042” PS/2控制器]] 或其前身,处理键盘和鼠标。 |- |0x0070-0x0071 | [[CMOS]] 和 [[RTC]] 寄存器 |- |0x0080-0x008F | [[DMA]] (页面寄存器) |- |0x0092 | 快速 [[A20]] 门寄存器的位置 |- |0x00A0-0x00A1 | 第二 [[PIC]] |- |0x00C0-0x00DF | 第二个 [[DMA]] 控制器,常用于soundblasters设备 |- |0x00E9 | [[Bochs | Port E9 Hack]]。在某些模拟器上用于直接将文本发送到主机的控制台。 |- |0x0170-0x0177 | 辅助 [[ATA]] 硬盘控制器。 |- |0x01F0-0x01F7 | 主 [[ATA]] 硬盘控制器。 |- |0x0278-0x027A | 并行端口 |- |0x02F8-0x02FF | 第二个 [[串行端口 | 串行端口]] |- |0x03B0-0x03DF | 用于 [[VGA Hardware| IBM VGA]],其直接前身以及传统模式下的任何现代视频卡的范围。 |- |0x03F0-0x03F7 |[[FDC | 软盘控制器]] |- |0x03F8-0x03FF | 第一个 [[串行端口 | 串行端口]] |} == 另见 == === External Links === * [http://bochs.sourceforge.net/techspec/PORTS.LST bochs的I/O端口到功能的映射] [[Category:X86]]
本页使用的模板:
模板:Which
(
查看源代码
)
模板:Wikitable
(
查看源代码
)
返回至“
I/O Ports
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息