查看“I/O Ports”的源代码
←
I/O Ports
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
“I/O端口” 通常用作x86的IO总线上特定地址的技术术语。 该总线以固定的顺序和大小提供与设备的通信,并被用作内存访问的替代方法。 在许多其他体系结构上,没有用于此类通信的预定义总线,并且与硬件的所有通信都是通过内存映射的IO完成的。 在现代x86硬件上也越来越多地发生这种情况。 == 寻找端口列表 == 作为操作系统开发人员,“您不应该寻找这个”。“标准化” I/O端口仅在某些情况下使用,例如PCI之前存在的硬件 (AT和兼容等)。) PC硬件。 使用 “标准化” I/O端口的设备示例是 [[软盘控制器 | 软盘驱动器]],[[串行端口 | 串行]] 和 [[并行端口 | 并行]] 端口,但是,大多数端口都是由插件卡 {{其中}} 声明的,您可能没有,有些 {{其中}} 甚至是通过PNP分配的,这意味着任何端口都可以用于所讨论的设备。 如果您想访问一个设备,您需要查找有问题的设备的详细信息,如果涉及某个固定端口,它会告诉您。 将端口完整映射到设备在技术上是不可行的,因为您将无法访问它。 == 端口滥用 == 一些设备 {{其中}} 便宜,并且不解码所讨论的I/O端口的所有地址位 (仅底部12或14)。这意味着最多有16个端口地址映射到同一设备。 That means that there are up to sixteen port addresses mapping to the same device. 类似地,某些设备已选择通过使用稀疏寄存器文件来避免与此类设备发生冲突。 底部位将定义为常量,而 “顶部位” 将用于索引。 您将获得端口编号 <tt>0x82E8</tt> 、 <tt>0x84E8</tt> 、 <tt>0x86E8</tt> 等等。 这样的ISA设备通常容易干扰 [[PCI]] 分配的IO地址,因为它们的扩展。 旧设备的现代实现 (通常是IDE和VGA控制器) 具有一种实现,该实现被提及与移动寄存器即插即用,但它们仍然能够侦听遗留端口并做出相应的响应。 == The list == If you have found a port number and you are still wondering what it's meant to do, here's a list of the most common ports: {| {{Wikitable}} |- !Port range !Summary |- |0x0000-0x001F | 第一个legacy [[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的家 | E9港黑客]]。在某些模拟器上用于直接将文本发送到主机的控制台。 |- |0x0170-0x0177 | 辅助 [[ATA]] 硬盘控制器。 |- |0x01F0-0x01F7 | 主 [[ATA]] 硬盘控制器。 |- |0x0278-0x027A | 并行端口 |- |0x02F8-0x02FF | 第二个 [[串行端口 | 串行端口]] |- |0x03B0-0x03DF | 用于 [[VGA硬件 | IBM VGA]],其直接前身以及传统模式下的任何现代视频卡的范围。 |- |0x03F0-0x03F7 |[[FDC | 软盘控制器]] |- |0x03F8-0x03FF | 第一个 [[串行端口 | 串行端口]] |} == 另见 == === External Links === * [http://bochs.sourceforge.net/techspec/PORTS.LST Bochs' map of I/O ports to functions] [[Category:X86]]
本页使用的模板:
模板:Which
(
查看源代码
)
模板:Wikitable
(
查看源代码
)
返回至“
I/O Ports
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息